public abstract class ConfigurableProfile extends Object
RoutePropagator
to ensure that the
route heights and speeds are continuous from one segment to the next.Modifier | Constructor and Description |
---|---|
protected |
ConfigurableProfile()
Initializes a new instance.
|
Modifier and Type | Method and Description |
---|---|
abstract ProfileConfigurationResult |
configureProfiles(ConfigurableProfile previous,
ConfigurableProfile next,
ITrackCalculationProgress tracker)
Configure this profile in relation to the previous and next profile to make sure than
they each connect continuously.
|
abstract void |
freezeFinalConditions()
Called by the
RoutePropagator to indicate to the profile that
it should not let other profiles update its final boundary conditions. |
abstract void |
freezeInitialConditions()
Called by the
RoutePropagator to indicate to the profile that
it should not let other profiles update its initial boundary conditions. |
abstract boolean |
getAllowModificationOfFinalHeight()
Gets a value indicating whether to allow other profiles to modify
the final height of this profile in order to ensure continuity.
|
abstract boolean |
getAllowModificationOfFinalHeightRate()
Gets a value indicating whether to allow other profiles to modify
the final height rate of this profile in order to ensure continuity.
|
abstract boolean |
getAllowModificationOfFinalSpeed()
Gets a value indicating whether to allow other profiles to modify
the final speed of this profile in order to ensure continuity.
|
abstract boolean |
getAllowModificationOfInitialHeight()
Gets a value indicating whether to allow other profiles to modify
the initial height of this profile in order to ensure continuity.
|
abstract boolean |
getAllowModificationOfInitialHeightRate()
Gets a value indicating whether to allow other profiles to modify
the initial height rate of this profile in order to ensure continuity.
|
abstract boolean |
getAllowModificationOfInitialSpeed()
Gets a value indicating whether to allow other profiles to modify
the initial speed of this profile in order to ensure continuity.
|
abstract double |
getFinalHeight()
Gets the final height of this profile above the reference surface.
|
abstract double |
getFinalHeightRate()
Gets the final height rate for this profile.
|
abstract ProfileSpeed |
getFinalSpeed()
Gets the final speed for this profile.
|
abstract TerrainProvider |
getHeightReferenceSurface()
Gets the reference terrain surface from which the height is measured.
|
abstract double |
getInitialHeight()
Gets the initial height of this profile above the reference surface.
|
abstract double |
getInitialHeightRate()
Gets the initial height rate for this profile.
|
abstract ProfileSpeed |
getInitialSpeed()
Gets the initial speed for this profile.
|
double |
getProfileComputationalWeight()
Gets a scalar value indicating how expensive the configuration of this profile is.
|
abstract ProfileSegment |
getProfileSegment()
Get the time dynamic geometry of the profile after configuration.
|
abstract double |
getTargetFinalHeight()
Gets the final height that this profile will attempt to target.
|
abstract double |
getTargetFinalHeightRate()
Gets the final height rate that this profile will attempt to target.
|
abstract ProfileSpeed |
getTargetFinalSpeed()
Gets the final speed that this profile will attempt to target.
|
abstract double |
getTargetInitialHeight()
Gets the initial height that this profile will attempt to target.
|
abstract double |
getTargetInitialHeightRate()
Gets the initial height rate that this profile will attempt to target.
|
abstract ProfileSpeed |
getTargetInitialSpeed()
Gets the initial speed that this profile will attempt to target.
|
abstract void |
setFinalHeight(double value)
Sets the final height of this profile above the reference surface.
|
abstract void |
setFinalHeightRate(double value)
Sets the final height rate for this profile.
|
abstract void |
setFinalSpeed(ProfileSpeed value)
Sets the final speed for this profile.
|
abstract void |
setInitialHeight(double value)
Sets the initial height of this profile above the reference surface.
|
abstract void |
setInitialHeightRate(double value)
Sets the initial height rate for this profile.
|
abstract void |
setInitialSpeed(ProfileSpeed value)
Sets the initial speed for this profile.
|
public abstract ProfileSegment getProfileSegment()
@Nonnull public abstract ProfileConfigurationResult configureProfiles(@Nullable ConfigurableProfile previous, @Nullable ConfigurableProfile next, @Nullable ITrackCalculationProgress tracker)
previous
- The previous profile to configure.next
- The next profile to configure.tracker
- A progress tracker to track the progress of the route configuration, or null
.public abstract double getInitialHeight()
public abstract void setInitialHeight(double value)
public abstract double getFinalHeight()
public abstract void setFinalHeight(double value)
public abstract double getTargetInitialHeight()
public abstract double getTargetFinalHeight()
public abstract TerrainProvider getHeightReferenceSurface()
public abstract boolean getAllowModificationOfInitialHeight()
public abstract boolean getAllowModificationOfFinalHeight()
public abstract ProfileSpeed getInitialSpeed()
public abstract void setInitialSpeed(ProfileSpeed value)
public abstract ProfileSpeed getFinalSpeed()
public abstract void setFinalSpeed(ProfileSpeed value)
public abstract ProfileSpeed getTargetInitialSpeed()
public abstract ProfileSpeed getTargetFinalSpeed()
public abstract boolean getAllowModificationOfInitialSpeed()
public abstract boolean getAllowModificationOfFinalSpeed()
public abstract double getInitialHeightRate()
public abstract void setInitialHeightRate(double value)
public abstract double getFinalHeightRate()
public abstract void setFinalHeightRate(double value)
public abstract double getTargetInitialHeightRate()
public abstract double getTargetFinalHeightRate()
public abstract boolean getAllowModificationOfInitialHeightRate()
public abstract boolean getAllowModificationOfFinalHeightRate()
public double getProfileComputationalWeight()
ITrackCalculationProgress
instance
fed to the RoutePropagator
that certain profiles will take longer than
others (larger computational weight).public abstract void freezeInitialConditions()
RoutePropagator
to indicate to the profile that
it should not let other profiles update its initial boundary conditions.public abstract void freezeFinalConditions()
RoutePropagator
to indicate to the profile that
it should not let other profiles update its final boundary conditions.