public class SurfaceArc extends Object
Constructor and Description |
---|
SurfaceArc(Ellipsoid shape,
Cartographic center,
double radius,
ClosedTurnDirection turnDirection)
Create a new instance based on the given center point.
|
SurfaceArc(Ellipsoid shape,
Cartographic point,
double heading,
double radius,
ClosedTurnDirection turnDirection)
Create a new instance based on the given point and heading.
|
SurfaceArc(SurfaceArc existingInstance)
Initializes a new instance as a copy of an existing instance.
|
Modifier and Type | Method and Description |
---|---|
boolean |
checkIsInside(Cartographic target)
Check whether the given target point lies within the radius of this arc.
|
double |
configureConnection(ConfigurableConnection connection,
KindOfTangent tangentBehavior)
Given a connection, configure it so that it is tangent to the surface arc.
|
double |
estimateSurfaceDistance()
Get an estimate of the surface distance of the result of
SurfaceArc.getSegment(double) , in meters. |
Cartographic |
getCenter()
Gets the center of the surface arc.
|
double |
getHeadingFromParameter(double arcParameter)
Get the heading of the arc at a point specified by the given parameter.
|
double |
getRadius()
Gets the turning radius of the arc measured from the
Center (get ), in meters. |
SurfaceSegment |
getSegment(double revs)
Get the corresponding immutable surface geometry.
|
double |
getStartParameter()
Gets a parameter along the closed arc that represents the entry into the arc.
|
double |
getStopParameter()
Gets a parameter along the closed arc that represents the exit from the arc.
|
Cartographic |
getSurfacePointFromParameter(double arcParameter)
Get the point on the surface along the surface arc at the given parameter.
|
Ellipsoid |
getSurfaceShape()
Gets the shape of the surface on which the arc is defined.
|
ClosedTurnDirection |
getTurnDirection()
Gets the direction in which the path turns over the surface.
|
boolean |
isSameDefinition(SurfaceArc other)
Determines if this arc has the same orientation and parameters as another arc.
|
void |
setStartParameter(double value)
Sets a parameter along the closed arc that represents the entry into the arc.
|
void |
setStopParameter(double value)
Sets a parameter along the closed arc that represents the exit from the arc.
|
EllipsoidSurfaceCurve |
targetPoint(ConnectionStrategy curve,
Cartographic target,
KindOfTangent tangentBehavior)
Given a target point outside of the arc, find the heading that is tangent to the
EllipsoidSurfaceCurve connecting the target point and the arc. |
public SurfaceArc(Ellipsoid shape, @Nonnull Cartographic point, double heading, double radius, @Nonnull ClosedTurnDirection turnDirection)
shape
- The shape of the surface on which to define the arc.point
- The starting point for the arc.heading
- The initial heading along the arc, in radians.radius
- The turning radius of the arc measured from the center point
, in meters.turnDirection
- The direction in which to turn on the surface.public SurfaceArc(Ellipsoid shape, @Nonnull Cartographic center, double radius, @Nonnull ClosedTurnDirection turnDirection)
shape
- The shape of the surface on which to define the arc.center
- The center point for the arc.radius
- The turning radius of the arc measured from the center
, in meters.turnDirection
- The direction in which to turn on the surface.public SurfaceArc(@Nonnull SurfaceArc existingInstance)
existingInstance
- The existing instance to copy.ArgumentNullException
- Thrown when existingInstance
is null
.public final boolean isSameDefinition(SurfaceArc other)
other
- The other arc to test.@Nonnull public final Cartographic getCenter()
public final double getRadius()
Center
(get
), in meters.public final Ellipsoid getSurfaceShape()
@Nonnull public final ClosedTurnDirection getTurnDirection()
public double getStartParameter()
public void setStartParameter(double value)
public double getStopParameter()
public void setStopParameter(double value)
@Nonnull public SurfaceSegment getSegment(double revs)
public final double estimateSurfaceDistance()
SurfaceArc.getSegment(double)
, in meters.public final EllipsoidSurfaceCurve targetPoint(ConnectionStrategy curve, @Nonnull Cartographic target, @Nonnull KindOfTangent tangentBehavior)
EllipsoidSurfaceCurve
connecting the target point and the arc.curve
- The type of curve to use when targeting.target
- The target point outside of the arc radius.tangentBehavior
- Indicates whether the resulting line
is leaving the arc or entering it.EllipsoidSurfaceCurve
that is tangent to the arc and the
given target point.public final boolean checkIsInside(@Nonnull Cartographic target)
target
- The target point to check.public final double configureConnection(ConfigurableConnection connection, @Nonnull KindOfTangent tangentBehavior)
connection
- The connection to configure.tangentBehavior
- Indicates whether the connection
is leaving the arc or entering it.@Nonnull public final Cartographic getSurfacePointFromParameter(double arcParameter)
arcParameter
- The parameter along the surface arc roughly equivalent to an
angular measure in radians.public final double getHeadingFromParameter(double arcParameter)
arcParameter
- The parameter along the surface arc roughly equivalent to an
angular measure in radians.