Boost Software License 1.0

项目介绍

AngusJohnson/Clipper2 是一个托管在 GitHub 上的开源项目,主要使用 C++ 编写,采用 Boost Software License 1.0 许可证,目前获得 2.5k 个 Star、476 次 Fork。

仓库全名
AngusJohnson/Clipper2
开源许可证
Boost Software License 1.0
Star 数
2.5k
Fork 数
476
未关闭 Issue
39

README 摘要

Clipper2 The future of Clipper development is now here. The bad news: As of now I’m retiring from Clipper2 development. While this Clipper2 repository will remain, it will not be updated. So please don't post new Issues or Pull Requests here. The good news: I’m delighted to announce that Seth Hillibrand has agreed to take over Clipper maintenance and development, and this will continue at the link above. The long…

完整内容见 GitHub 原始 README 或本页 。

常见问题

Clipper2 用什么语言开发?

主要使用 C++ 编写,采用 Boost Software License 1.0 许可证,目前有 2.5k 个 Star。

Clipper2 可以免费商用吗?

仓库标注的许可证为 Boost Software License 1.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 Clipper2 的源码?

可以直接克隆仓库:git clone https://github.com/AngusJohnson/Clipper2.git,默认分支为 main;安装与运行步骤见仓库 README。

Clipper2 最近还在维护吗?

仓库最近一次更新为 1 周前,当前有 39 个未关闭 Issue;Star 数为 2.5k,可作为社区活跃度的参考。

README

Clipper2

The future of Clipper development is now here.

The bad news: As of now I’m retiring from Clipper2 development. While this Clipper2 repository will remain, it will not be updated. So please don’t post new Issues or Pull Requests here.
The good news: I’m delighted to announce that Seth Hillibrand has agreed to take over Clipper maintenance and development, and this will continue at the link above.

The long version:
Software development has been a wonderful hobby of mine for almost 50 years. I started Clipper more than 15 years ago, and it has been 15 years of fun and challenge. But over the last few months I’ve come to realise that the challenge has gone, and it has just become a responsibility.
So I’m passing the baton. And I’m delighted to announce Seth Hillibrand has agreed to pick it up and will be taking over Clipper’s ongoing maintenance and development. Seth is the founder and lead developer of KiCad Services, and has used Clipper almost from the beginning. I’m extremely confident that he has the skills and temperament to see Clipper continue to improve. But Clipper will, however, become a C++ only library; it will be up to third parties to translate Clipper into other languages, or to use it as a dynamic linked library.

Transitioning to the new Clipper2 repository:
I suggest that those who have contributed Pull Requests do so again here.
And I suggest that those who have raised Issues also resubmit them here or, even better, consider converting them into Pull Requests if you are able to do the debugging.

Finally, as I said above, creating and developing Clipper has been a lot of fun. I have learned so much from you, the library’s users, and from your code contributions. And that has been enormously encouraging. Thank you.


A Polygon Clipping, Offsetting 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. This is a major update of my original Clipper library that was written about 15 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. (The C++ compiled code is measurably faster so, where performance is critical, even C# and Delphi developers may prefer this approach in application development.)

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


Ports to other languages

lang. link
golang https://github.com/epit3d/goclipper2
Haxe https://github.com/jeremyfa/Clipper2/tree/main/Haxe
Java https://github.com/micycle1/Clipper2-java/
Kotlin https://github.com/Monkey-Maestro/clipper2-kotlin
Lua https://github.com/Ark223/Clipper2-Lua
Rust https://github.com/larsbrubaker/clipper2-rust
Swift https://github.com/zyunlongz/clipper2-swift
TypeScript https://github.com/countertype/clipper2-ts
WASM https://github.com/ErikSom/Clipper2-WASM/

评论

暂无评论