public class ConvexBoundaryEllipsoidSurfaceRegionBuilder extends EllipsoidSurfaceRegionBuilder
EllipsoidSurfaceRegionBuilder
builder that takes unorganized input points and forms a convex hull that wraps them into a region.
This hull is created by projecting the input points onto a plane centered at the centroid of the input points and connecting boundary nodes via geodesics.
This region's centroid will be with respect to all input points, not the final boundary. For large regions, the technique used will be subject to distortions.
Constructor and Description |
---|
ConvexBoundaryEllipsoidSurfaceRegionBuilder()
Initializes a new builder.
|
ConvexBoundaryEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface,
Iterable<Cartographic> unorganizedNodes)
Initializes a new builder.
|
ConvexBoundaryEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface,
Iterable<Cartographic> unorganizedNodes,
Cartographic referencePoint,
boolean referencePointInsideRegion)
Initializes a new builder.
|
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. |
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()
|
ArrayList<Cartographic> |
getUnorganizedNodes()
Gets the unorganized nodes that will form the surface boundary.
|
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)
|
void |
setUnorganizedNodes(ArrayList<Cartographic> value)
Sets the unorganized nodes that will form the surface boundary.
|
getCentroid, getClosedPoints, getEllipsoidSurfaceRegion, getEllipsoidSurfaceRegionHole, getGranularity, getHoles, getReferenceSurface, setGranularity, setReferenceSurface
public ConvexBoundaryEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface, @Nonnull Iterable<Cartographic> unorganizedNodes, @Nonnull Cartographic referencePoint, boolean referencePointInsideRegion)
referenceSurface
- The ellipsoid on which this surface is defined.unorganizedNodes
- A list of unorganized points that compose the desired 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.public ConvexBoundaryEllipsoidSurfaceRegionBuilder(Ellipsoid referenceSurface, @Nonnull Iterable<Cartographic> unorganizedNodes)
referenceSurface
- The ellipsoid on which this surface is defined.unorganizedNodes
- A list of unorganized points that compose the desired region.public ConvexBoundaryEllipsoidSurfaceRegionBuilder()
public final ArrayList<Cartographic> getUnorganizedNodes()
public final void setUnorganizedNodes(ArrayList<Cartographic> value)
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
.