public class ArcsSet extends AbstractRegion<Sphere1D,Sphere1D> implements Iterable<double[]>
 Note that due to the wrapping around \(2 \pi\), barycenter is
 ill-defined here. It was defined only in order to fulfill
 the requirements of the Region
 interface, but its use is discouraged.
 
| Modifier and Type | Class and Description | 
|---|---|
| static class  | ArcsSet.InconsistentStateAt2PiWrappingSpecialized exception for inconsistent BSP tree state inconsistency. | 
| static class  | ArcsSet.SplitClass holding the results of the  splitmethod. | 
Region.Location| Constructor and Description | 
|---|
| ArcsSet(BSPTree<Sphere1D> tree,
       double tolerance)Build an arcs set from an inside/outside BSP tree. | 
| ArcsSet(Collection<SubHyperplane<Sphere1D>> boundary,
       double tolerance)Build an arcs set from a Boundary REPresentation (B-rep). | 
| ArcsSet(double tolerance)Build an arcs set representing the whole circle. | 
| ArcsSet(double lower,
       double upper,
       double tolerance)Build an arcs set corresponding to a single arc. | 
| Modifier and Type | Method and Description | 
|---|---|
| List<Arc> | asList()Build an ordered list of arcs representing the instance. | 
| ArcsSet | buildNew(BSPTree<Sphere1D> tree)Build a region using the instance as a prototype. | 
| protected void | computeGeometricalProperties()Compute some geometrical properties. | 
| Iterator<double[]> | iterator() | 
| BoundaryProjection<Sphere1D> | projectToBoundary(Point<Sphere1D> point)Project a point on the boundary of the region. | 
| Side | side(Arc arc)Deprecated. 
 as of 3.6, replaced with  split(Arc).ArcsSet.Split.getSide() | 
| ArcsSet.Split | split(Arc arc)Split the instance in two parts by an arc. | 
applyTransform, checkPoint, checkPoint, checkPoint, checkPoint, contains, copySelf, getBarycenter, getBoundarySize, getSize, getTolerance, getTree, intersection, isEmpty, isEmpty, isFull, isFull, setBarycenter, setBarycenter, setSize, sidepublic ArcsSet(double tolerance)
tolerance - tolerance below which close sub-arcs are merged togetherpublic ArcsSet(double lower,
       double upper,
       double tolerance)
        throws NumberIsTooLargeException
 If either lower is equals to upper or
 the interval exceeds \( 2 \pi \), the arc is considered
 to be the full circle and its initial defining boundaries
 will be forgotten. lower is not allowed to be greater
 than upper (an exception is thrown in this case).
 
lower - lower bound of the arcupper - upper bound of the arctolerance - tolerance below which close sub-arcs are merged togetherNumberIsTooLargeException - if lower is greater than upperpublic ArcsSet(BSPTree<Sphere1D> tree, double tolerance) throws ArcsSet.InconsistentStateAt2PiWrapping
The leaf nodes of the BSP tree must have a
 Boolean attribute representing the inside status of
 the corresponding cell (true for inside cells, false for outside
 cells). In order to avoid building too many small objects, it is
 recommended to use the predefined constants
 Boolean.TRUE and Boolean.FALSE
tree - inside/outside BSP tree representing the arcs settolerance - tolerance below which close sub-arcs are merged togetherArcsSet.InconsistentStateAt2PiWrapping - if the tree leaf nodes are not
 consistent across the \( 0, 2 \pi \) crossingpublic ArcsSet(Collection<SubHyperplane<Sphere1D>> boundary, double tolerance) throws ArcsSet.InconsistentStateAt2PiWrapping
The boundary is provided as a collection of sub-hyperplanes. Each sub-hyperplane has the
 interior part of the region on its minus side and the exterior on
 its plus side.
The boundary elements can be in any order, and can form
 several non-connected sets (like for example polygons with holes
 or a set of disjoints polyhedrons considered as a whole). In
 fact, the elements do not even need to be connected together
 (their topological connections are not used here). However, if the
 boundary does not really separate an inside open from an outside
 open (open having here its topological meaning), then subsequent
 calls to the checkPoint method will not be meaningful anymore.
If the boundary is empty, the region will represent the whole space.
boundary - collection of boundary elementstolerance - tolerance below which close sub-arcs are merged togetherArcsSet.InconsistentStateAt2PiWrapping - if the tree leaf nodes are not
 consistent across the \( 0, 2 \pi \) crossingpublic ArcsSet buildNew(BSPTree<Sphere1D> tree)
This method allow to create new instances without knowing exactly the type of the region. It is an application of the prototype design pattern.
The leaf nodes of the BSP tree must have a
 Boolean attribute representing the inside status of
 the corresponding cell (true for inside cells, false for outside
 cells). In order to avoid building too many small objects, it is
 recommended to use the predefined constants
 Boolean.TRUE and Boolean.FALSE. The
 tree also must have either null internal nodes or
 internal nodes representing the boundary as specified in the
 getTree method).
protected void computeGeometricalProperties()
The properties to compute are the barycenter and the size.
computeGeometricalProperties in class AbstractRegion<Sphere1D,Sphere1D>public BoundaryProjection<Sphere1D> projectToBoundary(Point<Sphere1D> point)
projectToBoundary in interface Region<Sphere1D>projectToBoundary in class AbstractRegion<Sphere1D,Sphere1D>point - point to checkpublic List<Arc> asList()
This method builds this arcs set as an ordered list of
 Arc elements. An empty tree will build an empty list
 while a tree representing the whole circle will build a one
 element list with bounds set to \( 0 and 2 \pi \).
Arc elementspublic Iterator<double[]> iterator()
The iterator returns the limit angles pairs of sub-arcs in trigonometric order.
 The iterator does not support the optional remove operation.
 
@Deprecated public Side side(Arc arc)
 The Side.MINUS side of the arc is the one covered by the arc.
 
arc - arc to check instance againstSide.PLUS, Side.MINUS, Side.BOTH
 or Side.HYPERpublic ArcsSet.Split split(Arc arc)
arc - splitting arcCopyright © 2003–2016 The Apache Software Foundation. All rights reserved.