BoundaryBuilder
| Modifier and Type | Field and Description |
|---|---|
| private final NodesSet | insideSplitters
Nodes that were used to split the outside touching part. |
| private SubHyperplane | insideTouching
Part of the cut sub-hyperplane that touch inside cells. |
| private final NodesSet | outsideSplitters
Nodes that were used to split the outside touching part. |
| private SubHyperplane | outsideTouching
Part of the cut sub-hyperplane that touch outside cells. |
| Access | Constructor and Description |
|---|---|
| pack-priv | Characterization(final BSPTree<S>
current BSP tree node node, final SubHyperplane<S> sub-hyperplane to characterize sub)Simple constructor. |
| Modifier and Type | Method and Description |
|---|---|
| private void | addInsideTouching(final SubHyperplane<S>
part of the cut sub-hyperplane known to touch an inside cell sub, final List<BSPTree<S>> sub-hyperplanes that did split the current one splitters)Add a part of the cut sub-hyperplane known to touch an inside cell. |
| private void | addOutsideTouching(final SubHyperplane<S>
part of the cut sub-hyperplane known to touch an outside cell sub, final List<BSPTree<S>> sub-hyperplanes that did split the current one splitters)Add a part of the cut sub-hyperplane known to touch an outside cell. |
| private void | characterize(final BSPTree<S>
current BSP tree node node, final SubHyperplane<S> sub-hyperplane to characterize sub, final List<BSPTree<S>> nodes that did split the current one splitters)Filter the parts of an hyperplane belonging to the boundary. |
| public NodesSet | Returns: nodes that were used to split the inside touching partGet the nodes that were used to split the inside touching part. |
| public NodesSet | Returns: nodes that were used to split the outside touching partGet the nodes that were used to split the outside touching part. |
| public SubHyperplane | Returns: parts of the cut sub-hyperplane known to touch inside cells (may be null or empty)Get all the parts of the cut sub-hyperplane known to touch inside cells. |
| public SubHyperplane | Returns: parts of the cut sub-hyperplane known to touch outside cells (may be null or empty)Get all the parts of the cut sub-hyperplane known to touch outside cells. |
| public boolean | Returns: true if the cut sub-hyperplane touches inside cellsCheck if the cut sub-hyperplane touches inside cells. |
| public boolean | Returns: true if the cut sub-hyperplane touches outside cellsCheck if the cut sub-hyperplane touches outside cells. |
| insideSplitters | back to summary |
|---|---|
| private final NodesSet<S> insideSplitters Nodes that were used to split the outside touching part. | |
| insideTouching | back to summary |
|---|---|
| private SubHyperplane<S> insideTouching Part of the cut sub-hyperplane that touch inside cells. | |
| outsideSplitters | back to summary |
|---|---|
| private final NodesSet<S> outsideSplitters Nodes that were used to split the outside touching part. | |
| outsideTouching | back to summary |
|---|---|
| private SubHyperplane<S> outsideTouching Part of the cut sub-hyperplane that touch outside cells. | |
| Characterization | back to summary |
|---|---|
| pack-priv Characterization(final BSPTree<S> node, final SubHyperplane<S> sub) Simple constructor. Characterization consists in splitting the specified sub-hyperplane into several parts lying in inside and outside cells of the tree. The principle is to compute characterization twice for each cut sub-hyperplane in the tree, once on 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.
| |
| addInsideTouching | back to summary |
|---|---|
| private void addInsideTouching(final SubHyperplane<S> sub, final List<BSPTree<S>> splitters) Add a part of the cut sub-hyperplane known to touch an inside cell.
| |
| addOutsideTouching | back to summary |
|---|---|
| private void addOutsideTouching(final SubHyperplane<S> sub, final List<BSPTree<S>> splitters) Add a part of the cut sub-hyperplane known to touch an outside cell.
| |
| characterize | back to summary |
|---|---|
| private void characterize(final BSPTree<S> node, final SubHyperplane<S> sub, final List<BSPTree<S>> splitters) Filter the parts of an hyperplane belonging to the boundary. 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 on 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.
| |
| getInsideSplitters | back to summary |
|---|---|
| public NodesSet Get the nodes that were used to split the inside touching part. Splitting nodes are internal nodes (i.e. they have a non-null cut sub-hyperplane).
| |
| getOutsideSplitters | back to summary |
|---|---|
| public NodesSet Get the nodes that were used to split the outside touching part. Splitting nodes are internal nodes (i.e. they have a non-null cut sub-hyperplane).
| |
| insideTouching | back to summary |
|---|---|
| public SubHyperplane Get all the parts of the cut sub-hyperplane known to touch inside cells.
| |
| outsideTouching | back to summary |
|---|---|
| public SubHyperplane Get all the parts of the cut sub-hyperplane known to touch outside cells.
| |
| touchInside | back to summary |
|---|---|
| public boolean touchInside() Check if the cut sub-hyperplane touches inside cells.
| |
| touchOutside | back to summary |
|---|---|
| public boolean touchOutside() Check if the cut sub-hyperplane touches outside cells.
| |