|
WSF
|
#include <FiresPath.hpp>


Public Types | |
| enum | PropagationType { cUNDEFINED = 0 , cMAX_ORD_TOF = 1 , cELEVATION_TOF = 2 , cSIMPLE = 3 , cNUM_TYPES = 4 } |
Public Member Functions | |
| FiresPath (WsfSimulation &aSimulation, UtStringId aType, WsfGeoPoint &aInitialLocation, double &aTargetRange, double &aTargetBearing, double aAzimuthError=0.0, double aElevationError=0.0) | |
| Constructor to be used independently of the FiresMover. | |
| FiresPath (WsfScenario &aScenario) | |
| Constructor used by the FiresMover. | |
| FiresPath (const FiresPath &aSrc) | |
| virtual | ~FiresPath ()=default |
| FiresPath & | operator= (const FiresPath &aSrc)=delete |
| void | SetImpactRange (double aRange) |
| Set the ground impact range at which the munition will impact. | |
| void | SetInitialBearing (double aBearing) |
| Set the initial bearing along which the trajectory will move. | |
| void | SetAzimuthError (double aAzimuthError) |
| void | SetElevationError (double aElevationError) |
| virtual bool | Initialize (double aSimTime) |
| double | GetImpactTime () const |
| void | GetState (double aSimTime, double aLocWCS[3], double aVelWCS[3]) |
Protected Member Functions | |
| void | UpdateState (double aSimTime) |
| bool | PerformTrajectoryLookup () |
| void | ComputeTargetRangeBearingDeltaAlt () |
| bool | ComputeTrajectoryParameters () |
| void | ComputeTimeConstantFromMaxOrd (double aDeltaAlt) |
| void | ComputeTimeConstantFromElevationAngle (double aDeltaAlt) |
| void | ComputeInitialVelocity (double aDeltaAlt) |
Protected Attributes | |
| PropagationType | mPropagationType |
| PropagationType | mSimplePropagationLookupType |
| WsfStringId | mFiresType |
| FiresTables * | mFiresTablesPtr |
| WsfSimulation * | mSimulationPtr |
| bool | mRemoveOnImpact |
| double | mImpactRange |
| double | mMaxHeight |
| This is the independent variable (input) in the table lookup. | |
| double | mElevationAngle |
| Dependent variable of table lookup for max. ord lookups. | |
| double | mImpactTime |
| Dependent variable of table lookup for elevation lookups. | |
| WsfGeoPoint | mInitialLocation |
| Dependent variable of table lookup. | |
| WsfGeoPoint | mImpactLocation |
| bool | mHasImpactLocation |
| bool | mConstrainPropagation |
| double | mInitialBearing |
| double | mBearingError |
| double | mElevationError |
| Azimuth error for simulating dispersion of fires. | |
| double | mDeltaAlt |
| Elevation error for simulating dispersion of fires. | |
| double | mSinB |
| Difference between initial altitude and target alt. | |
| double | mCosB |
| Sine of initial bearing. | |
| UtEntity | mGeom |
| Cosine of initial bearing. | |
| double | mLocWCS [3] |
| double | mVelWCS [3] |
| double | mVelNED [3] |
| double | mAccNED [3] |
| double | mRoll |
| double | mPitch |
| double | mHeading |
| double | mSimpleG |
| double | v0x |
| The reduced value of the gravitational constant, used with simple propagation. | |
| double | v0z |
| The initial velocity parallel to the ground (vector connecting the initial and impact location). | |
| double | mTimeConstant |
| The initial velocity perpendicular to the ground (vector connecting the initial and impact location). | |
| double | mInitialTime |
| The approximation of the ballistic coefficient (the higher the time constant, the less drag). | |
| bool | mDebug |
| The sim time the round is fired. | |
FiresPath implements the ballistic path used by WsfFiresMover. See AFSIM technical documentation for details.
| Fires::FiresPath::FiresPath | ( | WsfSimulation & | aSimulation, |
| UtStringId | aType, | ||
| WsfGeoPoint & | aInitialLocation, | ||
| double & | aTargetRange, | ||
| double & | aTargetBearing, | ||
| double | aAzimuthError = 0.0, | ||
| double | aElevationError = 0.0 ) |
Constructor to be used independently of the FiresMover.
References cUNDEFINED, WsfSimulation::GetScenario(), mBearingError, mConstrainPropagation, mCosB, mDebug, mDeltaAlt, mElevationAngle, mElevationError, mFiresTablesPtr, mFiresType, mHasImpactLocation, mHeading, mImpactLocation, mImpactRange, mImpactTime, mInitialBearing, mInitialLocation, mInitialTime, mMaxHeight, mPitch, mPropagationType, mRemoveOnImpact, mRoll, mSimpleG, mSimplePropagationLookupType, mSimulationPtr, mSinB, mTimeConstant, v0x, and v0z.
Referenced by Fires::FiresMover::FiresMover(), Fires::FiresMover::FiresMover(), FiresPath(), and operator=().
|
explicit |
Constructor used by the FiresMover.
References cUNDEFINED, WsfScenario::FindExtension(), mAccNED, mBearingError, mConstrainPropagation, mCosB, mDebug, mDeltaAlt, mElevationAngle, mElevationError, mFiresTablesPtr, mFiresType, mHasImpactLocation, mHeading, mImpactLocation, mImpactRange, mImpactTime, mInitialBearing, mInitialLocation, mInitialTime, mLocWCS, mMaxHeight, mPitch, mPropagationType, mRemoveOnImpact, mRoll, mSimpleG, mSimplePropagationLookupType, mSimulationPtr, mSinB, mTimeConstant, mVelNED, mVelWCS, v0x, and v0z.
|
explicit |
References FiresPath(), mAccNED, mBearingError, mConstrainPropagation, mCosB, mDebug, mDeltaAlt, mElevationAngle, mElevationError, mFiresTablesPtr, mFiresType, mGeom, mHasImpactLocation, mHeading, mImpactLocation, mImpactRange, mImpactTime, mInitialBearing, mInitialLocation, mInitialTime, mLocWCS, mMaxHeight, mPitch, mPropagationType, mRemoveOnImpact, mRoll, mSimpleG, mSimplePropagationLookupType, mSimulationPtr, mSinB, mTimeConstant, mVelNED, mVelWCS, v0x, and v0z.
|
virtualdefault |
|
protected |
References mImpactRange, mImpactTime, mTimeConstant, v0x, and v0z.
Referenced by ComputeTimeConstantFromElevationAngle(), and ComputeTimeConstantFromMaxOrd().
|
protected |
Referenced by Fires::FiresMover::Initialize2().
|
protected |
References ComputeInitialVelocity(), mDebug, mElevationAngle, mImpactRange, mImpactTime, mMaxHeight, mSimpleG, mTimeConstant, v0x, and v0z.
Referenced by ComputeTrajectoryParameters().
|
protected |
References ComputeInitialVelocity(), mDebug, mElevationAngle, mFiresType, mImpactRange, mImpactTime, mMaxHeight, mSimpleG, mTimeConstant, v0x, and v0z.
Referenced by ComputeTrajectoryParameters().
|
protected |
Assuming this object was initialized with enough data, compute the remaining parameters to define the full trajectory for this munition.
References cELEVATION_TOF, cMAX_ORD_TOF, ComputeTimeConstantFromElevationAngle(), ComputeTimeConstantFromMaxOrd(), cSIMPLE, mBearingError, mConstrainPropagation, mCosB, mDebug, mDeltaAlt, mElevationAngle, mElevationError, mFiresTablesPtr, mFiresType, mGeom, mHasImpactLocation, mImpactRange, mImpactTime, mInitialBearing, mInitialLocation, mMaxHeight, mPropagationType, mSimpleG, mSimulationPtr, mSinB, mTimeConstant, ok, PerformTrajectoryLookup(), v0x, and v0z.
Referenced by Initialize().
|
inline |
References mImpactTime.
| void Fires::FiresPath::GetState | ( | double | aSimTime, |
| double | aLocWCS[3], | ||
| double | aVelWCS[3] ) |
Retrieve the state (position and velocity) at the given time.
| aSimTime | The time at which the state is desired. |
| aLocWCS | The location at the given time. |
| aVelWCS | The velocity at the given time. |
References mLocWCS, mVelWCS, and UpdateState().
|
virtual |
References cELEVATION_TOF, cMAX_ORD_TOF, ComputeTrajectoryParameters(), cSIMPLE, cUNDEFINED, mFiresTablesPtr, mFiresType, mInitialTime, mPropagationType, mSimplePropagationLookupType, and ok.
Referenced by Fires::FiresMover::Initialize2().
References FiresPath().
|
protected |
References cELEVATION_TOF, cMAX_ORD_TOF, mElevationAngle, mFiresTablesPtr, mFiresType, mImpactRange, mImpactTime, mMaxHeight, mPropagationType, mSimplePropagationLookupType, and ok.
Referenced by ComputeTrajectoryParameters().
|
inline |
Set the initial error in elevation angle (used for dispersion of fires)
References mBearingError.
Referenced by Fires::FiresMover::Initialize2().
|
inline |
Set the initial error in elevation angle (used for dispersion of fires)
References mElevationError.
Referenced by Fires::FiresMover::Initialize2().
|
inline |
Set the ground impact range at which the munition will impact.
References mImpactRange.
|
inline |
Set the initial bearing along which the trajectory will move.
References mInitialBearing.
|
protected |
Update the position and velocity of the munition to the given time.
| aSimTime | The time to which the state is to be updated. |
References cSIMPLE, mAccNED, mCosB, mGeom, mHeading, mInitialTime, mLocWCS, mPitch, mPropagationType, mRoll, mSimpleG, mSinB, mTimeConstant, mVelNED, mVelWCS, v0x, and v0z.
Referenced by GetState(), and Fires::FiresMover::Update().
|
protected |
Referenced by FiresPath(), FiresPath(), Fires::FiresMover::Update(), and UpdateState().
|
protected |
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and SetAzimuthError().
|
protected |
If the impact location is specified, range will be computed based on the initial location and impact location
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and Fires::FiresMover::ProcessInput().
|
protected |
Sine of initial bearing.
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and UpdateState().
|
protected |
The sim time the round is fired.
Referenced by ComputeTimeConstantFromElevationAngle(), ComputeTimeConstantFromMaxOrd(), ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), Fires::FiresMover::ProcessInput(), and Fires::FiresMover::Update().
|
protected |
Elevation error for simulating dispersion of fires.
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), and FiresPath().
|
protected |
Dependent variable of table lookup for max. ord lookups.
Referenced by ComputeTimeConstantFromElevationAngle(), ComputeTimeConstantFromMaxOrd(), ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and PerformTrajectoryLookup().
|
protected |
Azimuth error for simulating dispersion of fires.
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and SetElevationError().
|
protected |
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), Initialize(), and PerformTrajectoryLookup().
|
protected |
|
protected |
Cosine of initial bearing.
Referenced by ComputeTrajectoryParameters(), FiresPath(), and UpdateState().
|
protected |
|
protected |
Referenced by FiresPath(), FiresPath(), FiresPath(), Fires::FiresMover::Update(), and UpdateState().
|
protected |
Referenced by FiresPath(), FiresPath(), FiresPath(), Fires::FiresMover::ProcessInput(), and Fires::FiresMover::Update().
|
protected |
|
protected |
Dependent variable of table lookup for elevation lookups.
Referenced by ComputeInitialVelocity(), ComputeTimeConstantFromElevationAngle(), ComputeTimeConstantFromMaxOrd(), ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), GetImpactTime(), PerformTrajectoryLookup(), and Fires::FiresMover::ProcessInput().
|
protected |
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), Fires::FiresMover::ProcessInput(), and SetInitialBearing().
|
protected |
Dependent variable of table lookup.
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and Fires::FiresMover::Update().
|
protected |
The approximation of the ballistic coefficient (the higher the time constant, the less drag).
Referenced by FiresPath(), FiresPath(), FiresPath(), Initialize(), Fires::FiresMover::Update(), and UpdateState().
|
protected |
Referenced by FiresPath(), FiresPath(), GetState(), Fires::FiresMover::Update(), and UpdateState().
|
protected |
This is the independent variable (input) in the table lookup.
Referenced by ComputeTimeConstantFromElevationAngle(), ComputeTimeConstantFromMaxOrd(), ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), PerformTrajectoryLookup(), and Fires::FiresMover::ProcessInput().
|
protected |
Referenced by FiresPath(), FiresPath(), FiresPath(), Fires::FiresMover::Update(), and UpdateState().
|
protected |
|
protected |
Referenced by FiresPath(), FiresPath(), FiresPath(), Fires::FiresMover::ProcessInput(), and Fires::FiresMover::Update().
|
protected |
Referenced by FiresPath(), FiresPath(), FiresPath(), Fires::FiresMover::Update(), and UpdateState().
|
protected |
|
protected |
Referenced by FiresPath(), FiresPath(), FiresPath(), Initialize(), and PerformTrajectoryLookup().
|
protected |
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and Fires::FiresMover::Initialize2().
|
protected |
Difference between initial altitude and target alt.
Referenced by ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and UpdateState().
|
protected |
The initial velocity perpendicular to the ground (vector connecting the initial and impact location).
Referenced by ComputeInitialVelocity(), ComputeTimeConstantFromElevationAngle(), ComputeTimeConstantFromMaxOrd(), ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), Fires::FiresMover::ProcessInput(), and UpdateState().
|
protected |
Referenced by FiresPath(), FiresPath(), Fires::FiresMover::Update(), and UpdateState().
|
protected |
Referenced by FiresPath(), FiresPath(), GetState(), Fires::FiresMover::Update(), and UpdateState().
|
protected |
The reduced value of the gravitational constant, used with simple propagation.
Referenced by ComputeInitialVelocity(), ComputeTimeConstantFromElevationAngle(), ComputeTimeConstantFromMaxOrd(), ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and UpdateState().
|
protected |
The initial velocity parallel to the ground (vector connecting the initial and impact location).
Referenced by ComputeInitialVelocity(), ComputeTimeConstantFromElevationAngle(), ComputeTimeConstantFromMaxOrd(), ComputeTrajectoryParameters(), FiresPath(), FiresPath(), FiresPath(), and UpdateState().