Class BSPTreePrinter<P extends Point<P>,N extends BSPTree.Node<P,N>>
java.lang.Object
org.apache.commons.geometry.core.partitioning.bsp.BSPTreePrinter<P,N>
- Type Parameters:
P
- Point implementation typeN
- Node implementation type
- All Implemented Interfaces:
BSPTreeVisitor<P,
N>
final class BSPTreePrinter<P extends Point<P>,N extends BSPTree.Node<P,N>>
extends Object
implements BSPTreeVisitor<P,N>
Internal class for creating simple string representations of BSP trees.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.commons.geometry.core.partitioning.bsp.BSPTreeVisitor
BSPTreeVisitor.ClosestFirstVisitor<P extends Point<P>,
N extends BSPTree.Node<P, N>>, BSPTreeVisitor.FarthestFirstVisitor<P extends Point<P>, N extends BSPTree.Node<P, N>>, BSPTreeVisitor.Order, BSPTreeVisitor.Result, BSPTreeVisitor.TargetPointVisitor<P extends Point<P>, N extends BSPTree.Node<P, N>> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
Ellipsis for truncated representations.private static final String
Line indent string.private final int
Maximum depth of nodes that will be printed.private static final String
Entry prefix for nodes on the minus side of their parent.private static final String
New line character.private final StringBuilder
Contains the string output.private static final String
Entry prefix for nodes on the plus side of their parent. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Start a line for the given node.toString()
Return the string representation of the visited tree.Visit a node in a BSP tree.visitOrder
(N node) Determine the visit order for the given internal node.private void
Add the given string to the output.private void
Writes the given node to the output.
-
Field Details
-
INDENT
Line indent string.- See Also:
-
NEW_LINE
New line character.- See Also:
-
MINUS_CHILD
Entry prefix for nodes on the minus side of their parent.- See Also:
-
PLUS_CHILD
Entry prefix for nodes on the plus side of their parent.- See Also:
-
ELLIPSIS
Ellipsis for truncated representations.- See Also:
-
maxDepth
private final int maxDepthMaximum depth of nodes that will be printed. -
output
Contains the string output.
-
-
Constructor Details
-
BSPTreePrinter
BSPTreePrinter(int maxDepth) Simple constructor.- Parameters:
maxDepth
- maximum depth of nodes to be printed
-
-
Method Details
-
visit
Visit a node in a BSP tree. This method is called for both internal nodes and leaf nodes.- Specified by:
visit
in interfaceBSPTreeVisitor<P extends Point<P>,
N extends BSPTree.Node<P, N>> - Parameters:
node
- the node being visited- Returns:
- the result of the visit operation
-
visitOrder
Determine the visit order for the given internal node. This is called for each internal node beforeBSPTreeVisitor.visit(BSPTree.Node)
is called. Returning null orBSPTreeVisitor.Order.NONE
from this method skips the subtree rooted at the given node. This method is not called on leaf nodes.- Specified by:
visitOrder
in interfaceBSPTreeVisitor<P extends Point<P>,
N extends BSPTree.Node<P, N>> - Parameters:
node
- the internal node to determine the visit order for- Returns:
- the order that the subtree rooted at the given node should be visited
-
startLine
Start a line for the given node.- Parameters:
node
- the node to begin a line for
-
writeNode
Writes the given node to the output.- Parameters:
node
- the node to write
-
write
Add the given string to the output.- Parameters:
str
- the string to add
-
toString
Return the string representation of the visited tree.
-