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. |
static double |
DefaultMinimumTerrainHeight
The default value for the minimum 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 angle from the line of sight between the target and observer positions
and the direction to the point on terrain with the highest elevation angle.
|
static double |
computeElevationAngleAboveTerrain(Cartesian observerPositionFixed,
Cartesian targetPositionFixed,
TerrainProvider terrainProvider,
double minimumTerrainHeight,
double maximumTerrainHeight)
Computes the angle from the line of sight between the target and observer positions
and the direction to the point on terrain with the highest elevation angle.
|
static double |
computeElevationAngleAboveTerrain(Cartographic observerPosition,
Cartographic targetPosition,
TerrainProvider terrainProvider)
Computes the angle from the line of sight between the target and observer positions
and the direction to the point on terrain with the highest elevation angle.
|
static double |
computeElevationAngleAboveTerrain(Cartographic observerPosition,
Cartographic targetPosition,
TerrainProvider terrainProvider,
double minimumTerrainHeight,
double maximumTerrainHeight)
Computes the angle from the line of sight between the target and observer positions
and the direction to the point on terrain with the highest elevation angle.
|
static double |
computeObstructionMetric(Cartesian observerPositionFixed,
Cartesian targetPositionFixed,
TerrainProvider terrainProvider,
boolean findWorstObstruction,
boolean findIndicatedExtremaPrecisely)
Computes a metric value indicating the amount of obstruction from the line of sight between the target and observer positions
and the direction to the point on terrain with the highest elevation angle.
|
static double |
computeObstructionMetric(Cartesian observerPositionFixed,
Cartesian targetPositionFixed,
TerrainProvider terrainProvider,
double minimumTerrainHeight,
double maximumTerrainHeight,
boolean findWorstObstruction,
boolean findIndicatedExtremaPrecisely)
Computes a metric value indicating the amount of obstruction from the line of sight between the target and observer positions
and the direction to the point on terrain with the highest elevation angle.
|
static double |
computeObstructionMetric(Cartographic observerPosition,
Cartographic targetPosition,
TerrainProvider terrainProvider,
boolean findWorstObstruction,
boolean findIndicatedExtremaPrecisely)
Computes a metric value indicating the amount of obstruction from the line of sight between the target and observer positions
and the direction to the point on terrain with the highest elevation angle.
|
static double |
computeObstructionMetric(Cartographic observerPosition,
Cartographic targetPosition,
TerrainProvider terrainProvider,
double minimumTerrainHeight,
double maximumTerrainHeight,
boolean findWorstObstruction,
boolean findIndicatedExtremaPrecisely)
Computes a metric value indicating the amount of obstruction from the line of sight between the target and observer positions
and the direction to the point on terrain with the highest elevation angle.
|
static Cartesian |
computePositionWithMaximumElevationAngle(Cartesian observerPositionFixed,
Cartesian targetPositionFixed,
TerrainProvider terrainProvider)
|
static Cartesian |
computePositionWithMaximumElevationAngle(Cartesian observerPositionFixed,
Cartesian targetPositionFixed,
TerrainProvider terrainProvider,
double minimumTerrainHeight,
double maximumTerrainHeight)
|
static Cartesian |
computePositionWithMaximumElevationAngle(Cartographic observerPosition,
Cartographic targetPosition,
TerrainProvider terrainProvider)
|
static Cartesian |
computePositionWithMaximumElevationAngle(Cartographic observerPosition,
Cartographic targetPosition,
TerrainProvider terrainProvider,
double minimumTerrainHeight,
double maximumTerrainHeight)
|
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 minimumTerrainHeight,
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 minimumTerrainHeight,
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 minimumTerrainHeight,
double maximumTerrainHeight)
Computes the location of the first intersection with terrain from the provided location along the indicated direction.
|
public static final double DefaultMinimumTerrainHeight
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.public static final double DefaultMaximumTerrainHeight
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.@Nonnull public static Cartesian computePositionWithMaximumElevationAngle(@Nonnull Cartesian observerPositionFixed, @Nonnull Cartesian targetPositionFixed, @Nonnull TerrainProvider terrainProvider)
Shape
(get
/ set
).
The TerrainAlongLine.DefaultMinimumTerrainHeight
and TerrainAlongLine.DefaultMaximumTerrainHeight
are 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.Shape
(get
/ set
).ArgumentNullException
- Thrown if terrainProvider
is null
.@Nonnull public static Cartesian computePositionWithMaximumElevationAngle(@Nonnull Cartesian observerPositionFixed, @Nonnull Cartesian targetPositionFixed, @Nonnull TerrainProvider terrainProvider, double minimumTerrainHeight, double maximumTerrainHeight)
Shape
(get
/ set
).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.minimumTerrainHeight
- The minimum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.
Setting this value lower than necessary will not affect the results, but it will decrease
performance. Setting it too high can cause incorrect results. For realistic Earth-based terrain data,
TerrainAlongLine.DefaultMinimumTerrainHeight
is a safe value to use for this parameter.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 Earth-based terrain data,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.Shape
(get
/ set
).ArgumentNullException
- Thrown if terrainProvider
is null
.@Nonnull public static Cartesian computePositionWithMaximumElevationAngle(@Nonnull Cartographic observerPosition, @Nonnull Cartographic targetPosition, @Nonnull TerrainProvider terrainProvider)
Shape
(get
/ set
).
The TerrainAlongLine.DefaultMinimumTerrainHeight
and TerrainAlongLine.DefaultMaximumTerrainHeight
are 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.Shape
(get
/ set
).ArgumentNullException
- Thrown if terrainProvider
is null
.@Nonnull public static Cartesian computePositionWithMaximumElevationAngle(@Nonnull Cartographic observerPosition, @Nonnull Cartographic targetPosition, @Nonnull TerrainProvider terrainProvider, double minimumTerrainHeight, double maximumTerrainHeight)
Shape
(get
/ set
).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.minimumTerrainHeight
- The minimum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.
Setting this value lower than necessary will not affect the results, but it will decrease
performance. Setting it too high can cause incorrect results. For realistic Earth-based terrain data,
TerrainAlongLine.DefaultMinimumTerrainHeight
is a safe value to use for this parameter.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 Earth-based terrain data,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.Shape
(get
/ set
).ArgumentNullException
- Thrown if terrainProvider
is null
.public static double computeElevationAngleAboveTerrain(@Nonnull Cartesian observerPositionFixed, @Nonnull Cartesian targetPositionFixed, @Nonnull TerrainProvider terrainProvider)
Shape
(get
/ set
).
The TerrainAlongLine.DefaultMinimumTerrainHeight
and TerrainAlongLine.DefaultMaximumTerrainHeight
are 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.Shape
(get
/ set
).
Positive numbers indicate that the line of sight between the objects is not obscured by terrain.
Negative numbers indicate that it is obscured.ArgumentNullException
- Thrown if terrainProvider
is null
.public static double computeElevationAngleAboveTerrain(@Nonnull Cartesian observerPositionFixed, @Nonnull Cartesian targetPositionFixed, @Nonnull TerrainProvider terrainProvider, double minimumTerrainHeight, double maximumTerrainHeight)
Shape
(get
/ set
).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.minimumTerrainHeight
- The minimum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.
Setting this value lower than necessary will not affect the results, but it will decrease
performance. Setting it too high can cause incorrect results. For realistic Earth-based terrain data,
TerrainAlongLine.DefaultMinimumTerrainHeight
is a safe value to use for this parameter.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 Earth-based terrain data,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.Shape
(get
/ set
).
Positive numbers indicate that the line of sight between the objects is not obscured by terrain.
Negative numbers indicate that it is obscured.ArgumentNullException
- Thrown if terrainProvider
is null
.public static double computeElevationAngleAboveTerrain(@Nonnull Cartographic observerPosition, @Nonnull Cartographic targetPosition, @Nonnull TerrainProvider terrainProvider)
Shape
(get
/ set
).
The TerrainAlongLine.DefaultMinimumTerrainHeight
and TerrainAlongLine.DefaultMaximumTerrainHeight
are 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.Shape
(get
/ set
).
Positive numbers indicate that the line of sight between the objects is not obscured by terrain.
Negative numbers indicate that it is obscured.ArgumentNullException
- Thrown if terrainProvider
is null
.public static double computeElevationAngleAboveTerrain(@Nonnull Cartographic observerPosition, @Nonnull Cartographic targetPosition, @Nonnull TerrainProvider terrainProvider, double minimumTerrainHeight, double maximumTerrainHeight)
Shape
(get
/ set
).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.minimumTerrainHeight
- The minimum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.
Setting this value lower than necessary will not affect the results, but it will decrease
performance. Setting it too high can cause incorrect results. For realistic Earth-based terrain data,
TerrainAlongLine.DefaultMinimumTerrainHeight
is a safe value to use for this parameter.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 Earth-based terrain data,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.Shape
(get
/ set
).
Positive numbers indicate that the line of sight between the objects is not obscured by terrain.
Negative numbers indicate that it is obscured.ArgumentNullException
- Thrown if terrainProvider
is null
.public static double computeObstructionMetric(@Nonnull Cartesian observerPositionFixed, @Nonnull Cartesian targetPositionFixed, @Nonnull TerrainProvider terrainProvider, boolean findWorstObstruction, boolean findIndicatedExtremaPrecisely)
Shape
(get
/ set
).
The TerrainAlongLine.DefaultMinimumTerrainHeight
and TerrainAlongLine.DefaultMaximumTerrainHeight
are 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.findWorstObstruction
- Indicates whether the metric value associated with the worst amount of obstruction is sought.findIndicatedExtremaPrecisely
- Determines whether all extrema indicated from sampling should be found precisely.Shape
(get
/ set
).
Positive numbers indicate that the line of sight between the objects is not obscured by terrain.
Negative numbers indicate that it is obscured.ArgumentNullException
- Thrown if terrainProvider
is null
.public static double computeObstructionMetric(@Nonnull Cartesian observerPositionFixed, @Nonnull Cartesian targetPositionFixed, @Nonnull TerrainProvider terrainProvider, double minimumTerrainHeight, double maximumTerrainHeight, boolean findWorstObstruction, boolean findIndicatedExtremaPrecisely)
Shape
(get
/ set
).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.minimumTerrainHeight
- The minimum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.
Setting this value lower than necessary will not affect the results, but it will decrease
performance. Setting it too high can cause incorrect results. For realistic Earth-based terrain data,
TerrainAlongLine.DefaultMinimumTerrainHeight
is a safe value to use for this parameter.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 Earth-based terrain data,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.findWorstObstruction
- Indicates whether the metric value associated with the worst amount of obstruction is sought.findIndicatedExtremaPrecisely
- Determines whether all extrema indicated from sampling should be found precisely.Shape
(get
/ set
).
Positive numbers indicate that the line of sight between the objects is not obscured by terrain.
Negative numbers indicate that it is obscured.ArgumentNullException
- Thrown if terrainProvider
is null
.public static double computeObstructionMetric(@Nonnull Cartographic observerPosition, @Nonnull Cartographic targetPosition, @Nonnull TerrainProvider terrainProvider, boolean findWorstObstruction, boolean findIndicatedExtremaPrecisely)
Shape
(get
/ set
).
The TerrainAlongLine.DefaultMinimumTerrainHeight
and TerrainAlongLine.DefaultMaximumTerrainHeight
are 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.findWorstObstruction
- Indicates whether the metric value associated with the worst amount of obstruction is sought.findIndicatedExtremaPrecisely
- Determines whether all extrema indicated from sampling should be found precisely.Shape
(get
/ set
).
Positive numbers indicate that the line of sight between the objects is not obscured by terrain.
Negative numbers indicate that it is obscured.ArgumentNullException
- Thrown if terrainProvider
is null
.public static double computeObstructionMetric(@Nonnull Cartographic observerPosition, @Nonnull Cartographic targetPosition, @Nonnull TerrainProvider terrainProvider, double minimumTerrainHeight, double maximumTerrainHeight, boolean findWorstObstruction, boolean findIndicatedExtremaPrecisely)
Shape
(get
/ set
).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.minimumTerrainHeight
- The minimum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.
Setting this value lower than necessary will not affect the results, but it will decrease
performance. Setting it too high can cause incorrect results. For realistic Earth-based terrain data,
TerrainAlongLine.DefaultMinimumTerrainHeight
is a safe value to use for this parameter.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 Earth-based terrain data,
TerrainAlongLine.DefaultMaximumTerrainHeight
is a safe value to use for this parameter.findWorstObstruction
- Indicates whether the metric value associated with the worst amount of obstruction is sought.findIndicatedExtremaPrecisely
- Determines whether all extrema indicated from sampling should be found precisely.Shape
(get
/ set
).
Positive numbers indicate that the line of sight between the objects is not obscured by terrain.
Negative numbers indicate that it is obscured.ArgumentNullException
- Thrown if terrainProvider
is null
.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartesian cartesian, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider)
TerrainAlongLine.DefaultMinimumTerrainHeight
and TerrainAlongLine.DefaultMaximumTerrainHeight
are 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.ArgumentNullException
- Thrown if terrainProvider
is null
.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartesian cartesian, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider, double minimumTerrainHeight, 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.minimumTerrainHeight
- The minimum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.
Setting this value lower than necessary will not affect the results, but it will decrease
performance. Setting it too high can cause incorrect results. For realistic Earth-based terrain data,
TerrainAlongLine.DefaultMinimumTerrainHeight
is a safe value to use for this parameter.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 Earth-based terrain data,
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.ArgumentNullException
- Thrown if terrainProvider
is null
.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartographic cartographic, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider)
TerrainAlongLine.DefaultMinimumTerrainHeight
and TerrainAlongLine.DefaultMaximumTerrainHeight
are 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.ArgumentNullException
- Thrown if terrainProvider
is null
.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartographic cartographic, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider, double minimumTerrainHeight, 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.minimumTerrainHeight
- The minimum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.
Setting this value lower than necessary will not affect the results, but it will decrease
performance. Setting it too high can cause incorrect results. For realistic Earth-based terrain data,
TerrainAlongLine.DefaultMinimumTerrainHeight
is a safe value to use for this parameter.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 Earth-based terrain data,
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.ArgumentNullException
- Thrown if terrainProvider
is null
.@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.DefaultMinimumTerrainHeight
and TerrainAlongLine.DefaultMaximumTerrainHeight
are 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.ArgumentNullException
- Thrown if terrainProvider
is null
.@Nullable public static Cartographic computeTerrainIntersection(@Nonnull Cartesian cartesian, @Nonnull Cartographic cartographic, @Nonnull UnitCartesian direction, double granularity, double maximumDistance, @Nonnull TerrainProvider terrainProvider, double minimumTerrainHeight, 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.minimumTerrainHeight
- The minimum height in meters that can be returned by the
TerrainProvider's
TerrainProvider.getHeightRelativeToShape(double, double)
method.
Setting this value lower than necessary will not affect the results, but it will decrease
performance. Setting it too high can cause incorrect results. For realistic Earth-based terrain data,
TerrainAlongLine.DefaultMinimumTerrainHeight
is a safe value to use for this parameter.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 Earth-based terrain data,
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.ArgumentNullException
- Thrown if terrainProvider
is null
.