public class EllipsoidComplexSurfaceCurve extends EllipsoidSurfaceCurve
Modifier and Type  Method and Description 

CartographicExtent 
computeCartographicExtent()
Computes the cartographic bounding box which completely contains all of the constituent curves.

static EllipsoidComplexSurfaceCurve 
createCurve(EllipsoidSurfaceCurve... curves)
Constructs a complex curve based on a given set of constituent curves.

static EllipsoidComplexSurfaceCurve 
createGeodesic(Ellipsoid shape,
Iterable<Cartographic> nodes)
Creates a complex curve made up of
EllipsoidGeodesics which connect the given set of
nodes on the surface of the ellipsoid shape . 
static EllipsoidComplexSurfaceCurve 
createRhumbLine(Ellipsoid shape,
Iterable<Cartographic> nodes)
Creates a complex curve made up of
EllipsoidRhumbLines which connect the given set of
nodes on the surface of the ellipsoid shape . 
List<EllipsoidSurfaceCurve> 
getCurves()
Gets a read only list of the constituent curves which comprise the overall curve.

List<Cartographic> 
getDiscretePoints(double granularity)
Get a set of points which discretely represent the overall curve.

Ellipsoid 
getEllipsoid()
Gets the ellipsoid reference surface on which the curve lies.

Cartographic 
getFinalPoint()
Gets the final planetodetic point on the path.

Cartographic 
getInitialPoint()
Gets the initial planetodetic point on the path.

double 
getSurfaceDistance()
Gets the total distance along the curve to the location of the final point.

Cartographic 
interpolateUsingFraction(double fraction)
Provides the location of a point at the indicated portion along the curve.

Cartographic 
interpolateUsingSurfaceDistance(double surfaceDistance)
Provides the location of a point at the indicated distance along the curve.

@Nonnull public static EllipsoidComplexSurfaceCurve createCurve(@Nonnull EllipsoidSurfaceCurve... curves)
curves
 The set of constituent curves.@Nonnull public static EllipsoidComplexSurfaceCurve createGeodesic(@Nonnull Ellipsoid shape, @Nonnull Iterable<Cartographic> nodes)
EllipsoidGeodesics
which connect the given set of
nodes
on the surface of the ellipsoid shape
.shape
 The ellipsoid reference surface.nodes
 The set of points forming the nodes of the complex curve.ArgumentOutOfRangeException
 Thrown if the number of nodes is less than 2.@Nonnull public static EllipsoidComplexSurfaceCurve createRhumbLine(@Nonnull Ellipsoid shape, @Nonnull Iterable<Cartographic> nodes)
EllipsoidRhumbLines
which connect the given set of
nodes
on the surface of the ellipsoid shape
.shape
 The ellipsoid reference surface.nodes
 The set of points forming the nodes of the complex curve.ArgumentOutOfRangeException
 Thrown if the number of nodes is less than 2.@Nonnull public Cartographic getInitialPoint()
getInitialPoint
in class EllipsoidSurfaceCurve
@Nonnull public Cartographic getFinalPoint()
getFinalPoint
in class EllipsoidSurfaceCurve
public double getSurfaceDistance()
getSurfaceDistance
in class EllipsoidSurfaceCurve
@Nonnull public final List<EllipsoidSurfaceCurve> getCurves()
public Ellipsoid getEllipsoid()
getEllipsoid
in class EllipsoidSurfaceCurve
@Nonnull public Cartographic interpolateUsingFraction(double fraction)
interpolateUsingFraction
in class EllipsoidSurfaceCurve
fraction
 The portion of the distance between the initial and final points.@Nonnull public Cartographic interpolateUsingSurfaceDistance(double surfaceDistance)
interpolateUsingSurfaceDistance
in class EllipsoidSurfaceCurve
surfaceDistance
 The distance from the initial point to the point of interest along the rhumb line.public CartographicExtent computeCartographicExtent()
computeCartographicExtent
in class EllipsoidSurfaceCurve
public List<Cartographic> getDiscretePoints(double granularity)
getDiscretePoints
in class EllipsoidSurfaceCurve
granularity
 The maximum angular distance between the discrete points with respect to the center of
the Ellipsoid
(get
). A small granularity will yield a more precise representation
of the curve.ArgumentOutOfRangeException
 The granularity must be positive and non zero.