public class EllipsoidSurfaceRegionHole extends Object implements IEquatable<EllipsoidSurfaceRegionHole>, IGetEllipsoidSurfaceRegionHole, IGetEllipsoidSurfaceRegion
Ellipsoid
bounded by a closed surface curve.
Various techniques exist to create ellipsoid surface region holes.
See ConvexBoundaryEllipsoidSurfaceRegionBuilder
, SpecifiedNodesEllipsoidSurfaceRegionBuilder
,
SpecifiedExtentEllipsoidSurfaceRegionBuilder
, and SpecifiedCurveEllipsoidSurfaceRegionBuilder
.
Modifier and Type | Method and Description |
---|---|
double |
checkPointInsideRegion(Cartographic point)
Checks to see if the given planetodetic point lies inside the boundary and returns a heuristic measure
of how close the point is to the boundary.
|
CartographicExtent |
computeCartographicExtent()
Computes the cartographic bounding box which completely contains the surface region.
|
boolean |
equals(Object obj)
Indicates whether another object is exactly equal to this instance.
|
boolean |
equalsType(EllipsoidSurfaceRegionHole other)
Indicates whether the current object is equal to another object of the same type.
|
EllipsoidSurfaceCurve |
getBoundaryCurve()
Gets the closed curve defining the boundary of the surface region.
|
Cartographic |
getCentroid()
Gets the point which represents a single planetodetic location for the overall area of the region.
|
EllipsoidSurfaceRegion |
getEllipsoidSurfaceRegion()
Gets the
EllipsoidSurfaceRegion . |
EllipsoidSurfaceRegionHole |
getEllipsoidSurfaceRegionHole()
Gets the
EllipsoidSurfaceRegionHole . |
Ellipsoid |
getReferenceSurface()
Gets the reference surface on which the region is represented by a closed boundary curve.
|
int |
hashCode()
Returns a hash code for this instance, which is suitable for use in hashing algorithms and data structures like a hash table.
|
boolean |
isPointInsideRegion(Cartographic point)
Determines whether the given planetodetic point lies inside the region.
|
boolean |
isPointInsideRegionEpsilon(Cartographic point,
double epsilon)
Determines whether the given planetodetic point lies inside the region.
|
@Nonnull public Cartographic getCentroid()
@Nonnull public final Ellipsoid getReferenceSurface()
@Nonnull public final EllipsoidSurfaceCurve getBoundaryCurve()
public final boolean isPointInsideRegionEpsilon(@Nonnull Cartographic point, double epsilon)
Height above the surface is ignored. A negative epsilon
effectively shrinks the region, a positive value
effectively inflates the region.
point
- The planetodetic point to test.epsilon
- The distance from the boundary that is still considered within the region.true
if the point lies inside the boundary; otherwise false
.public final boolean isPointInsideRegion(@Nonnull Cartographic point)
Height above the surface is ignored. The results may not be as expected when exactly on a boundary.
point
- The planetodetic point to test.true
if the point lies inside the boundary; otherwise false
.public final double checkPointInsideRegion(@Nonnull Cartographic point)
point
- The planetodetic point to check.Centroid
(get
). This can be used as a heuristic measure of how close the point is to the boundary.@Nonnull public final CartographicExtent computeCartographicExtent()
public final EllipsoidSurfaceRegionHole getEllipsoidSurfaceRegionHole()
EllipsoidSurfaceRegionHole
.getEllipsoidSurfaceRegionHole
in interface IGetEllipsoidSurfaceRegionHole
EllipsoidSurfaceRegionHole
.public final EllipsoidSurfaceRegion getEllipsoidSurfaceRegion()
EllipsoidSurfaceRegion
.
Creates an EllipsoidSurfaceRegion
based on this hole.
getEllipsoidSurfaceRegion
in interface IGetEllipsoidSurfaceRegion
EllipsoidSurfaceRegion
.public boolean equals(Object obj)
equals
in class Object
obj
- The object to compare to this instance.true
if obj
is an instance of this type and represents the same value as this instance; otherwise false
.Object.hashCode()
,
HashMap
public final boolean equalsType(EllipsoidSurfaceRegionHole other)
IEquatable
equalsType
in interface IEquatable<EllipsoidSurfaceRegionHole>
other
- An object to compare with this object.public int hashCode()
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)