| Modifier and Type | Class and Description |
|---|---|
| private static class | PolygonsSet.
Private extension of Segment allowing connection. |
| private static class | PolygonsSet.
Internal class for holding edges while they are processed to build a BSP tree. |
| private static class | PolygonsSet.
Visitor building segments. |
| private static class | PolygonsSet.
Internal class for holding vertices while they are processed to build a BSP tree. |
| Modifier and Type | Field and Description |
|---|---|
| private static final double | DEFAULT_TOLERANCE
Default value for tolerance. |
| private Vector2D[][] | vertices
Vertices organized as boundary loops. |
| Access | Constructor and Description |
|---|---|
| public | PolygonsSet(final double
tolerance below which points are considered identical tolerance)Build a polygons set representing the whole plane. |
| public | PolygonsSet(final BSPTree<Euclidean2D>
inside/outside BSP tree representing the region tree, final double tolerance below which points are considered identical tolerance)Build a polygons set from a BSP tree. |
| public | PolygonsSet(final Collection<SubHyperplane<Euclidean2D>>
collection of boundary elements, as a
collection of boundary, final double SubHyperplane objectstolerance below which points are considered identical tolerance)Build a polygons set from a Boundary REPresentation (B-rep). |
| public | PolygonsSet(final double
low bound along the x direction xMin, final double high bound along the x direction xMax, final double low bound along the y direction yMin, final double high bound along the y direction yMax, final double tolerance below which points are considered identical tolerance)Build a parallellepipedic box. |
| public | PolygonsSet(final double
tolerance below which points are considered to
belong to the hyperplane (which is therefore more a slab) hyperplaneThickness, final Vector2D... vertices of the simple loop boundary vertices)Build a polygon from a simple list of vertices. |
| public | PolygonsSet()
Deprecated
as of 3.3, replaced with
PolygonsSet(double)
Build a polygons set representing the whole real line. |
| public | PolygonsSet(final BSPTree<Euclidean2D>
inside/outside BSP tree representing the region tree)
Deprecated
as of 3.3, replaced with
PolygonsSet(BSPTree, double)
Build a polygons set from a BSP tree. |
| public | PolygonsSet(final Collection<SubHyperplane<Euclidean2D>>
collection of boundary elements, as a
collection of boundary)SubHyperplane objects
Deprecated
as of 3.3, replaced with
PolygonsSet(Collection, double)
Build a polygons set from a Boundary REPresentation (B-rep). |
| public | PolygonsSet(final double
low bound along the x direction xMin, final double high bound along the x direction xMax, final double low bound along the y direction yMin, final double high bound along the y direction yMax)
Deprecated
as of 3.3, replaced with
PolygonsSet(double, double, double, double, double)
Build a parallellepipedic box. |
| Modifier and Type | Method and Description |
|---|---|
| private static Line[] | Returns: boundary of the boxlow bound along the x direction xMin, final double high bound along the x direction xMax, final double low bound along the y direction yMin, final double high bound along the y direction yMax, final double tolerance below which points are considered identical tolerance)Create a list of hyperplanes representing the boundary of a box. |
| public PolygonsSet | buildNew(final BSPTree<Euclidean2D>
inside/outside BSP tree representing the new region tree)Implements abstract org. Implements org. Build a region using the instance as a prototype. |
| private int | Returns: number of connections performedsegments complete segments list segmentsConnect the segments using Euclidean distance. |
| protected void | computeGeometricalProperties()
Implements abstract org. Compute some geometrical properties. |
| private void | filterSpuriousVertices(final List<Segment>
segments loop to filter (will be modified in-place) loop)Filter out spurious vertices on straight lines (at machine precision). |
| private List | Returns: loop containing the segment (may be null if the loop is a degenerated infinitely thin 2 points loopsegment used to define the loop definingBuild the loop containing a segment. |
| private PolygonsSet. | Returns: first segment that has not been processed yet or null if all segments have been processedsegments list segmentsGet first unprocessed segment from a list. |
| public Vector2D[][] | Returns: vertices of the polygon, organized as oriented boundary loops with the open loops first (the returned value is guaranteed to be non-null)Get the vertices of the polygon. |
| private static void | insertEdges(final double
tolerance below which points are consider to
belong to the hyperplane (which is therefore more a slab) hyperplaneThickness, final BSPTree<Euclidean2D> current tree node (it is a leaf node at the beginning
of the call) node, final List<PolygonsSet.list of edges to insert in the cell defined by this node
(excluding edges not belonging to the cell defined by this node) edgesRecursively build a tree by inserting cut sub-hyperplanes. |
| private int | Returns: number of connections performedsegments complete segments list segmentsConnect the segments using only natural follower information. |
| private int | Returns: number of connections performedsegments complete segments list segmentsConnect the segments resulting from a line splitting a straight edge. |
| private static BSPTree | Returns: the BSP tree of the input verticestolerance below which points are consider to
belong to the hyperplane (which is therefore more a slab) hyperplaneThickness, final Vector2D... vertices of the simple loop boundary vertices)Build the BSP tree of a polygons set from a simple list of vertices. |