To accommodate clipping paths with integer or floating point coordinates, the Clipper2 Library supports two simple path structures (ie Paths64 and PathsD). And likewise, there are two clipping classes Clipper64 and ClipperD that accommodate these two path types. Nevertheless it's important to note that PathsD paths will be converted to and from Paths64 paths during clipping, since all clipping is performed internally on Paths64 structures (see Robustness).
The PolyTree64 and PolyTreeD classes are read-only data structures. These structures are alternatives to Paths64 and PathsD to receive polygon clipping solutions. Their more complex tree structure exposes polygon ownership (ie which outer polygon contours contain holes and which holes contain other polygons etcetera, to any level of nesting). However, building Polytree objects does require more processing and reduces clipping performance by about 5-10%.
Finally, for most clipping operations you won't need to use the Clipper64 and ClipperD classes directly. The clipping functions in the Clipper unit (eg Intersect) nicely hide the mechanics of using these classes. Nevertheless you may need to use these classes directly for some clipping tasks (eg. when clipping open paths).
Robustness, Clipper64, ClipperD, PolyTree64, PolyTreeD, Clipper, Intersect, Paths64, PathsD
Copyright © 2010-2024 Angus Johnson - Clipper2 1.5.0 - Help file built on 26 Jan 2025