Class RegionFactory<S extends Space>
java.lang.Object
org.apache.commons.math3.geometry.partitioning.RegionFactory<S>
- Type Parameters:
S
- Type of the space.
This class is a factory for
Region
.- Since:
- 3.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate class
BSP tree leaf merger computing difference of two regions.private class
BSP tree leaf merger computing intersection of two regions.private class
Visitor removing internal nodes attributes.private class
BSP tree leaf merger computing union of two regions.private class
Handler replacing nodes with vanishing cuts with leaf nodes.private class
BSP tree leaf merger computing symmetric difference (exclusive or) of two regions. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final RegionFactory<S>.NodesCleaner
Visitor removing internal nodes attributes. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildConvex
(Hyperplane<S>... hyperplanes) Build a convex region from a collection of bounding hyperplanes.difference
(Region<S> region1, Region<S> region2) Compute the difference of two regions.getComplement
(Region<S> region) Get the complement of the region (exchanged interior/exterior).intersection
(Region<S> region1, Region<S> region2) Compute the intersection of two regions.recurseComplement
(BSPTree<S> node) Recursively build the complement of a BSP tree.Recursively build the complement of a BSP tree.Compute the union of two regions.Compute the symmetric difference (exclusive or) of two regions.
-
Field Details
-
nodeCleaner
Visitor removing internal nodes attributes.
-
-
Constructor Details
-
RegionFactory
public RegionFactory()Simple constructor.
-
-
Method Details
-
buildConvex
Build a convex region from a collection of bounding hyperplanes.- Parameters:
hyperplanes
- collection of bounding hyperplanes- Returns:
- a new convex region, or null if the collection is empty
-
union
Compute the union of two regions.- Parameters:
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)- Returns:
- a new region, result of
region1 union region2
-
intersection
Compute the intersection of two regions.- Parameters:
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)- Returns:
- a new region, result of
region1 intersection region2
-
xor
Compute the symmetric difference (exclusive or) of two regions.- Parameters:
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)- Returns:
- a new region, result of
region1 xor region2
-
difference
Compute the difference of two regions.- Parameters:
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)- Returns:
- a new region, result of
region1 minus region2
-
getComplement
Get the complement of the region (exchanged interior/exterior).- Parameters:
region
- region to complement, it will not modified, a new region independent region will be built- Returns:
- a new region, complement of the specified one
-
recurseComplement
Recursively build the complement of a BSP tree.- Parameters:
node
- current node of the original tree- Returns:
- new tree, complement of the node
-
recurseComplement
Recursively build the complement of a BSP tree.- Parameters:
node
- current node of the original treemap
- transformed nodes map- Returns:
- new tree, complement of the node
-