|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math3.geometry.partitioning.AbstractRegion.BoundaryBuilder<S>
private static class AbstractRegion.BoundaryBuilder<S extends Space>
Visitor building boundary shell tree.
The boundary shell is represented as boundary attributes
at each internal node.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.apache.commons.math3.geometry.partitioning.BSPTreeVisitor |
---|
BSPTreeVisitor.Order |
Constructor Summary | |
---|---|
private |
AbstractRegion.BoundaryBuilder()
|
Method Summary | |
---|---|
private void |
characterize(BSPTree<S> node,
SubHyperplane<S> sub,
SubHyperplane<S>[] characterization)
Filter the parts of an hyperplane belonging to the boundary. |
void |
visitInternalNode(BSPTree<S> node)
Visit a BSP tree node node having a non-null sub-hyperplane. |
void |
visitLeafNode(BSPTree<S> node)
Visit a leaf BSP tree node node having a null sub-hyperplane. |
BSPTreeVisitor.Order |
visitOrder(BSPTree<S> node)
Determine the visit order for this node. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
private AbstractRegion.BoundaryBuilder()
Method Detail |
---|
public BSPTreeVisitor.Order visitOrder(BSPTree<S> 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 visitInternalNode
for a given node, it will be
called exactly once for each internal node.
visitOrder
in interface BSPTreeVisitor<S extends Space>
node
- BSP node guaranteed to have a non null cut sub-hyperplane
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
public void visitInternalNode(BSPTree<S> node)
It is guaranteed that this method will be called after visitOrder
has been called for a given node,
it wil be called exactly once for each internal node.
visitInternalNode
in interface BSPTreeVisitor<S extends Space>
node
- BSP node guaranteed to have a non null cut sub-hyperplaneBSPTreeVisitor.visitLeafNode(org.apache.commons.math3.geometry.partitioning.BSPTree)
public void visitLeafNode(BSPTree<S> node)
visitLeafNode
in interface BSPTreeVisitor<S extends Space>
node
- leaf BSP node having a null sub-hyperplaneBSPTreeVisitor.visitInternalNode(org.apache.commons.math3.geometry.partitioning.BSPTree)
private void characterize(BSPTree<S> node, SubHyperplane<S> sub, SubHyperplane<S>[] characterization)
The filtering consist in splitting the specified sub-hyperplane into several parts lying in inside and outside cells of the tree. The principle is to call this method twice for each cut sub-hyperplane in the tree, once one the plus node and once on the minus node. The parts that have the same flag (inside/inside or outside/outside) do not belong to the boundary while parts that have different flags (inside/outside or outside/inside) do belong to the boundary.
node
- current BSP tree nodesub
- sub-hyperplane to characterizecharacterization
- placeholder where to put the characterized parts
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |