public abstract class ConnectionStrategy extends Object
Cartographic
point to another.Modifier | Constructor and Description |
---|---|
protected |
ConnectionStrategy()
Initializes a new instance.
|
Modifier and Type | Method and Description |
---|---|
abstract double |
getDistance()
Get the total distance traversed by this connection from start to finish, in meters.
|
abstract double |
getFinalHeading()
Get the final heading of the connection, in radians.
|
abstract double |
getFinalHeading(Ellipsoid shape,
Cartographic initialPoint,
Cartographic finalPoint)
Get the final heading of the curve corresponding to the given parameters.
|
abstract double |
getFinalHeading(Ellipsoid shape,
Cartographic initialPoint,
double heading,
double distance)
Get the final heading of the curve corresponding to the given parameters.
|
abstract double |
getFinalHeading(EllipsoidSurfaceCurve curve)
Get the final heading of the given curve, in radians.
|
abstract Cartographic |
getFinalPoint()
Gets the final point of the connection segment.
|
abstract double |
getHeading(double s)
Get the heading at an arbitrary point along the connection, in radians.
|
abstract double |
getInitialHeading()
Get the initial heading of the connection, in radians.
|
abstract double |
getInitialHeading(Ellipsoid shape,
Cartographic initialPoint,
Cartographic finalPoint)
Get the initial heading of the curve corresponding to the given parameters.
|
abstract double |
getInitialHeading(EllipsoidSurfaceCurve curve)
Get the initial heading of the given curve, in radians.
|
abstract Cartographic |
getInitialPoint()
Gets the initial point of the connection segment.
|
abstract EllipsoidSurfaceCurve |
getSurfaceCurve(Ellipsoid shape,
Cartographic initialPoint,
Cartographic finalPoint)
Generate a curve representing the connection from the initial to the final point.
|
abstract EllipsoidSurfaceCurve |
getSurfaceCurve(Ellipsoid shape,
Cartographic initialPoint,
double heading,
double distance)
Generate a curve representing the connection from the initial to the final point.
|
abstract Cartographic |
getSurfacePoint(double s)
Get the surface point along the connection at the given arc length.
|
abstract SurfaceSegment |
getSurfaceSegment()
Get an instance of the surface geometry corresponding to this connection segment.
|
abstract Ellipsoid |
getSurfaceShape()
Gets the shape of the reference surface upon which the surface geometry is defined.
|
abstract void |
setPoints(Cartographic start,
Cartographic stop)
Set the initial and final points of the connection segment.
|
abstract void |
setStart(Cartographic start)
Set the initial point of the connection segment.
|
abstract void |
setStop(Cartographic stop)
Set the final point of the connection segment.
|
abstract void |
setSurfaceCurve(EllipsoidSurfaceCurve curve)
Set this connection to use the given surface curve.
|
public abstract EllipsoidSurfaceCurve getSurfaceCurve(Ellipsoid shape, @Nonnull Cartographic initialPoint, @Nonnull Cartographic finalPoint)
shape
- The surface shape to use.initialPoint
- The initial point of the curve.finalPoint
- The final point of the curve.public abstract EllipsoidSurfaceCurve getSurfaceCurve(Ellipsoid shape, @Nonnull Cartographic initialPoint, double heading, double distance)
shape
- The surface shape to use.initialPoint
- The initial point of the curve.heading
- The initial heading along the curve, in radians.distance
- The surface distance along the curve, in meters.public abstract double getInitialHeading(EllipsoidSurfaceCurve curve)
curve
- The curve to analyze.public abstract double getFinalHeading(EllipsoidSurfaceCurve curve)
curve
- The curve to analyze.public abstract double getInitialHeading(Ellipsoid shape, @Nonnull Cartographic initialPoint, @Nonnull Cartographic finalPoint)
shape
- The shape of the surface.initialPoint
- The initial point of the curve.finalPoint
- The final point of the curve.public abstract double getFinalHeading(Ellipsoid shape, @Nonnull Cartographic initialPoint, @Nonnull Cartographic finalPoint)
shape
- The shape of the surface.initialPoint
- The initial point on the curve.finalPoint
- The final point on the curve.public abstract double getFinalHeading(Ellipsoid shape, @Nonnull Cartographic initialPoint, double heading, double distance)
shape
- The shape of the surface.initialPoint
- The initial point on the curve.heading
- The initial heading along the curve, in radians.distance
- The surface distance along the curve, in meters.public abstract void setSurfaceCurve(EllipsoidSurfaceCurve curve)
If the given curve
is incompatible with the
current strategy, the strategy will attempt to create a new curve that will
use the end points of the specified curve.
curve
- The curve to use as the connection.public abstract void setPoints(@Nonnull Cartographic start, @Nonnull Cartographic stop)
start
- The initial point of the connection.stop
- The final point of the connection.public abstract void setStart(@Nonnull Cartographic start)
start
- The initial point of the connection.public abstract void setStop(@Nonnull Cartographic stop)
stop
- The final point of the connection.public abstract double getInitialHeading()
public abstract double getFinalHeading()
public abstract double getDistance()
public abstract SurfaceSegment getSurfaceSegment()
public abstract double getHeading(double s)
s
- The arc length parameter along the connection, in meters.@Nonnull public abstract Cartographic getSurfacePoint(double s)
s
- The arc length parameter along the connection, in meters.@Nonnull public abstract Cartographic getInitialPoint()
@Nonnull public abstract Cartographic getFinalPoint()
public abstract Ellipsoid getSurfaceShape()