polyhedrons sets outlines.
This class extracts the 2D outlines from {polyhedrons sets in a specified projection plane.
| Modifier and Type | Class and Description |
|---|---|
| private class | OutlineExtractor.
Visitor projecting the boundary facets on a plane. |
| Modifier and Type | Field and Description |
|---|---|
| private Vector3D | u
Abscissa axis of the projection plane. |
| private Vector3D | v
Ordinate axis of the projection plane. |
| private Vector3D | w
Normal of the projection plane (viewing direction). |
| Access | Constructor and Description |
|---|---|
| public | OutlineExtractor(final Vector3D
abscissa axis of the projection point u, final Vector3D ordinate axis of the projection point v)Build an extractor for a specific projection plane. |
| Modifier and Type | Method and Description |
|---|---|
| public Vector2D[][] | Returns: an outline, as an array of loops.polyhedrons set whose outline must be extracted polyhedronsSet)Extract the outline of a polyhedrons set. |
| private boolean | Returns: true if the point is exactly between its neighborspoints array loop, final int number of points to consider in the array n, final int index of the point to check (must be between 0 and n-1) i)Check if a point is geometrically between its neighbor in an array. |
| u | back to summary |
|---|---|
| private Vector3D u Abscissa axis of the projection plane. | |
| v | back to summary |
|---|---|
| private Vector3D v Ordinate axis of the projection plane. | |
| w | back to summary |
|---|---|
| private Vector3D w Normal of the projection plane (viewing direction). | |
| OutlineExtractor | back to summary |
|---|---|
| public OutlineExtractor(final Vector3D u, final Vector3D v) Build an extractor for a specific projection plane. | |
| getOutline | back to summary |
|---|---|
| public Vector2D[][] getOutline(final PolyhedronsSet polyhedronsSet) Extract the outline of a polyhedrons set.
| |
| pointIsBetween | back to summary |
|---|---|
| private boolean pointIsBetween(final Vector2D[] loop, final int n, final int i) Check if a point is geometrically between its neighbor in an array. The neighbors are computed considering the array is a loop (i.e. point at index (n-1) is before point at index 0)
| |
| Modifier and Type | Field and Description |
|---|---|
| private PolygonsSet | projected
Projection of the polyhedrons set on the plane. |
| private final double | tolerance
Tolerance below which points are considered identical. |
| Access | Constructor and Description |
|---|---|
| pack-priv | BoundaryProjector(final double
tolerance below which points are considered identical tolerance)Simple constructor. |
| Modifier and Type | Method and Description |
|---|---|
| private void | addContribution(final SubHyperplane<Euclidean3D>
boundary facet facet, final boolean if true, the facet has the inside on its plus side reversed)Add he contribution of a boundary facet. |
| public PolygonsSet | Returns: projection of the polyhedrons set on the planeGet the projection of the polyhedrons set on the plane. |
| public void | visitInternalNode(final BSPTree<Euclidean3D>
BSP node guaranteed to have a non null cut sub-hyperplane node)Implements org. Visit a BSP tree node node having a non-null sub-hyperplane. |
| public void | visitLeafNode(final BSPTree<Euclidean3D>
leaf BSP node having a null sub-hyperplane node)Implements org. Visit a leaf BSP tree node node having a null sub-hyperplane. |
| public BSPTreeVisitor. | visitOrder(final BSPTree<Euclidean3D>
BSP node guaranteed to have a non null cut sub-hyperplane node)Implements org. Determine the visit order for this node. |
| projected | back to summary |
|---|---|
| private PolygonsSet projected Projection of the polyhedrons set on the plane. | |
| tolerance | back to summary |
|---|---|
| private final double tolerance Tolerance below which points are considered identical. | |
| BoundaryProjector | back to summary |
|---|---|
| pack-priv BoundaryProjector(final double tolerance) Simple constructor.
| |
| addContribution | back to summary |
|---|---|
| private void addContribution(final SubHyperplane<Euclidean3D> facet, final boolean reversed) Add he contribution of a boundary facet.
| |
| getProjected | back to summary |
|---|---|
| public PolygonsSet getProjected() Get the projection of the polyhedrons set on the plane.
| |
| visitInternalNode | back to summary |
|---|---|
| public void visitInternalNode(final BSPTree<Euclidean3D> node) Implements org. Doc from org. Visit a BSP tree node node having a non-null sub-hyperplane. It is guaranteed that this method will be called after
| |
| visitLeafNode | back to summary |
|---|---|
| public void visitLeafNode(final BSPTree<Euclidean3D> node) Implements org. Doc from org. Visit a leaf BSP tree node node having a null sub-hyperplane.
| |
| visitOrder | back to summary |
|---|---|
| public BSPTreeVisitor. Implements org. Doc from org. Determine the visit order for this node. Before attempting to visit an internal node, this method is
called to determine the desired ordering of the visit. It is
guaranteed that this method will be called before
| |