public class SpecifiedNodesEllipsoidSurfaceRegionBuilder extends EllipsoidSurfaceRegionBuilder
EllipsoidSurfaceRegionBuilder
that builds a region based upon
input boundary nodes (vertices) and a node connection type.Constructor and Description |
---|
SpecifiedNodesEllipsoidSurfaceRegionBuilder()
|
SpecifiedNodesEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface,
double granularity,
Iterable<Cartographic> nodes)
|
SpecifiedNodesEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface,
double granularity,
Iterable<Cartographic> nodes,
Cartographic referencePoint,
boolean referencePointInsideRegion)
|
SpecifiedNodesEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface,
Iterable<Cartographic> nodes)
|
SpecifiedNodesEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface,
Iterable<Cartographic> nodes,
EllipsoidSurfaceRegionCurveConnectionType connectionType)
|
Modifier and Type | Method and Description |
---|---|
protected EllipsoidSurfaceRegionHole |
buildHole()
A method that constructs an
EllipsoidSurfaceRegionHole based upon the builder's configuration. |
protected EllipsoidSurfaceRegion |
buildRegion(List<EllipsoidSurfaceRegionHole> holes)
A method that constructs an
EllipsoidSurfaceRegion based upon the builder's configuration. |
ArrayList<Cartographic> |
getBoundaryNodes()
Gets the boundary nodes for the surface region.
|
EllipsoidSurfaceRegionCurveConnectionType |
getConnectionType()
Gets the
EllipsoidSurfaceRegionCurveConnectionType for the surface region. |
Cartographic |
getReferencePoint()
Gets a reference point to manually specify as inside or outside the region, to allow for cases like regions
larger than half the globe since the default behavior always selects the smaller portion of the ellipsoid as the region.
|
Boolean |
getReferencePointInsideRegion()
|
void |
setConnectionType(EllipsoidSurfaceRegionCurveConnectionType value)
Sets the
EllipsoidSurfaceRegionCurveConnectionType for the surface region. |
void |
setReferencePoint(Cartographic value)
Sets a reference point to manually specify as inside or outside the region, to allow for cases like regions
larger than half the globe since the default behavior always selects the smaller portion of the ellipsoid as the region.
|
void |
setReferencePointInsideRegion(Boolean value)
|
getCentroid, getClosedPoints, getEllipsoidSurfaceRegion, getEllipsoidSurfaceRegionHole, getGranularity, getHoles, getReferenceSurface, setGranularity, setReferenceSurface
public SpecifiedNodesEllipsoidSurfaceRegionBuilder()
public SpecifiedNodesEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface, @Nonnull Iterable<Cartographic> nodes)
ConnectionType
(get
/ set
) set to geodesic. The default granularity, π / 360.0, is used.referenceSurface
- The ellipsoid on which this surface is defined.nodes
- The boundary nodes for the surface region.ArgumentNullException
- Thrown when nodes
is null
.public SpecifiedNodesEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface, @Nonnull Iterable<Cartographic> nodes, @Nonnull EllipsoidSurfaceRegionCurveConnectionType connectionType)
ConnectionType
(get
/ set
) set to geodesic. The default granularity, π / 360.0, is used.referenceSurface
- The ellipsoid on which this surface is defined.nodes
- The boundary nodes for the surface region.connectionType
- The type of connection between each node.ArgumentNullException
- Thrown when nodes
is null
.public SpecifiedNodesEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface, double granularity, @Nonnull Iterable<Cartographic> nodes)
referenceSurface
- The ellipsoid on which this surface is defined.granularity
- The separation between points on the border.nodes
- The boundary nodes for the surface region.ArgumentNullException
- Thrown when nodes
is null
.public SpecifiedNodesEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface, double granularity, @Nonnull Iterable<Cartographic> nodes, @Nonnull Cartographic referencePoint, boolean referencePointInsideRegion)
referenceSurface
- The ellipsoid on which this surface is defined.granularity
- The separation between points on the border.nodes
- The boundary nodes for the surface region.referencePoint
- A reference point to manually specify as inside or outside the region, to allow for cases like regions
larger than half the globe since the default behavior always selects the smaller portion of the ellipsoid as the region.referencePointInsideRegion
- The specification for whether the referencePoint
is inside or outside the region.ArgumentNullException
- Thrown when nodes
is null
.@Nonnull public final ArrayList<Cartographic> getBoundaryNodes()
@Nonnull public final EllipsoidSurfaceRegionCurveConnectionType getConnectionType()
EllipsoidSurfaceRegionCurveConnectionType
for the surface region.public final void setConnectionType(@Nonnull EllipsoidSurfaceRegionCurveConnectionType value)
EllipsoidSurfaceRegionCurveConnectionType
for the surface region.public final void setReferencePointInsideRegion(@Nullable Boolean value)
@Nonnull public final Cartographic getReferencePoint()
This reference point should not lie exactly on the boundary.
public final void setReferencePoint(@Nonnull Cartographic value)
This reference point should not lie exactly on the boundary.
protected EllipsoidSurfaceRegionHole buildHole()
EllipsoidSurfaceRegionHole
based upon the builder's configuration.buildHole
in class EllipsoidSurfaceRegionBuilder
EllipsoidSurfaceRegionHole
.protected EllipsoidSurfaceRegion buildRegion(List<EllipsoidSurfaceRegionHole> holes)
EllipsoidSurfaceRegion
based upon the builder's configuration.buildRegion
in class EllipsoidSurfaceRegionBuilder
holes
- The holes to add to the surface definition.EllipsoidSurfaceRegion
.