Class EdgesBuilder
java.lang.Object
org.apache.commons.math3.geometry.spherical.twod.EdgesBuilder
- All Implemented Interfaces:
BSPTreeVisitor<Sphere2D>
Visitor building edges.
- Since:
- 3.3
-
Nested Class Summary
Nested classes/interfaces inherited from interface BSPTreeVisitor
BSPTreeVisitor.Order -
Field Summary
FieldsModifier and TypeFieldDescriptionBuilt edges and their associated nodes.Reversed map.Root of the tree.private final doubleTolerance below which points are consider to be identical. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddContribution(SubCircle sub, boolean reversed, BSPTree<Sphere2D> node) Add the contribution of a boundary edge.getEdges()Get the boundary edges.private EdgegetFollowingEdge(Edge previous) Get the edge that should naturally follow another one.voidvisitInternalNode(BSPTree<Sphere2D> node) Visit a BSP tree node node having a non-null sub-hyperplane.voidvisitLeafNode(BSPTree<Sphere2D> node) Visit a leaf BSP tree node node having a null sub-hyperplane.visitOrder(BSPTree<Sphere2D> node) Determine the visit order for this node.
-
Field Details
-
root
-
tolerance
private final double toleranceTolerance below which points are consider to be identical. -
edgeToNode
-
nodeToEdgesList
-
-
Constructor Details
-
EdgesBuilder
-
-
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<Sphere2D>- 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<Sphere2D>- 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<Sphere2D>- Parameters:
node- leaf BSP node having a null sub-hyperplane- See Also:
-
addContribution
-
getFollowingEdge
Get the edge that should naturally follow another one.- Parameters:
previous- edge to be continued- Returns:
- other edge, starting where the previous one ends (they have not been connected yet)
- Throws:
MathIllegalStateException- if there is not a single other edge
-
getEdges
Get the boundary edges.- Returns:
- boundary edges
- Throws:
MathIllegalStateException- if there is not a single other edge
-