public class TerrainAvoidanceProfile extends RouteProfile
A profile that defines the height and speed necessary to transition from an initial height and speed to a final height and speed while attempting to maintain a minimum height above intervening terrain. This is useful when modeling low altitude aircraft trajectories in areas where the terrain varies significantly between waypoints.
The following figure shows the behavior of a particular route profile. Note how the profile will find the convex hull and maintain height in between the peaks.
Modifier and Type | Class and Description |
---|---|
static class |
TerrainAvoidanceProfile.ConfigurationData
An enumeration indicating the result of configuring the
TerrainAvoidanceProfile . |
Constructor and Description |
---|
TerrainAvoidanceProfile()
Create a new instance.
|
TerrainAvoidanceProfile(TerrainProvider terrain,
double minimumHeight,
double samplingDistance,
double initialHeight,
double finalHeight,
ProfileDynamics profileDynamics,
double targetSpeed)
Create a new instance based on the given terrain and boundary conditions.
|
Modifier and Type | Method and Description |
---|---|
ConfigurableProfile |
createConfigurableProfile(SurfaceSegment surfacePath)
Create a profile based on the given settings that the
RoutePropagator can
use to configure this profile in relation to all other profiles along the route. |
boolean |
getAllowModificationOfFinalHeight()
Gets a value indicating whether the profile can update the final height
in the course of configuring itself in relation to the surrounding profiles.
|
boolean |
getAllowModificationOfInitialHeight()
Gets a value indicating whether the profile can update the initial height
in the course of configuring itself in relation to the surrounding profiles.
|
ProfileDynamics |
getDynamics()
Gets the set of parameters specifying the achievable accelerations during the profile.
|
double |
getFinalHeightAboveTerrain()
Gets the final height above the terrain, in meters.
|
double |
getInitialHeightAboveTerrain()
Gets the initial height above the terrain, in meters.
|
double |
getMinimumHeightAboveTerrain()
Gets the minimum height at which to traverse above the terrain, in meters.
|
double |
getSamplingDistance()
Gets the rate at which to sample the terrain, in meters.
|
ProfileSpeed |
getSpeed()
Gets the speed at which to traverse over the terrain.
|
TerrainProvider |
getTerrain()
Gets the terrain over which to traverse.
|
void |
setAllowModificationOfFinalHeight(boolean value)
Sets a value indicating whether the profile can update the final height
in the course of configuring itself in relation to the surrounding profiles.
|
void |
setAllowModificationOfInitialHeight(boolean value)
Sets a value indicating whether the profile can update the initial height
in the course of configuring itself in relation to the surrounding profiles.
|
void |
setDynamics(ProfileDynamics value)
Sets the set of parameters specifying the achievable accelerations during the profile.
|
void |
setFinalHeightAboveTerrain(double value)
Sets the final height above the terrain, in meters.
|
void |
setInitialHeightAboveTerrain(double value)
Sets the initial height above the terrain, in meters.
|
void |
setMinimumHeightAboveTerrain(double value)
Sets the minimum height at which to traverse above the terrain, in meters.
|
void |
setSamplingDistance(double value)
Sets the rate at which to sample the terrain, in meters.
|
void |
setSpeed(ProfileSpeed value)
Sets the speed at which to traverse over the terrain.
|
void |
setTerrain(TerrainProvider value)
Sets the terrain over which to traverse.
|
public TerrainAvoidanceProfile()
public TerrainAvoidanceProfile(TerrainProvider terrain, double minimumHeight, double samplingDistance, double initialHeight, double finalHeight, ProfileDynamics profileDynamics, double targetSpeed)
terrain
- The terrain defining the height profile.minimumHeight
- The minimum height above the terrain, in meters.samplingDistance
- The rate at which to sample the terrain along the surface path, in meters.
A smaller sampling distance will result in fewer violations of the minimum height. Whereas, a larger
sampling distance will be faster. The sampling distance should reflect how quickly the terrain height
is changing over the surface region in which the corresponding procedure occurs.initialHeight
- The initial height above the terrain, in meters.finalHeight
- The final height above the terrain, in meters.profileDynamics
- The dynamical properties of the position.targetSpeed
- The target speed at which to traverse over the terrain, in meters per second.public ConfigurableProfile createConfigurableProfile(SurfaceSegment surfacePath)
RoutePropagator
can
use to configure this profile in relation to all other profiles along the route.createConfigurableProfile
in class RouteProfile
surfacePath
- The surface path over which the profile is defined.RoutePropagator
to
configure the route.public final ProfileDynamics getDynamics()
public final void setDynamics(ProfileDynamics value)
public final ProfileSpeed getSpeed()
public final void setSpeed(ProfileSpeed value)
public final boolean getAllowModificationOfInitialHeight()
public final void setAllowModificationOfInitialHeight(boolean value)
public final boolean getAllowModificationOfFinalHeight()
public final void setAllowModificationOfFinalHeight(boolean value)
public final double getSamplingDistance()
public final void setSamplingDistance(double value)
public final double getMinimumHeightAboveTerrain()
public final void setMinimumHeightAboveTerrain(double value)
public final double getInitialHeightAboveTerrain()
public final void setInitialHeightAboveTerrain(double value)
public final double getFinalHeightAboveTerrain()
public final void setFinalHeightAboveTerrain(double value)
public final TerrainProvider getTerrain()
public final void setTerrain(TerrainProvider value)