Package | Description |
---|---|
org.apache.commons.math3.geometry.euclidean.oned |
This package provides basic 1D geometry components.
|
org.apache.commons.math3.geometry.euclidean.threed |
This package provides basic 3D geometry components.
|
org.apache.commons.math3.geometry.euclidean.twod |
This package provides basic 2D geometry components.
|
org.apache.commons.math3.geometry.partitioning |
This package provides classes to implement Binary Space Partition trees.
|
org.apache.commons.math3.geometry.spherical.oned |
This package provides basic geometry components on the 1-sphere.
|
org.apache.commons.math3.geometry.spherical.twod |
This package provides basic geometry components on the 2-sphere.
|
Modifier and Type | Field and Description |
---|---|
private BSPTree<Euclidean1D> |
IntervalsSet.SubIntervalsIterator.current
Current node.
|
Modifier and Type | Method and Description |
---|---|
private static BSPTree<Euclidean1D> |
IntervalsSet.buildTree(double lower,
double upper,
double tolerance)
Build an inside/outside tree representing a single interval.
|
private BSPTree<Euclidean1D> |
IntervalsSet.childAfter(BSPTree<Euclidean1D> node)
Find the child node just after an internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.childBefore(BSPTree<Euclidean1D> node)
Find the child node just before an internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.getFirstIntervalBoundary()
Get the node corresponding to the first interval boundary.
|
private BSPTree<Euclidean1D> |
IntervalsSet.getFirstLeaf(BSPTree<Euclidean1D> root)
Get the first leaf node of a tree.
|
private BSPTree<Euclidean1D> |
IntervalsSet.leafAfter(BSPTree<Euclidean1D> node)
Find the leaf node just after an internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.leafBefore(BSPTree<Euclidean1D> node)
Find the leaf node just before an internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.nextInternalNode(BSPTree<Euclidean1D> node)
Get the next internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.previousInternalNode(BSPTree<Euclidean1D> node)
Get the previous internal node.
|
Modifier and Type | Method and Description |
---|---|
IntervalsSet |
IntervalsSet.buildNew(BSPTree<Euclidean1D> tree)
Build a region using the instance as a prototype.
|
private BSPTree<Euclidean1D> |
IntervalsSet.childAfter(BSPTree<Euclidean1D> node)
Find the child node just after an internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.childBefore(BSPTree<Euclidean1D> node)
Find the child node just before an internal node.
|
private double |
IntervalsSet.getAngle(BSPTree<Euclidean1D> node)
Get the abscissa of an internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.getFirstLeaf(BSPTree<Euclidean1D> root)
Get the first leaf node of a tree.
|
private boolean |
IntervalsSet.isAfterParent(BSPTree<Euclidean1D> node)
Check if a node is the child after its parent in ascending order.
|
private boolean |
IntervalsSet.isBeforeParent(BSPTree<Euclidean1D> node)
Check if a node is the child before its parent in ascending order.
|
private boolean |
IntervalsSet.isDirect(BSPTree<Euclidean1D> node)
Check if an internal node has a direct oriented point.
|
private boolean |
IntervalsSet.isIntervalEnd(BSPTree<Euclidean1D> node)
Check if an internal node corresponds to the end abscissa of an interval.
|
private boolean |
IntervalsSet.isIntervalStart(BSPTree<Euclidean1D> node)
Check if an internal node corresponds to the start abscissa of an interval.
|
private BSPTree<Euclidean1D> |
IntervalsSet.leafAfter(BSPTree<Euclidean1D> node)
Find the leaf node just after an internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.leafBefore(BSPTree<Euclidean1D> node)
Find the leaf node just before an internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.nextInternalNode(BSPTree<Euclidean1D> node)
Get the next internal node.
|
private BSPTree<Euclidean1D> |
IntervalsSet.previousInternalNode(BSPTree<Euclidean1D> node)
Get the previous internal node.
|
Constructor and Description |
---|
IntervalsSet(BSPTree<Euclidean1D> tree)
Deprecated.
as of 3.3, replaced with
IntervalsSet.IntervalsSet(BSPTree, double) |
IntervalsSet(BSPTree<Euclidean1D> tree,
double tolerance)
Build an intervals set from an inside/outside BSP tree.
|
Modifier and Type | Method and Description |
---|---|
private static BSPTree<Euclidean3D> |
PolyhedronsSet.buildBoundary(double xMin,
double xMax,
double yMin,
double yMax,
double zMin,
double zMax,
double tolerance)
Build a parallellepipedic box boundary.
|
Modifier and Type | Method and Description |
---|---|
private SubHyperplane<Euclidean3D> |
PolyhedronsSet.boundaryFacet(Vector3D point,
BSPTree<Euclidean3D> node)
Check if a point belongs to the boundary part of a node.
|
PolyhedronsSet |
PolyhedronsSet.buildNew(BSPTree<Euclidean3D> tree)
Build a region using the instance as a prototype.
|
private SubHyperplane<Euclidean3D> |
PolyhedronsSet.recurseFirstIntersection(BSPTree<Euclidean3D> node,
Vector3D point,
Line line)
Get the first sub-hyperplane crossed by a semi-infinite line.
|
void |
PolyhedronsSet.FacetsContributionVisitor.visitInternalNode(BSPTree<Euclidean3D> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
OutlineExtractor.BoundaryProjector.visitInternalNode(BSPTree<Euclidean3D> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
PolyhedronsSet.FacetsContributionVisitor.visitLeafNode(BSPTree<Euclidean3D> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
void |
OutlineExtractor.BoundaryProjector.visitLeafNode(BSPTree<Euclidean3D> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
BSPTreeVisitor.Order |
PolyhedronsSet.FacetsContributionVisitor.visitOrder(BSPTree<Euclidean3D> node)
Determine the visit order for this node.
|
BSPTreeVisitor.Order |
OutlineExtractor.BoundaryProjector.visitOrder(BSPTree<Euclidean3D> node)
Determine the visit order for this node.
|
Constructor and Description |
---|
PolyhedronsSet(BSPTree<Euclidean3D> tree)
Deprecated.
as of 3.3, replaced with
PolyhedronsSet.PolyhedronsSet(BSPTree, double) |
PolyhedronsSet(BSPTree<Euclidean3D> tree,
double tolerance)
Build a polyhedrons set from a BSP tree.
|
Modifier and Type | Field and Description |
---|---|
private BSPTree<Euclidean2D> |
PolygonsSet.ConnectableSegment.endNode
Node whose intersection with current node defines end point.
|
private BSPTree<Euclidean2D> |
PolygonsSet.Edge.node
Node whose cut hyperplane contains this edge.
|
private BSPTree<Euclidean2D> |
PolygonsSet.ConnectableSegment.node
Node containing segment.
|
private BSPTree<Euclidean2D> |
PolygonsSet.ConnectableSegment.startNode
Node whose intersection with current node defines start point.
|
Modifier and Type | Method and Description |
---|---|
BSPTree<Euclidean2D> |
PolygonsSet.ConnectableSegment.getEndNode()
Get the node whose intersection with current node defines end point.
|
BSPTree<Euclidean2D> |
PolygonsSet.Edge.getNode()
Get the node whose cut hyperplane contains this edge.
|
BSPTree<Euclidean2D> |
PolygonsSet.ConnectableSegment.getNode()
Get the node containing segment.
|
BSPTree<Euclidean2D> |
PolygonsSet.ConnectableSegment.getStartNode()
Get the node whose intersection with current node defines start point.
|
private BSPTree<Euclidean2D> |
PolygonsSet.SegmentsBuilder.selectClosest(Vector2D point,
java.lang.Iterable<BSPTree<Euclidean2D>> candidates)
Select the node whose cut sub-hyperplane is closest to specified point.
|
private static BSPTree<Euclidean2D> |
PolygonsSet.verticesToTree(double hyperplaneThickness,
Vector2D... vertices)
Build the BSP tree of a polygons set from a simple list of vertices.
|
Modifier and Type | Method and Description |
---|---|
private void |
PolygonsSet.SegmentsBuilder.addContribution(SubHyperplane<Euclidean2D> sub,
BSPTree<Euclidean2D> node,
java.lang.Iterable<BSPTree<Euclidean2D>> splitters,
boolean reversed)
Add the contribution of a boundary facet.
|
PolygonsSet |
PolygonsSet.buildNew(BSPTree<Euclidean2D> tree)
Build a region using the instance as a prototype.
|
private static void |
PolygonsSet.insertEdges(double hyperplaneThickness,
BSPTree<Euclidean2D> node,
java.util.List<PolygonsSet.Edge> edges)
Recursively build a tree by inserting cut sub-hyperplanes.
|
void |
PolygonsSet.Edge.setNode(BSPTree<Euclidean2D> node)
Set the node whose cut hyperplane contains this edge.
|
void |
PolygonsSet.SegmentsBuilder.visitInternalNode(BSPTree<Euclidean2D> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
PolygonsSet.SegmentsBuilder.visitLeafNode(BSPTree<Euclidean2D> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
BSPTreeVisitor.Order |
PolygonsSet.SegmentsBuilder.visitOrder(BSPTree<Euclidean2D> node)
Determine the visit order for this node.
|
Modifier and Type | Method and Description |
---|---|
private void |
PolygonsSet.SegmentsBuilder.addContribution(SubHyperplane<Euclidean2D> sub,
BSPTree<Euclidean2D> node,
java.lang.Iterable<BSPTree<Euclidean2D>> splitters,
boolean reversed)
Add the contribution of a boundary facet.
|
private BSPTree<Euclidean2D> |
PolygonsSet.SegmentsBuilder.selectClosest(Vector2D point,
java.lang.Iterable<BSPTree<Euclidean2D>> candidates)
Select the node whose cut sub-hyperplane is closest to specified point.
|
Constructor and Description |
---|
ConnectableSegment(Vector2D start,
Vector2D end,
Line line,
BSPTree<Euclidean2D> node,
BSPTree<Euclidean2D> startNode,
BSPTree<Euclidean2D> endNode)
Build a segment.
|
ConnectableSegment(Vector2D start,
Vector2D end,
Line line,
BSPTree<Euclidean2D> node,
BSPTree<Euclidean2D> startNode,
BSPTree<Euclidean2D> endNode)
Build a segment.
|
ConnectableSegment(Vector2D start,
Vector2D end,
Line line,
BSPTree<Euclidean2D> node,
BSPTree<Euclidean2D> startNode,
BSPTree<Euclidean2D> endNode)
Build a segment.
|
PolygonsSet(BSPTree<Euclidean2D> tree)
Deprecated.
as of 3.3, replaced with
PolygonsSet.PolygonsSet(BSPTree, double) |
PolygonsSet(BSPTree<Euclidean2D> tree,
double tolerance)
Build a polygons set from a BSP tree.
|
Modifier and Type | Field and Description |
---|---|
private BSPTree<S> |
BoundaryProjector.leaf
Leaf node closest to the test point.
|
private BSPTree<S> |
BSPTree.minus
Tree at the minus side of the cut hyperplane.
|
private BSPTree<S> |
BSPTree.parent
Parent tree.
|
private BSPTree<S> |
BSPTree.plus
Tree at the plus side of the cut hyperplane.
|
private BSPTree<S> |
AbstractRegion.tree
Inside/Outside BSP tree.
|
Modifier and Type | Field and Description |
---|---|
private java.util.List<BSPTree<S>> |
NodesSet.list
List of sub-hyperplanes.
|
Modifier and Type | Method and Description |
---|---|
BSPTree<S> |
BSPTree.copySelf()
Copy the instance.
|
BSPTree<S> |
BSPTree.VanishingCutHandler.fixNode(BSPTree<S> node)
Fix a node with both vanished cut and children.
|
BSPTree<S> |
RegionFactory.DifferenceMerger.fixNode(BSPTree<S> node)
Fix a node with both vanished cut and children.
|
BSPTree<S> |
RegionFactory.VanishingToLeaf.fixNode(BSPTree<S> node)
Fix a node with both vanished cut and children.
|
BSPTree<S> |
BSPTree.getCell(Point<S> point,
double tolerance)
Get the cell to which a point belongs.
|
BSPTree<S> |
BSPTree.getCell(Vector<S> point)
Deprecated.
as of 3.3, replaced with
getCell(Point, double) |
BSPTree<S> |
BSPTree.getMinus()
Get the tree on the minus side of the cut hyperplane.
|
BSPTree<S> |
BSPTree.getParent()
Get the parent node.
|
BSPTree<S> |
BSPTree.getPlus()
Get the tree on the plus side of the cut hyperplane.
|
BSPTree<S> |
AbstractRegion.getTree(boolean includeBoundaryAttributes)
Get the underlying BSP tree.
|
BSPTree<S> |
Region.getTree(boolean includeBoundaryAttributes)
Get the underlying BSP tree.
|
BSPTree<S> |
BSPTree.merge(BSPTree<S> tree,
BSPTree.LeafMerger<S> leafMerger)
Merge a BSP tree with the instance.
|
private BSPTree<S> |
BSPTree.merge(BSPTree<S> tree,
BSPTree.LeafMerger<S> leafMerger,
BSPTree<S> parentTree,
boolean isPlusChild)
Merge a BSP tree with the instance.
|
BSPTree<S> |
BSPTree.LeafMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.UnionMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.IntersectionMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.XorMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.DifferenceMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
BSPTree.pruneAroundConvexCell(java.lang.Object cellAttribute,
java.lang.Object otherLeafsAttributes,
java.lang.Object internalAttributes)
Prune a tree around a cell.
|
private BSPTree<S> |
RegionFactory.recurseComplement(BSPTree<S> node)
Recursively build the complement of a BSP tree.
|
private BSPTree<S> |
RegionFactory.recurseComplement(BSPTree<S> node,
java.util.Map<BSPTree<S>,BSPTree<S>> map)
Recursively build the complement of a BSP tree.
|
private BSPTree<S> |
AbstractRegion.recurseTransform(BSPTree<S> node,
Transform<S,T> transform,
java.util.Map<BSPTree<S>,BSPTree<S>> map)
Recursively transform an inside/outside BSP-tree.
|
private BSPTree<T> |
AbstractSubHyperplane.recurseTransform(BSPTree<T> node,
Hyperplane<S> transformed,
Transform<S,T> transform,
java.util.Map<BSPTree<T>,BSPTree<T>> map)
Recursively transform a BSP-tree from a sub-hyperplane.
|
BSPTree<S> |
BSPTree.split(SubHyperplane<S> sub)
Split a BSP tree by an external sub-hyperplane.
|
Modifier and Type | Method and Description |
---|---|
java.util.List<BSPTree<S>> |
BSPTree.getCloseCuts(Point<S> point,
double maxOffset)
Get the cells whose cut sub-hyperplanes are close to the point.
|
java.util.Iterator<BSPTree<S>> |
NodesSet.iterator() |
Modifier and Type | Method and Description |
---|---|
void |
NodesSet.add(BSPTree<S> node)
Add a node if not already known.
|
private java.util.List<Region<T>> |
BoundaryProjector.boundaryRegions(BSPTree<S> node)
Extract the regions of the boundary on an internal node.
|
abstract AbstractRegion<S,T> |
AbstractRegion.buildNew(BSPTree<S> newTree)
Build a region using the instance as a prototype.
|
Region<S> |
Region.buildNew(BSPTree<S> newTree)
Build a region using the instance as a prototype.
|
private void |
Characterization.characterize(BSPTree<S> node,
SubHyperplane<S> sub,
java.util.List<BSPTree<S>> splitters)
Filter the parts of an hyperplane belonging to the boundary.
|
protected Region.Location |
AbstractRegion.checkPoint(BSPTree<S> node,
Point<S> point)
Check a point with respect to the region starting at a given node.
|
protected Region.Location |
AbstractRegion.checkPoint(BSPTree<S> node,
Vector<S> point)
Check a point with respect to the region starting at a given node.
|
BSPTree<S> |
BSPTree.VanishingCutHandler.fixNode(BSPTree<S> node)
Fix a node with both vanished cut and children.
|
BSPTree<S> |
RegionFactory.DifferenceMerger.fixNode(BSPTree<S> node)
Fix a node with both vanished cut and children.
|
BSPTree<S> |
RegionFactory.VanishingToLeaf.fixNode(BSPTree<S> node)
Fix a node with both vanished cut and children.
|
private void |
AbstractRegion.insertCuts(BSPTree<S> node,
java.util.Collection<SubHyperplane<S>> boundary)
Recursively build a tree by inserting cut sub-hyperplanes.
|
void |
BSPTree.insertInTree(BSPTree<S> parentTree,
boolean isPlusChild)
Deprecated.
as of 3.4, replaced with
insertInTree(BSPTree, boolean, VanishingCutHandler) |
void |
BSPTree.insertInTree(BSPTree<S> parentTree,
boolean isPlusChild,
BSPTree.VanishingCutHandler<S> vanishingHandler)
Insert the instance into another tree.
|
boolean |
AbstractRegion.isEmpty(BSPTree<S> node)
Check if the sub-tree starting at a given node is empty.
|
boolean |
Region.isEmpty(BSPTree<S> node)
Check if the sub-tree starting at a given node is empty.
|
boolean |
AbstractRegion.isFull(BSPTree<S> node)
Check if the sub-tree starting at a given node covers the full space.
|
boolean |
Region.isFull(BSPTree<S> node)
Check if the sub-tree starting at a given node covers the full space.
|
BSPTree<S> |
BSPTree.merge(BSPTree<S> tree,
BSPTree.LeafMerger<S> leafMerger)
Merge a BSP tree with the instance.
|
private BSPTree<S> |
BSPTree.merge(BSPTree<S> tree,
BSPTree.LeafMerger<S> leafMerger,
BSPTree<S> parentTree,
boolean isPlusChild)
Merge a BSP tree with the instance.
|
private BSPTree<S> |
BSPTree.merge(BSPTree<S> tree,
BSPTree.LeafMerger<S> leafMerger,
BSPTree<S> parentTree,
boolean isPlusChild)
Merge a BSP tree with the instance.
|
BSPTree<S> |
BSPTree.LeafMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
BSPTree.LeafMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
BSPTree.LeafMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.UnionMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.UnionMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.UnionMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.IntersectionMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.IntersectionMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.IntersectionMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.XorMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.XorMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.XorMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.DifferenceMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.DifferenceMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
BSPTree<S> |
RegionFactory.DifferenceMerger.merge(BSPTree<S> leaf,
BSPTree<S> tree,
BSPTree<S> parentTree,
boolean isPlusChild,
boolean leafFromInstance)
Merge a leaf node and a tree node.
|
private BSPTree<S> |
RegionFactory.recurseComplement(BSPTree<S> node)
Recursively build the complement of a BSP tree.
|
private BSPTree<S> |
RegionFactory.recurseComplement(BSPTree<S> node,
java.util.Map<BSPTree<S>,BSPTree<S>> map)
Recursively build the complement of a BSP tree.
|
private SubHyperplane<S> |
AbstractRegion.recurseIntersection(BSPTree<S> node,
SubHyperplane<S> sub)
Recursively compute the parts of a sub-hyperplane that are
contained in the region.
|
void |
InsideFinder.recurseSides(BSPTree<S> node,
SubHyperplane<S> sub)
Search recursively for inside leaf nodes on each side of the given hyperplane.
|
private BSPTree<S> |
AbstractRegion.recurseTransform(BSPTree<S> node,
Transform<S,T> transform,
java.util.Map<BSPTree<S>,BSPTree<S>> map)
Recursively transform an inside/outside BSP-tree.
|
private BSPTree<T> |
AbstractSubHyperplane.recurseTransform(BSPTree<T> node,
Hyperplane<S> transformed,
Transform<S,T> transform,
java.util.Map<BSPTree<T>,BSPTree<T>> map)
Recursively transform a BSP-tree from a sub-hyperplane.
|
void |
BoundaryProjector.visitInternalNode(BSPTree<S> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
BSPTreeVisitor.visitInternalNode(BSPTree<S> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
BoundarySizeVisitor.visitInternalNode(BSPTree<S> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
BoundaryBuilder.visitInternalNode(BSPTree<S> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
RegionFactory.NodesCleaner.visitInternalNode(BSPTree<S> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
BoundaryProjector.visitLeafNode(BSPTree<S> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
void |
BSPTreeVisitor.visitLeafNode(BSPTree<S> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
void |
BoundarySizeVisitor.visitLeafNode(BSPTree<S> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
void |
BoundaryBuilder.visitLeafNode(BSPTree<S> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
void |
RegionFactory.NodesCleaner.visitLeafNode(BSPTree<S> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
BSPTreeVisitor.Order |
BoundaryProjector.visitOrder(BSPTree<S> node)
Determine the visit order for this node.
|
BSPTreeVisitor.Order |
BSPTreeVisitor.visitOrder(BSPTree<S> node)
Determine the visit order for this node.
|
BSPTreeVisitor.Order |
BoundarySizeVisitor.visitOrder(BSPTree<S> node)
Determine the visit order for this node.
|
BSPTreeVisitor.Order |
BoundaryBuilder.visitOrder(BSPTree<S> node)
Determine the visit order for this node.
|
BSPTreeVisitor.Order |
RegionFactory.NodesCleaner.visitOrder(BSPTree<S> node)
Determine the visit order for this node.
|
Modifier and Type | Method and Description |
---|---|
void |
NodesSet.addAll(java.lang.Iterable<BSPTree<S>> iterator)
Add nodes if they are not already known.
|
private void |
Characterization.addInsideTouching(SubHyperplane<S> sub,
java.util.List<BSPTree<S>> splitters)
Add a part of the cut sub-hyperplane known to touch an inside cell.
|
private void |
Characterization.addOutsideTouching(SubHyperplane<S> sub,
java.util.List<BSPTree<S>> splitters)
Add a part of the cut sub-hyperplane known to touch an outside cell.
|
private void |
Characterization.characterize(BSPTree<S> node,
SubHyperplane<S> sub,
java.util.List<BSPTree<S>> splitters)
Filter the parts of an hyperplane belonging to the boundary.
|
private void |
BSPTree.recurseCloseCuts(Point<S> point,
double maxOffset,
java.util.List<BSPTree<S>> close)
Get the cells whose cut sub-hyperplanes are close to the point.
|
private BSPTree<S> |
RegionFactory.recurseComplement(BSPTree<S> node,
java.util.Map<BSPTree<S>,BSPTree<S>> map)
Recursively build the complement of a BSP tree.
|
private BSPTree<S> |
RegionFactory.recurseComplement(BSPTree<S> node,
java.util.Map<BSPTree<S>,BSPTree<S>> map)
Recursively build the complement of a BSP tree.
|
private BSPTree<S> |
AbstractRegion.recurseTransform(BSPTree<S> node,
Transform<S,T> transform,
java.util.Map<BSPTree<S>,BSPTree<S>> map)
Recursively transform an inside/outside BSP-tree.
|
private BSPTree<S> |
AbstractRegion.recurseTransform(BSPTree<S> node,
Transform<S,T> transform,
java.util.Map<BSPTree<S>,BSPTree<S>> map)
Recursively transform an inside/outside BSP-tree.
|
private BSPTree<T> |
AbstractSubHyperplane.recurseTransform(BSPTree<T> node,
Hyperplane<S> transformed,
Transform<S,T> transform,
java.util.Map<BSPTree<T>,BSPTree<T>> map)
Recursively transform a BSP-tree from a sub-hyperplane.
|
private BSPTree<T> |
AbstractSubHyperplane.recurseTransform(BSPTree<T> node,
Hyperplane<S> transformed,
Transform<S,T> transform,
java.util.Map<BSPTree<T>,BSPTree<T>> map)
Recursively transform a BSP-tree from a sub-hyperplane.
|
Constructor and Description |
---|
AbstractRegion(BSPTree<S> tree,
double tolerance)
Build a region from an inside/outside BSP tree.
|
BSPTree(SubHyperplane<S> cut,
BSPTree<S> plus,
BSPTree<S> minus,
java.lang.Object attribute)
Build a BSPTree from its underlying elements.
|
BSPTree(SubHyperplane<S> cut,
BSPTree<S> plus,
BSPTree<S> minus,
java.lang.Object attribute)
Build a BSPTree from its underlying elements.
|
Characterization(BSPTree<S> node,
SubHyperplane<S> sub)
Simple constructor.
|
Modifier and Type | Field and Description |
---|---|
private BSPTree<Sphere1D> |
ArcsSet.SubArcsIterator.current
Current node.
|
private BSPTree<Sphere1D> |
ArcsSet.SubArcsIterator.firstStart
Start of the first arc.
|
Modifier and Type | Method and Description |
---|---|
private static BSPTree<Sphere1D> |
ArcsSet.buildTree(double lower,
double upper,
double tolerance)
Build an inside/outside tree representing a single arc.
|
private BSPTree<Sphere1D> |
ArcsSet.childAfter(BSPTree<Sphere1D> node)
Find the child node just after an internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.childBefore(BSPTree<Sphere1D> node)
Find the child node just before an internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.getFirstArcStart()
Get the node corresponding to the first arc start.
|
private BSPTree<Sphere1D> |
ArcsSet.getFirstLeaf(BSPTree<Sphere1D> root)
Get the first leaf node of a tree.
|
private BSPTree<Sphere1D> |
ArcsSet.getLastLeaf(BSPTree<Sphere1D> root)
Get the last leaf node of a tree.
|
private BSPTree<Sphere1D> |
ArcsSet.leafAfter(BSPTree<Sphere1D> node)
Find the leaf node just after an internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.leafBefore(BSPTree<Sphere1D> node)
Find the leaf node just before an internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.nextInternalNode(BSPTree<Sphere1D> node)
Get the next internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.previousInternalNode(BSPTree<Sphere1D> node)
Get the previous internal node.
|
Modifier and Type | Method and Description |
---|---|
private void |
ArcsSet.addArcLimit(BSPTree<Sphere1D> tree,
double alpha,
boolean isStart)
Add an arc limit to a BSP tree under construction.
|
ArcsSet |
ArcsSet.buildNew(BSPTree<Sphere1D> tree)
Build a region using the instance as a prototype.
|
private BSPTree<Sphere1D> |
ArcsSet.childAfter(BSPTree<Sphere1D> node)
Find the child node just after an internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.childBefore(BSPTree<Sphere1D> node)
Find the child node just before an internal node.
|
private double |
ArcsSet.getAngle(BSPTree<Sphere1D> node)
Get the limit angle of an internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.getFirstLeaf(BSPTree<Sphere1D> root)
Get the first leaf node of a tree.
|
private BSPTree<Sphere1D> |
ArcsSet.getLastLeaf(BSPTree<Sphere1D> root)
Get the last leaf node of a tree.
|
private boolean |
ArcsSet.isAfterParent(BSPTree<Sphere1D> node)
Check if a node is the child after its parent in trigonometric order.
|
private boolean |
ArcsSet.isArcEnd(BSPTree<Sphere1D> node)
Check if an internal node corresponds to the end angle of an arc.
|
private boolean |
ArcsSet.isArcStart(BSPTree<Sphere1D> node)
Check if an internal node corresponds to the start angle of an arc.
|
private boolean |
ArcsSet.isBeforeParent(BSPTree<Sphere1D> node)
Check if a node is the child before its parent in trigonometric order.
|
private boolean |
ArcsSet.isDirect(BSPTree<Sphere1D> node)
Check if an internal node has a direct limit angle.
|
private BSPTree<Sphere1D> |
ArcsSet.leafAfter(BSPTree<Sphere1D> node)
Find the leaf node just after an internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.leafBefore(BSPTree<Sphere1D> node)
Find the leaf node just before an internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.nextInternalNode(BSPTree<Sphere1D> node)
Get the next internal node.
|
private BSPTree<Sphere1D> |
ArcsSet.previousInternalNode(BSPTree<Sphere1D> node)
Get the previous internal node.
|
Constructor and Description |
---|
ArcsSet(BSPTree<Sphere1D> tree,
double tolerance)
Build an arcs set from an inside/outside BSP tree.
|
Modifier and Type | Field and Description |
---|---|
private BSPTree<Sphere2D> |
EdgesBuilder.root
Root of the tree.
|
Modifier and Type | Field and Description |
---|---|
private java.util.Map<Edge,BSPTree<Sphere2D>> |
EdgesBuilder.edgeToNode
Built edges and their associated nodes.
|
private java.util.Map<BSPTree<Sphere2D>,java.util.List<Edge>> |
EdgesBuilder.nodeToEdgesList
Reversed map.
|
Modifier and Type | Method and Description |
---|---|
private static BSPTree<Sphere2D> |
SphericalPolygonsSet.verticesToTree(double hyperplaneThickness,
S2Point... vertices)
Build the BSP tree of a polygons set from a simple list of vertices.
|
Modifier and Type | Method and Description |
---|---|
private void |
EdgesBuilder.addContribution(SubCircle sub,
boolean reversed,
BSPTree<Sphere2D> node)
Add the contribution of a boundary edge.
|
SphericalPolygonsSet |
SphericalPolygonsSet.buildNew(BSPTree<Sphere2D> tree)
Build a region using the instance as a prototype.
|
private static void |
SphericalPolygonsSet.insertEdges(double hyperplaneThickness,
BSPTree<Sphere2D> node,
java.util.List<Edge> edges)
Recursively build a tree by inserting cut sub-hyperplanes.
|
void |
PropertiesComputer.visitInternalNode(BSPTree<Sphere2D> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
EdgesBuilder.visitInternalNode(BSPTree<Sphere2D> node)
Visit a BSP tree node node having a non-null sub-hyperplane.
|
void |
PropertiesComputer.visitLeafNode(BSPTree<Sphere2D> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
void |
EdgesBuilder.visitLeafNode(BSPTree<Sphere2D> node)
Visit a leaf BSP tree node node having a null sub-hyperplane.
|
BSPTreeVisitor.Order |
PropertiesComputer.visitOrder(BSPTree<Sphere2D> node)
Determine the visit order for this node.
|
BSPTreeVisitor.Order |
EdgesBuilder.visitOrder(BSPTree<Sphere2D> node)
Determine the visit order for this node.
|
Constructor and Description |
---|
EdgesBuilder(BSPTree<Sphere2D> root,
double tolerance)
Simple constructor.
|
SphericalPolygonsSet(BSPTree<Sphere2D> tree,
double tolerance)
Build a polygons set from a BSP tree.
|