Package org.apache.commons.geometry.core.partitioning.bsp
This package contains classes related to Binary Space Partitioning (BSP) trees. BSP tree are data structures that allow arbitrary partitioning of spaces using hyperplanes.
-
Interface Summary Interface Description AbstractBSPTree.SubtreeInitializer<N extends AbstractBSPTree.AbstractNode<?,?>> Interface used to initialize newly created BSP subtrees, consisting of a single parent node and two child nodes.BSPSubtree<P extends Point<P>,N extends BSPTree.Node<P,N>> Interface for types that form the root of BSP subtrees.BSPTree<P extends Point<P>,N extends BSPTree.Node<P,N>> Interface for Binary Space Partitioning (BSP) trees.BSPTree.Node<P extends Point<P>,N extends BSPTree.Node<P,N>> Interface for Binary Space Partitioning (BSP) tree nodes.BSPTreeVisitor<P extends Point<P>,N extends BSPTree.Node<P,N>> Interface for visiting the nodes in aBSPTree
orBSPSubtree
. -
Class Summary Class Description AbstractBSPTree<P extends Point<P>,N extends AbstractBSPTree.AbstractNode<P,N>> Abstract class for Binary Space Partitioning (BSP) tree implementations.AbstractBSPTree.AbstractNode<P extends Point<P>,N extends AbstractBSPTree.AbstractNode<P,N>> Abstract implementation ofBSPTree.Node
.AbstractBSPTree.NodeIterator<P extends Point<P>,N extends AbstractBSPTree.AbstractNode<P,N>> Class for iterating through the nodes in a BSP subtree.AbstractBSPTreeMergeOperator<P extends Point<P>,N extends AbstractBSPTree.AbstractNode<P,N>> Class containing the basic algorithm for merging twoAbstractBSPTree
instances.AbstractPartitionedRegionBuilder<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> Class encapsulating logic for building regions by inserting boundaries into a BSP tree containing structural cuts, i.e.AbstractRegionBSPTree<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> AbstractBSPTree
specialized for representing regions of space.AbstractRegionBSPTree.AbstractRegionNode<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> BSPTree.Node
implementation for use withAbstractRegionBSPTree
s.AbstractRegionBSPTree.BoundaryProjector<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> Class used to compute the point on the region's boundary that is closest to a target point.AbstractRegionBSPTree.Condenser<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> Internal class used to perform tree condense operations.AbstractRegionBSPTree.DifferenceOperator<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> Class for performing boolean difference operations on region trees.AbstractRegionBSPTree.IntersectionOperator<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> Class for performing boolean intersection operations on region trees.AbstractRegionBSPTree.RegionBoundaryIterator<P extends Point<P>,C extends HyperplaneConvexSubset<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> Class that iterates over the boundary hyperplane convex subsets from a set of region nodes.AbstractRegionBSPTree.RegionMergeOperator<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> Class containing the basic algorithm for merging region BSP trees.AbstractRegionBSPTree.RegionSizeProperties<P extends Point<P>> Class containing the primary size-related properties of a region.AbstractRegionBSPTree.UnionOperator<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> Class for performing boolean union operations on region trees.AbstractRegionBSPTree.XorOperator<P extends Point<P>,N extends AbstractRegionBSPTree.AbstractRegionNode<P,N>> Class for performing boolean symmetric difference (xor) operations on region trees.BSPTreePrinter<P extends Point<P>,N extends BSPTree.Node<P,N>> Internal class for creating simple string representations of BSP trees.BSPTreeVisitor.ClosestFirstVisitor<P extends Point<P>,N extends BSPTree.Node<P,N>> BSPTreeVisitor
base class that orders tree nodes so that nodes closest to the target point are visited first.BSPTreeVisitor.FarthestFirstVisitor<P extends Point<P>,N extends BSPTree.Node<P,N>> BSPTreeVisitor
base class that orders tree nodes so that nodes farthest from the target point are traversed first.BSPTreeVisitor.TargetPointVisitor<P extends Point<P>,N extends BSPTree.Node<P,N>> Abstract class forBSPTreeVisitor
implementations that base their visit ordering on a target point.RegionCutBoundary<P extends Point<P>> Class representing the portion of anAbstractRegionNode
's cut that lies on the boundary of the region. -
Enum Summary Enum Description BSPTree.FindNodeCutRule Enum specifying possible behaviors when a point used to locate a node falls directly on the cut of an internal node.BSPTreeVisitor.Order Enum used to specify the order in which visitors should visit the nodes in the tree.BSPTreeVisitor.Result Enum representing the result of a BSP tree node visit operation.RegionCutRule Enum describing the possible behaviors when cutting a region BSP tree node with a hyperplane to produce two new child nodes.