| Modifier and Type | Class and Description |
|---|---|
private class |
RegionFactory.DifferenceMerger
BSP tree leaf merger computing difference of two regions.
|
private class |
RegionFactory.IntersectionMerger
BSP tree leaf merger computing intersection of two regions.
|
private class |
RegionFactory.NodesCleaner
Visitor removing internal nodes attributes.
|
private class |
RegionFactory.UnionMerger
BSP tree leaf merger computing union of two regions.
|
private class |
RegionFactory.VanishingToLeaf
Handler replacing nodes with vanishing cuts with leaf nodes.
|
private class |
RegionFactory.XorMerger
BSP tree leaf merger computing symmetric difference (exclusive or) of two regions.
|
| Modifier and Type | Field and Description |
|---|---|
private RegionFactory.NodesCleaner |
nodeCleaner
Visitor removing internal nodes attributes.
|
| Constructor and Description |
|---|
RegionFactory()
Simple constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Region<S> |
buildConvex(Hyperplane<S>... hyperplanes)
Build a convex region from a collection of bounding hyperplanes.
|
Region<S> |
difference(Region<S> region1,
Region<S> region2)
Compute the difference of two regions.
|
Region<S> |
getComplement(Region<S> region)
Get the complement of the region (exchanged interior/exterior).
|
Region<S> |
intersection(Region<S> region1,
Region<S> region2)
Compute the intersection of two regions.
|
private BSPTree<S> |
recurseComplement(BSPTree<S> node)
Recursively build the complement of a BSP tree.
|
private BSPTree<S> |
recurseComplement(BSPTree<S> node,
java.util.Map<BSPTree<S>,BSPTree<S>> map)
Recursively build the complement of a BSP tree.
|
Region<S> |
union(Region<S> region1,
Region<S> region2)
Compute the union of two regions.
|
Region<S> |
xor(Region<S> region1,
Region<S> region2)
Compute the symmetric difference (exclusive or) of two regions.
|
private final RegionFactory.NodesCleaner nodeCleaner
public Region<S> buildConvex(Hyperplane<S>... hyperplanes)
hyperplanes - collection of bounding hyperplanespublic Region<S> union(Region<S> region1, Region<S> region2)
region1 - first region (will be unusable after the operation as
parts of it will be reused in the new region)region2 - second region (will be unusable after the operation as
parts of it will be reused in the new region)region1 union region2public Region<S> intersection(Region<S> region1, Region<S> region2)
region1 - first region (will be unusable after the operation as
parts of it will be reused in the new region)region2 - second region (will be unusable after the operation as
parts of it will be reused in the new region)region1 intersection region2public Region<S> xor(Region<S> region1, Region<S> region2)
region1 - first region (will be unusable after the operation as
parts of it will be reused in the new region)region2 - second region (will be unusable after the operation as
parts of it will be reused in the new region)region1 xor region2public Region<S> difference(Region<S> region1, Region<S> region2)
region1 - first region (will be unusable after the operation as
parts of it will be reused in the new region)region2 - second region (will be unusable after the operation as
parts of it will be reused in the new region)region1 minus region2public Region<S> getComplement(Region<S> region)
region - region to complement, it will not modified, a new
region independent region will be builtprivate BSPTree<S> recurseComplement(BSPTree<S> node)
node - current node of the original treeCopyright (c) 2003-2015 Apache Software Foundation