Interface BSPTreeVisitor<S extends Space,P extends Point<S,P>,H extends Hyperplane<S,P,H,I>,I extends SubHyperplane<S,P,H,I>>

Type Parameters:
S - Type of the space.
P - Type of the points in space.
H - Type of the hyperplane.
I - Type of the sub-hyperplane.
All Known Implementing Classes:
InteriorPointFinder

public interface BSPTreeVisitor<S extends Space,P extends Point<S,P>,H extends Hyperplane<S,P,H,I>,I extends SubHyperplane<S,P,H,I>>
This interface is used to visit BSP tree nodes.

Navigation through BSP trees can be done using two different point of views:

  • the first one is in a node-oriented way using the BSPTree.getPlus(), BSPTree.getMinus() and BSPTree.getParent() methods. Terminal nodes without associated sub-hyperplanes can be visited this way, there is no constraint in the visit order, and it is possible to visit either all nodes or only a subset of the nodes
  • the second one is in a sub-hyperplane-oriented way using classes implementing this interface which obeys the visitor design pattern. The visit order is provided by the visitor as each node is first encountered. Each node is visited exactly once.
See Also:
  • Nested Class Summary Link icon

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    Enumerate for visit order with respect to plus sub-tree, minus sub-tree and cut sub-hyperplane.
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    void
    Visit a BSP tree node having a non-null sub-hyperplane.
    void
    Visit a leaf BSP tree node node having a null sub-hyperplane.
    Determine the visit order for this node.