public final class TerrainAlongLine extends Object
Modifier and Type  Field and Description 

static double 
DefaultMaximumTerrainHeight
The default value for the maximum height in meters that can be returned by a
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double) method. 
Modifier and Type  Method and Description 

static double 
computeElevationAngleAboveTerrain(Cartesian observerPositionFixed,
Cartesian targetPositionFixed,
TerrainProvider terrainProvider)
Computes the elevation angle of the target object above the highest terrain between
the target and an observer.

static double 
computeElevationAngleAboveTerrain(Cartesian observerPositionFixed,
Cartesian targetPositionFixed,
TerrainProvider terrainProvider,
double maximumTerrainHeight)
Computes the elevation angle of the target object above the highest terrain between
the target and an observer.

static double 
computeElevationAngleAboveTerrain(Cartographic observerPosition,
Cartographic targetPosition,
TerrainProvider terrainProvider)
Computes the elevation angle of the target object above the highest terrain between
the target and an observer.

static double 
computeElevationAngleAboveTerrain(Cartographic observerPosition,
Cartographic targetPosition,
TerrainProvider terrainProvider,
double maximumTerrainHeight)
Computes the elevation angle of the target object above the highest terrain between
the target and an observer.

static Cartographic 
computeTerrainIntersection(Cartesian cartesian,
Cartographic cartographic,
UnitCartesian direction,
double granularity,
double maximumDistance,
TerrainProvider terrainProvider)
Computes the location of the first intersection with terrain from the provided location
along the indicated direction.

static Cartographic 
computeTerrainIntersection(Cartesian cartesian,
Cartographic cartographic,
UnitCartesian direction,
double granularity,
double maximumDistance,
TerrainProvider terrainProvider,
double maximumTerrainHeight)
Computes the location of the first intersection with terrain from the provided location
along the indicated direction.

static Cartographic 
computeTerrainIntersection(Cartesian cartesian,
UnitCartesian direction,
double granularity,
double maximumDistance,
TerrainProvider terrainProvider)
Computes the location of the first intersection with terrain from the provided location
along the indicated direction.

static Cartographic 
computeTerrainIntersection(Cartesian cartesian,
UnitCartesian direction,
double granularity,
double maximumDistance,
TerrainProvider terrainProvider,
double maximumTerrainHeight)
Computes the location of the first intersection with terrain from the provided location
along the indicated direction.

static Cartographic 
computeTerrainIntersection(Cartographic cartographic,
UnitCartesian direction,
double granularity,
double maximumDistance,
TerrainProvider terrainProvider)
Computes the location of the first intersection with terrain from the provided location
along the indicated direction.

static Cartographic 
computeTerrainIntersection(Cartographic cartographic,
UnitCartesian direction,
double granularity,
double maximumDistance,
TerrainProvider terrainProvider,
double maximumTerrainHeight)
Computes the location of the first intersection with terrain from the provided location
along the indicated direction.

public static final double DefaultMaximumTerrainHeight
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.public static double computeElevationAngleAboveTerrain(@Nonnull Cartesian observerPositionFixed, @Nonnull Cartesian targetPositionFixed, @Nonnull TerrainProvider terrainProvider)
TerrainAlongLine.DefaultMaximumTerrainHeight
is used
for the computation.observerPositionFixed
 The position of the observer object, expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.targetPositionFixed
 The position of the target object, expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.public static double computeElevationAngleAboveTerrain(@Nonnull Cartesian observerPositionFixed, @Nonnull Cartesian targetPositionFixed, @Nonnull TerrainProvider terrainProvider, double maximumTerrainHeight)
observerPositionFixed
 The position of the observer object, expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.targetPositionFixed
 The position of the target object, expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.maximumTerrainHeight
 The maximum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method
Setting this value higher than necessary will not affect the results, but it will decrease
performance. Setting it too low can cause incorrect results. For realistic Earthbased terrains,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.public static double computeElevationAngleAboveTerrain(@Nonnull Cartographic observerPosition, @Nonnull Cartographic targetPosition, @Nonnull TerrainProvider terrainProvider)
TerrainAlongLine.DefaultMaximumTerrainHeight
is used
for the computation.observerPosition
 The planetodetic position of the observer object, expressed as a longitude, latitude, and altitude
relative to the ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.targetPosition
 The planetodetic position of the target object, expressed as a longitude, latitude, and altitude
relative to the ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.public static double computeElevationAngleAboveTerrain(@Nonnull Cartographic observerPosition, @Nonnull Cartographic targetPosition, @Nonnull TerrainProvider terrainProvider, double maximumTerrainHeight)
observerPosition
 The planetodetic position of the observer object, expressed as a longitude, latitude, and altitude
relative to the ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.targetPosition
 The planetodetic position of the target object, expressed as a longitude, latitude, and altitude
relative to the ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.maximumTerrainHeight
 The maximum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method
