MCPcopy Create free account
hub / github.com/AngusJohnson/Clipper2

github.com/AngusJohnson/Clipper2 @Clipper2_2.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release Clipper2_2.0.1 ↗ · + Follow
1,371 symbols 3,318 edges 85 files 42 documented · 3% updated 2mo agoClipper2_2.0.1 · 2025-12-19★ 2,39616 open issues

Browse by type

Functions 1,204 Types & classes 167
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Clipper2

A Polygon Clipping, Offsetting and Triangulation library (in C++, C# & Delphi)

GitHub Actions C++ status C# License Nuget documentation

The Clipper2 library performs intersection, union, difference and XOR boolean operations on both simple and complex polygons. It also performs polygon offsetting, and Constrained Delaunay Triangulation. This is a major update of my original Clipper library that was written over 10 years ago. That library I'm now calling Clipper1, and while it still works very well, Clipper2 is just better.

Compilers

Clipper2 can be compiled using any one of three supported programming languages: C++, or C#, or Delphi Pascal. The library can also be accessed from other languages by dynamically linking to exported functions in the C++ compiled Clipper2 library. (Since the C++ compiled code is measurably faster, even C# and Delphi developers may prefer this approach in applications where the library's performance is critical.) | Lang. | Requirements | | --- | --- | | C++: | Requires C++17, or| | C#: | The library uses Standard Library 2.0 but the sample code uses .NET6, or| | Delphi: | Compiles with any version of Delphi from version 7 to current.|

Documentation

Extensive HTML documentation

Examples

Clipping

C++

https://github.com/AngusJohnson/Clipper2/blob/fa7add77364eb3877dd1b8caf9b3cbd5486347f6/CPP/Examples/SimpleClipping/SimpleClipping.cpp#L29-L34

C#

https://github.com/AngusJohnson/Clipper2/blob/fa7add77364eb3877dd1b8caf9b3cbd5486347f6/CSharp/Clipper2Lib.Examples/ConsoleDemo/Main.cs#L112-L116

Delphi

https://github.com/AngusJohnson/Clipper2/blob/fa7add77364eb3877dd1b8caf9b3cbd5486347f6/Delphi/Examples/Example1/Example1.dpr#L21-L26

clipperB

Inflating (aka Offsetting)

C++

https://github.com/AngusJohnson/Clipper2/blob/fa7add77364eb3877dd1b8caf9b3cbd5486347f6/CPP/Examples/Inflate/Inflate.cpp#L36-L47

C#

https://github.com/AngusJohnson/Clipper2/blob/fa7add77364eb3877dd1b8caf9b3cbd5486347f6/CSharp/Clipper2Lib.Examples/InflateDemo/Main.cs#L89-L100

Delphi

https://github.com/AngusJohnson/Clipper2/blob/fa7add77364eb3877dd1b8caf9b3cbd5486347f6/Delphi/Examples/Example2/Example2.dpr#L20-L31

rabbit rabbit_offset

Constrained Delaunay Triangulation

C++

https://github.com/AngusJohnson/Clipper2/blob/fa7add77364eb3877dd1b8caf9b3cbd5486347f6/CPP/Examples/Triangulation/Triangulation.cpp#L135-L138

C#

https://github.com/AngusJohnson/Clipper2/blob/fa7add77364eb3877dd1b8caf9b3cbd5486347f6/CSharp/Clipper2Lib.Examples/Triangulation/Main.cs#L110-L115

Delphi

https://github.com/AngusJohnson/Clipper2/blob/fa7add77364eb3877dd1b8caf9b3cbd5486347f6/Delphi/Examples/Triangulation/ClipperTri.dpr#L28-L33

coral3 coral3t


Ports to other languages

lang. link
Java https://github.com/micycle1/Clipper2-java/
TypeScript https://github.com/countertype/clipper2-ts
Kotlin https://github.com/Monkey-Maestro/clipper2-kotlin
golang https://github.com/epit3d/goclipper2
Lua https://github.com/Ark223/Clipper2-Lua
WASM https://github.com/ErikSom/Clipper2-WASM/

Core symbols most depended-on inside this repo

Shape

Method 821
Function 383
Class 134
Enum 33

Languages

C++51%
C#49%

Modules by API surface

CSharp/Clipper2Lib/Clipper.Engine.cs193 symbols
CPP/Clipper2Lib/src/clipper.engine.cpp130 symbols
CPP/Clipper2Lib/include/clipper2/clipper.engine.h72 symbols
CPP/Clipper2Lib/include/clipper2/clipper.core.h64 symbols
CSharp/Clipper2Lib/Clipper.cs62 symbols
CSharp/Clipper2Lib/Clipper.Core.cs60 symbols
CPP/Clipper2Lib/src/clipper.triangulation.cpp51 symbols
CSharp/Clipper2Lib/Clipper.Triangulation.cs50 symbols
CPP/Clipper2Lib/include/clipper2/clipper.export.h43 symbols
DLL/TEST_APPS/CSharp_TestApps/Clipper2Dll.Svg.cs37 symbols
CSharp/Clipper2Lib/Clipper.RectClip.cs37 symbols
DLL/TEST_APPS/CSharp_TestApps/Clipper2Dll.Core.cs36 symbols

For agents

$ claude mcp add Clipper2 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page