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.