Setting this value higher than necessary will not affect the results, but it will decrease
performance. Setting it too low can cause incorrect results. For realistic Earthbased terrains,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartesian cartesian, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider)
TerrainAlongLine.DefaultMaximumTerrainHeight
is used
for the computation.cartesian
 The Cartesian representation of the location expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.direction
 The direction along which to check for intersection with terrain.granularity
 The sampling step as a positively valued fraction of the terrain resolution.maximumDistance
 A positively valued limit on the distance in meters along
the indicated direction
at which intersection with terrain is no longer checked.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.Shape
(get
/ set
) property of the
terrainProvider
or null if no intersection exists. The provided location may be returned
as the point of intersection if it lies on the terrain surface and the indicated direction is directly
into the terrain surface.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartesian cartesian, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider, double maximumTerrainHeight)
cartesian
 The Cartesian representation of the location expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.direction
 The direction along which to check for intersection with terrain.granularity
 The sampling step as a positively valued fraction of the terrain resolution.maximumDistance
 A positively valued limit on the distance in meters along
the indicated direction
at which intersection with terrain is no longer checked.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.maximumTerrainHeight
 The maximum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method
Setting this value higher than necessary will not affect the results, but it will decrease
performance. Setting it too low can cause incorrect results. For realistic Earthbased terrains,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.Shape
(get
/ set
) property of the
terrainProvider
or null if no intersection exists. The provided location may be returned
as the point of intersection if it lies on the terrain surface and the indicated direction is directly
into the terrain surface.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartographic cartographic, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider)
TerrainAlongLine.DefaultMaximumTerrainHeight
is used
for the computation.cartographic
 The planetodetic cartographic representation of the location expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.direction
 The direction along which to check for intersection with terrain.granularity
 The sampling step as a positively valued fraction of the terrain resolution.maximumDistance
 A positively valued limit on the distance in meters along
the indicated direction
at which intersection with terrain is no longer checked.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.Shape
(get
/ set
) property of the
terrainProvider
or null if no intersection exists. The provided location may be returned
as the point of intersection if it lies on the terrain surface and the indicated direction is directly
into the terrain surface.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartographic cartographic, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider, double maximumTerrainHeight)
cartographic
 The planetodetic cartographic representation of the location expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.direction
 The direction along which to check for intersection with terrain.granularity
 The sampling step as a positively valued fraction of the terrain resolution.maximumDistance
 A positively valued limit on the distance in meters along
the indicated direction
at which intersection with terrain is no longer checked.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.maximumTerrainHeight
 The maximum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method
Setting this value higher than necessary will not affect the results, but it will decrease
performance. Setting it too low can cause incorrect results. For realistic Earthbased terrains,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.Shape
(get
/ set
) property of the
terrainProvider
or null if no intersection exists. The provided location may be returned
as the point of intersection if it lies on the terrain surface and the indicated direction is directly
into the terrain surface.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartesian cartesian, @Nonnull Cartographic cartographic, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider)
Cartesian
and Cartographic
representations of the location are provided which eliminates the need for conversion within
the algorithm and results in greater efficiency. The TerrainAlongLine.DefaultMaximumTerrainHeight
is used
for the computation.cartesian
 The Cartesian representation of the location expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.cartographic
 The planetodetic cartographic representation of the location expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.direction
 The direction along which to check for intersection with terrain.granularity
 The sampling step as a positively valued fraction of the terrain resolution.maximumDistance
 A positively valued limit on the distance in meters along
the indicated direction
at which intersection with terrain is no longer checked.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.Shape
(get
/ set
) property of the
terrainProvider
or null if no intersection exists. The provided location may be returned
as the point of intersection if it lies on the terrain surface and the indicated direction is directly
into the terrain surface.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartesian cartesian, @Nonnull Cartographic cartographic, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider, double maximumTerrainHeight)
Cartesian
and Cartographic
representations of the location are provided which eliminates the need for conversion within
the algorithm and results in greater efficiency.cartesian
 The Cartesian representation of the location expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.cartographic
 The planetodetic cartographic representation of the location expressed in the reference frame fixed to the
ellipsoid specified by the Shape
(get
/ set
) property of the
terrainProvider
.direction
 The direction along which to check for intersection with terrain.granularity
 The sampling step as a positively valued fraction of the terrain resolution.maximumDistance
 A positively valued limit on the distance in meters along
the indicated direction
at which intersection with terrain is no longer checked.terrainProvider
 The terrain provider describing the terrain that is potentially obscuring the path
between the two objects.maximumTerrainHeight
 The maximum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method
Setting this value higher than necessary will not affect the results, but it will decrease
performance. Setting it too low can cause incorrect results. For realistic Earthbased terrains,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.Shape
(get
/ set
) property of the
terrainProvider
or null if no intersection exists. The provided location may be returned
as the point of intersection if it lies on the terrain surface and the indicated direction is directly
into the terrain surface.