12#ifndef DESIM_BALLISTIC_PATH
13#define DESIM_BALLISTIC_PATH
15#include "wsf_fires_export.h"
21#include "UtScriptClassDefine.hpp"
26#include "UtEntity.hpp"
50 virtual bool IsValid()
const {
return mIsInitialized; }
52 void Draw(
WsfDraw& aDraw)
const;
67 bool GetLocationWCS(
double aSimTime,
double aLocWCS[3])
const;
72 GetRangeAndAltitude(
const double aOriginLocWCS[3],
const double aTargetLocWCS[3],
double& aRange,
double& aAltitude);
79 virtual void Integrate(
double aElapsedTime,
double aLocWCS[3],
double aVelWCS[3]);
82 void UpdateFires(
double aTime,
FiresMover& aFiresMover,
const double aLocWCS[3],
const double aVelWCS[3]);
84 void UpdateSpherical(
double aTime,
const double aLocWCS[3],
const double aVelWCS[3]);
86 bool WillImpact(
double aAltitude);
88 void ComputeImpact(
double aAlt1,
double aAlt2);
94 UtEntity mTargetState;
98 double mIntegrationInterval;
100 bool mUseFiresExtrapolation;
107 double mWCS_ToNED_Transform[3][3];
129 std::vector<Point> mPoints;
141 void*
Create(
const UtScriptContext& aContext)
override;
142 void*
Clone(
void* aObjectPtr)
override;
143 void Destroy(
void* aObjectPtr)
override;
aObjectPtr Update(simTime)
aObjectPtr GetVelocityWCS(vel.GetData())
void SetIntegrationInterval(double aInterval)
Set the integration interval to be used for trajectory extrapolation.
Definition BallisticPath.hpp:55
double GetStartTime() const
Get the start time that the trajectory was calculated.
Definition BallisticPath.hpp:64
bool IsTargetType(const std::string &aType)
Definition BallisticPath.cpp:165
double GetImpactTime() const
Get the calculated impact time.
Definition BallisticPath.hpp:61
BallisticPath(WsfSimulation *aSimPtr)
Definition BallisticPath.cpp:36
BallisticPath & operator=(const BallisticPath &aSrc)=delete
bool IsInitialized() const
Definition BallisticPath.hpp:74
double GetApogeeTime() const
Get the time at which the trajectory is at its apogee.
Definition BallisticPath.hpp:58
virtual bool IsValid() const
Definition BallisticPath.hpp:50
const WsfGeoPoint & GetImpactPoint() const
Definition BallisticPath.hpp:76
Definition FiresMover.hpp:32
Definition FiresTables.hpp:31
UT_DECLARE_SCRIPT_METHOD(ImpactPoint)
UT_DECLARE_SCRIPT_METHOD(PointAtTime)
UT_DECLARE_SCRIPT_METHOD(ImpactTime)
UT_DECLARE_SCRIPT_METHOD(Update)
UT_DECLARE_SCRIPT_METHOD(Draw)
UT_DECLARE_SCRIPT_METHOD(HasData)
void * Create(const UtScriptContext &aContext) override
Definition BallisticPath.cpp:578
UT_DECLARE_SCRIPT_METHOD(IsBallisticType)
void * Clone(void *aObjectPtr) override
Definition BallisticPath.cpp:584
ScriptBallisticPathClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition BallisticPath.cpp:556
void Destroy(void *aObjectPtr) override
Definition BallisticPath.cpp:590
Definition WsfAero.hpp:30
Provides the capability to draw shapes into the WSF replay file.
Definition WsfDraw.hpp:35
Definition WsfGeoPoint.hpp:29
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Provide a top-level interface for including the fires library's types.
Definition BallisticPath.cpp:34