Miscellaneous data structures for interfacing with this library. More...
Classes | |
| struct | PolyVert |
| Polygon vertex. More... | |
| struct | Smoothness |
| Defines which edges to sharpen and how much for the Manifold.Smooth() constructor. More... | |
| struct | RayHit |
| Result of a ray cast query against a Manifold. More... | |
| class | ExecutionContext |
| Observe and control a long-running Manifold evaluation. More... | |
| struct | Box |
| Axis-aligned 3D box, primarily for bounding. More... | |
| struct | Rect |
| Axis-aligned 2D box, primarily for bounding. More... | |
| class | Quality |
| These static properties control how circular shapes are quantized by default on construction. More... | |
Typedefs | |
| using | SimplePolygonIdx = std::vector<PolyVert> |
| Single polygon contour, wound CCW, with indices. First and last point are implicitly connected. Should ensure all input is ε-valid. | |
| using | PolygonsIdx = std::vector<SimplePolygonIdx> |
| Set of indexed polygons with holes. Order of contours is arbitrary. Can contain any depth of nested holes and any number of separate polygons. Should ensure all input is ε-valid. | |
| using | SimplePolygon = std::vector<vec2> |
| Single polygon contour, wound CCW. First and last point are implicitly connected. Should ensure all input is ε-valid. | |
| using | Polygons = std::vector<SimplePolygon> |
| Set of polygons with holes. Order of contours is arbitrary. Can contain any depth of nested holes and any number of separate polygons. Should ensure all input is ε-valid. | |
Enumerations | |
| enum class | OpType : char { Add , Subtract , Intersect } |
| Boolean operation type: Add (Union), Subtract (Difference), and Intersect. | |
| enum class | JoinType { Square , Round , Miter , Bevel } |
Variables | |
| constexpr int | DEFAULT_SEGMENTS = 0 |
| constexpr double | DEFAULT_ANGLE = 10.0 |
| constexpr double | DEFAULT_LENGTH = 1.0 |
Miscellaneous data structures for interfacing with this library.
| struct manifold::PolyVert |
| struct manifold::Smoothness |
Defines which edges to sharpen and how much for the Manifold.Smooth() constructor.
| struct manifold::RayHit |
Result of a ray cast query against a Manifold.
|
strong |
Specifies the treatment of path/contour joins (corners) when offseting CrossSections. See the Clipper2 doc for illustrations.
| Enumerator | |
|---|---|
| Square | Squaring is applied uniformly at all joins where the internal join angle is less that 90 degrees. The squared edge will be at exactly the offset distance from the join vertex. |
| Round | Rounding is applied to all joins that have convex external angles, and it maintains the exact offset distance from the join vertex. |
| Miter | There's a necessary limit to mitered joins (to avoid narrow angled joins producing excessively long and narrow spikes). So where mitered joins would exceed a given maximum miter distance (relative to the offset distance), these are 'squared' instead. |
| Bevel | Bevelled joins are similar to 'squared' joins except that squaring won't occur at a fixed distance. While bevelled joins may not be as pretty as squared joins, bevelling is much easier (ie faster) than squaring. And perhaps this is why bevelling rather than squaring is preferred in numerous graphics display formats (including SVG and PDF document formats). |