Class OutlineExtractor.BoundaryProjector
java.lang.Object
org.apache.commons.math3.geometry.euclidean.threed.OutlineExtractor.BoundaryProjector
- All Implemented Interfaces:
BSPTreeVisitor<Euclidean3D>
- Enclosing class:
OutlineExtractor
private class OutlineExtractor.BoundaryProjector
extends Object
implements BSPTreeVisitor<Euclidean3D>
Visitor projecting the boundary facets on a plane.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.commons.math3.geometry.partitioning.BSPTreeVisitor
BSPTreeVisitor.Order -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate PolygonsSetProjection of the polyhedrons set on the plane.private final doubleTolerance below which points are considered identical. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddContribution(SubHyperplane<Euclidean3D> facet, boolean reversed) Add he contribution of a boundary facet.Get the projection of the polyhedrons set on the plane.voidvisitInternalNode(BSPTree<Euclidean3D> node) Visit a BSP tree node node having a non-null sub-hyperplane.voidvisitLeafNode(BSPTree<Euclidean3D> node) Visit a leaf BSP tree node node having a null sub-hyperplane.visitOrder(BSPTree<Euclidean3D> node) Determine the visit order for this node.
-
Field Details
-
projected
Projection of the polyhedrons set on the plane. -
tolerance
private final double toleranceTolerance below which points are considered identical.
-
-
Constructor Details
-
BoundaryProjector
BoundaryProjector(double tolerance) Simple constructor.- Parameters:
tolerance- tolerance below which points are considered identical
-
-
Method Details
-
visitOrder
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
visitInternalNodefor a given node, it will be called exactly once for each internal node.- Specified by:
visitOrderin interfaceBSPTreeVisitor<Euclidean3D>- Parameters:
node- BSP node guaranteed to have a non null cut sub-hyperplane- Returns:
- desired visit order, must be one of
BSPTreeVisitor.Order.PLUS_MINUS_SUB,BSPTreeVisitor.Order.PLUS_SUB_MINUS,BSPTreeVisitor.Order.MINUS_PLUS_SUB,BSPTreeVisitor.Order.MINUS_SUB_PLUS,BSPTreeVisitor.Order.SUB_PLUS_MINUS,BSPTreeVisitor.Order.SUB_MINUS_PLUS
-
visitInternalNode
Visit a BSP tree node node having a non-null sub-hyperplane.It is guaranteed that this method will be called after
visitOrderhas been called for a given node, it wil be called exactly once for each internal node.- Specified by:
visitInternalNodein interfaceBSPTreeVisitor<Euclidean3D>- Parameters:
node- BSP node guaranteed to have a non null cut sub-hyperplane- See Also:
-
visitLeafNode
Visit a leaf BSP tree node node having a null sub-hyperplane.- Specified by:
visitLeafNodein interfaceBSPTreeVisitor<Euclidean3D>- Parameters:
node- leaf BSP node having a null sub-hyperplane- See Also:
-
addContribution
Add he contribution of a boundary facet.- Parameters:
facet- boundary facetreversed- if true, the facet has the inside on its plus side
-
getProjected
Get the projection of the polyhedrons set on the plane.- Returns:
- projection of the polyhedrons set on the plane
-