|
WSF
|
Platforms represent a entity within the simulation. More...
#include <WsfPlatform.hpp>


Public Types | |
| enum | OnBrokenAction { cON_BROKEN_REMOVE , cON_BROKEN_DISABLE , cON_BROKEN_MOVABLE_DISABLED } |
| Define what should be done when the platform is broken. More... | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
| Public Types inherited from WsfComponentT< WsfPlatform > | |
| typedef WsfPlatform | ParentType |
| This is needed to support the WsfComponentList template. | |
| Public Types inherited from WsfComponentListT< WsfPlatformComponent > | |
| using | ComponentType |
| using | ParentType |
| Public Types inherited from WsfComponentList | |
| using | NameAndComponent = std::pair<WsfStringId, WsfComponent*> |
| using | ComponentList = std::vector<NameAndComponent> |
Public Member Functions | |
| WsfPlatform (const WsfScenario &aScenario) | |
| ~WsfPlatform () override | |
| Public Member Functions inherited from WsfObject | |
| WsfObject () | |
| This is the constructor for the WsfObject class. | |
| ~WsfObject () override | |
| This is the destructor for the WsfObject class. | |
| const char * | GetScriptClassName () const override |
| const std::string & | GetType () const |
| WsfStringId | GetTypeId () const |
| Get the string ID of the 'type' of the object. | |
| void | SetType (WsfStringId aType) |
| const std::string & | GetBaseType () const |
| WsfStringId | GetBaseTypeId () const |
| const TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (const WsfObject &aRhs) |
| Assignment operator. | |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| For XIO (de)serialization. | |
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
| Public Member Functions inherited from WsfComponentT< WsfPlatform > | |
| WsfComponentT () | |
| WsfComponentT (const WsfComponentT &) noexcept | |
| WsfComponentT & | operator= (const WsfComponentT &) noexcept |
| ~WsfComponentT () override=default | |
| virtual void | ComponentParentChanged (ParentType *aParentPtr) |
| ParentType * | GetComponentParent () const |
| void | SetComponentParent (ParentType *aParentPtr) |
| Public Member Functions inherited from WsfComponent | |
| virtual | ~WsfComponent ()=default |
| virtual int | GetComponentInitializationOrder () const |
| template<typename T> | |
| bool | QueryInterfaceT (T *&aRolePtr) |
| bool | ComponentHasRole (int aRole) |
| Returns true if the component has the specified role. | |
| virtual bool | PreInitialize (double aSimTime) |
| virtual bool | Initialize (double aSimTime) |
| virtual bool | Initialize2 (double aSimTime) |
| virtual void | PreInput () |
| Iterator | Begin () const |
| Return an iterator for the beginning of the component list. | |
| Iterator | End () const |
| Return an iterator for the end of the component list. | |
| WsfComponentListT () | |
| WsfComponentListT (const WsfComponentListT &aSrc) | |
| WsfComponentListT (WsfComponentListT &&)=default | |
| ~WsfComponentListT () override | |
| WsfComponentListT & | operator= (const WsfComponentListT &aRhs) |
| WsfComponentListT & | operator= (WsfComponentListT &&aRhs) |
| ParentType * | GetParentOfComponents () const |
| void | SetParentOfComponents (ParentType *aComponentParentPtr) |
| bool | AddComponent (ComponentType *aComponentPtr) |
| ComponentType * | FindComponent (WsfStringId aName) const |
| ComponentType * | FindComponent (WsfStringId aName, int aRole) const |
| ComponentType * | FindComponentByRole (int aRole) const |
| ComponentType * | GetComponentEntryByRole (int aRole, unsigned int aEntry) const |
| std::vector< ComponentType * > | GetComponentsByInitializationOrder () const |
| Return a vector of components in the order in which they should be initialized. | |
| bool | RemoveComponent (ComponentType *aComponentPtr) |
| bool | ProcessComponentInput (UtInput &aInput) |
| Public Member Functions inherited from WsfComponentList | |
| WsfComponentList () | |
| WsfComponentList (const WsfComponentList &aSrc) | |
| WsfComponentList (WsfComponentList &&)=default | |
| virtual | ~WsfComponentList () |
| WsfComponentList & | operator= (const WsfComponentList &aRhs) |
| WsfComponentList & | operator= (WsfComponentList &&) |
| bool | HasComponents () const |
| Returns true if the component list has at least one component. | |
| void | DeleteAllComponents () |
| Delete all of the components maintained by the list. | |
| bool | DeleteComponent (WsfStringId aName, int aRole) |
| unsigned int | GetComponentCount (int aRole) const |
| template<class T> | |
| bool | DeleteComponent (WsfStringId aName) |
| template<class T> | |
| bool | DeleteComponent () |
| template<class T> | |
| T * | GetComponent () const |
| template<class T> | |
| T * | GetComponent (WsfStringId aName) const |
| template<class T> | |
| unsigned int | GetComponentCount () const |
| template<class T> | |
| T * | GetComponentEntry (unsigned int aEntry) const |
| template<class T> | |
| bool | FindByRole (T *&aPtr) const |
| template<typename T> | |
| RoleRange< T > | GetComponentRange () |
| Public Member Functions inherited from WsfUniqueId | |
| WsfUniqueId () | |
| Construtor initializes the unique identifier to 0. | |
| WsfUniqueId (const WsfUniqueId &) | |
| Copy constructor initializes the unique identifier to 0. | |
| WsfUniqueId & | operator= (const WsfUniqueId &) |
| unsigned int | GetUniqueId () const |
| Get the unique identifier assigned to this object. | |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| For XIO (de)serialization. | |
| Public Member Functions inherited from WsfAuxDataEnabled | |
| WsfAuxDataEnabled ()=default | |
| WsfAuxDataEnabled (const WsfAuxDataEnabled &aSrc)=default | |
| WsfAuxDataEnabled & | operator= (const WsfAuxDataEnabled &aRhs) |
| WsfAuxDataEnabled (WsfAuxDataEnabled &&)=default | |
| WsfAuxDataEnabled & | operator= (WsfAuxDataEnabled &&)=default |
| virtual | ~WsfAuxDataEnabled () noexcept |
| void | SetAuxData (const WsfAttributeContainer &aAuxData) |
| void | DeleteAuxData () |
| Delete the aux data container from the object. | |
| void | MergeAuxData (const WsfAuxDataEnabled &aSrc) |
| Merge the object's aux data with aux data from an existing object. | |
| void | UpdateAuxData (const WsfAuxDataEnabled &aSrc) |
| Update the object's aux data with aux data from an existing object. | |
| bool | HasAuxData () const |
| Returns true if this object has aux data. | |
| bool | ProcessInput (UtInput &aInput) |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| (De)serialization for XIO | |
| WsfAttributeContainer & | GetAuxData () |
| const WsfAttributeContainer & | GetAuxData () const noexcept |
| const WsfAttributeContainer & | GetAuxDataConst () const noexcept |
Friends | |
| class | WsfSimulation |
| class | WsfSimulationBase |
Component infrastructure methods. | |
| WsfStringId | GetComponentName () const override |
| WsfComponent * | CloneComponent () const override |
| const int * | GetComponentRoles () const override |
| void * | QueryInterface (int aRole) override |
Common framework methods. | |
| const char * | GetScriptClassName () const override |
| UtScriptContext * | GetScriptAccessibleContext () const override |
| WsfPlatform * | Clone () const override |
| void | AssignToSimulation (WsfSimulation *aSimulationPtr) |
| virtual void | CompleteLoad (WsfScenario &aScenario) |
| bool | ProcessInput (UtInput &aInput) override |
| virtual bool | Initialize (WsfSimulation *aSimulationPtr, double aSimTime) |
| virtual bool | Initialize2 (WsfSimulation *aSimulationPtr, double aSimTime) |
| void | Update (double aSimTime) |
| void | UpdateMultiThread (double aSimTime) |
| void | NotifyUpdate (double aSimTime) |
| void | ExecuteScript (double aSimTime) |
| void | SendQueuedMessages (double aSimTime) |
Simulation interface methods. | |
| double | GetCreationTime () const |
| Get the time when the platform was (or is to be) added to the simulation. | |
| bool | InitializeCreationTime () |
| void | SetCreationTime (double aCreationTime) |
| double | GetLastUpdateTime () const |
| Return the time of the last call to Update or UpdateFrame. | |
| double | GetSimTime () const |
| void | SetUpdateLocked (bool aUpdateLocked) |
| bool | IsExternallyControlled () const |
| void | SetIsExternallyControlled (bool aIsExternallyControlled) |
| bool | IsExternallyMoved () const |
| void | SetIsExternallyMoved (bool aIsExternallyMoved) |
| bool | IsExternalShadow () const |
| void | SetIsExternalShadow (bool aIsExternalShadow) |
| bool | IsIndestructible () const |
| void | SetIsIndestructible (bool aIsIndestructible) |
| OnBrokenAction | GetOnBrokenAction () const |
| Get the action to occur when the platform is broken. | |
| void | SetOnBrokenAction (OnBrokenAction aOnBrokenAction) |
| Set the action to occur when the platform is broken. | |
| void | OnBrokenEvent (double aSimTime) |
| Process the Broken Event. | |
| bool | IsBroken () const |
| bool | IsDeleted () const |
| Returns 'true' if the platform has been scheduled for deletion, but hasn't been physically deleted yet. | |
| bool | IsInitialized () const |
| Returns 'true' if the platform has been initialized. | |
| size_t | GetIndex () const |
| void | SetIndex (size_t aIndex) |
| WsfSimulation * | GetSimulation () const |
| If the platform is a member of a simulation, this is the containing simulation. | |
| const WsfScenario & | GetScenario () const |
| The platform type/instance belongs to this scenario. | |
| virtual void | PlatformAdded (double aSimTime, WsfPlatform *aPlatformPtr) |
| virtual void | PlatformDeleted (WsfPlatform *aPlatformPtr) |
Self-perception methods. | |
These methods deal with the platforms position of itself. If navigation errors are defined then the path of the platform can be altered and errors can be introduced into sensor reports. | |
| void | GetLocationErrorWCS (double aLocationErrorWCS[3]) const |
'side' (team) methods. | |
| const std::string & | GetSide () const |
| Get the 'side' (affiliation) to which this platform belongs. | |
| void | SetSide (WsfStringId aSide) |
| Set the 'side' (affiliation) to which this platform belongs. | |
| WsfStringId | GetSideId () const |
| Get the string ID of the side (affiliation) to which this platform belongs. | |
'icon' methods. | |
| const std::string & | GetIcon () const |
| Get the name of the icon associated with this platform. | |
| void | SetIcon (WsfStringId aIcon) |
| Set the name of the icon associated with this platform. | |
| WsfStringId | GetIconId () const |
| Get the string ID of the name of the icon associated with this platform. | |
'marking' methods. | |
| const std::string & | GetMarking () const |
| Get the marking associated with this platform. | |
| void | SetMarking (WsfStringId aMarking) |
| Set the marking associated with this platform. | |
| WsfStringId | GetMarkingId () const |
| Get the string ID of the marking associated with this platform. | |
Spatial domain methods. | |
The spatial domain represents the primary domain where the platform exists (land, air, space, etc.) | |
| WsfSpatialDomain | GetSpatialDomain () const |
| Get the spatial domain of the platform. | |
| void | SetSpatialDomain (const WsfSpatialDomain &aSpatialDomain) |
| Set the spatial domain of the platform. | |
Script methods | |
| bool | ExecuteScript (double aSimTime, WsfStringId aName, UtScriptData &aScriptRetVal, const std::vector< ut::script::Data > &aScriptArgs) |
| bool | ExecuteScript (double aSimTime, WsfStringId aName) |
| void | ExecuteScriptAtTime (double aTime, WsfStringId aName, const std::vector< ut::script::Data > &aScriptArgs) |
| bool | HasScript (WsfStringId aScriptNameId) const |
| Returns 'true' if the platform has a script with the specified name. | |
| WSF_DEPRECATED WsfScriptContext * | GetContext () |
| Return a reference to the script context. | |
| WsfScriptContext & | GetScriptContext () |
Component methods that are not implemented in WsfComponentList. | |
| WsfArticulatedPart * | GetArticulatedPart (unsigned int aUniqueId) const |
| const WsfPlatformComponentList & | GetComponents () const |
| Return a reference to the raw component list. | |
Mover system methods | |
| void | SetMover (WsfMover *aMoverPtr) |
| bool | SwapMover (double aSimTime, WsfMover *&aNewMoverPtr, WsfMover *&aOldMoverPtr) |
| WsfMover * | GetMover () const |
| WsfFuel * | GetFuel () const |
Terrain context methods. | |
| wsf::Terrain & | GetTerrain () const |
| Return a reference to the associated terrain object. | |
| double | GetHeightAboveTerrain () |
| Returns the height of the platform above the terrain at the location of the platform. | |
| double | GetTerrainHeight () |
| Returns the height of the terrain at the current location of the platform. | |
Platform false target methods. | |
A platform is a false target if it does not represent a physical object. | |
| bool | IsFalseTarget () const |
| void | SetIsFalseTarget (bool aBoolState) |
Platform mass accounting methods (total, empty, payload, and fuel masses). | |
| double | GetMass () const |
| double | GetEmptyMass () const |
| double | GetPayloadMass () const |
| double | GetFuelMass () const |
| void | SetFuelMass (double aValue) |
| void | SetPayloadMass (double aValue) |
| Set Payload mass for the platform. | |
| void | SetEmptyMass (double aValue) |
| Set Empty mass for the platform. | |
Platform appearance and capabilities methods. | |
| WsfSignatureList & | GetSignatureList () |
| Return a reference to the 'signature list' object that encapsulates all the signature processing. | |
| double | GetHeight () const |
| double | GetLength () const |
| double | GetWidth () const |
| void | SetLength (double aValue) |
| Set overall length for the platform. | |
| void | SetWidth (double aValue) |
| Set overall width for the platform (i.e. wingspan for an aircraft). | |
| void | SetHeight (double aValue) |
| Set overall height for the platform. | |
| unsigned int | GetAppearance (unsigned int aLSB, unsigned int aNumBits) const |
| Gets the appearance. | |
| unsigned int | GetAppearance () const |
| void | SetAppearance (unsigned int aLSB, unsigned int aNumBits, unsigned int aValue, bool aFromScript=false) |
| bool | ScriptOverride (unsigned int aLSB, unsigned int aNumBits) const |
| Returns true if data in the appearance word has been set from script. | |
| unsigned int | GetCapabilities () const |
| Get the 'capabilities' word, a bit-field of boolean capabilities. See WsfExchange.hpp for details. | |
| void | SetCapabilities (unsigned int aCapabilitiesWord) |
| Set the 'capabilities' word, a bit-field of boolean capabilities. See WsfExchange.hpp for details. | |
| float | GetConcealmentFactor () const |
| void | SetConcealmentFactor (float aConcealmentFactor) |
| double | GetDamageFactor () const |
| void | SetDamageFactor (double aDamageFactor) |
| void | Comment (const double aTime, const std::string &aString) |
Platform motion methods. Generally, these methods should be queried in the order given. | |
| bool | IsStopped () const |
| Indicates that the platform is currently at rest, and with zero commanded velocity. | |
| bool | IsPaused () const |
| bool | IsExtrapolating () const |
Track management. | |
| const WsfTrackId & | GetNextTrackId () |
| WsfLocalTrackList & | GetMasterTrackList () |
| Return a pointer to the master track list. | |
| WsfTrackList & | GetMasterRawTrackList () |
| WsfTrackManager & | GetTrackManager () |
Category management. | |
| const WsfCategoryList & | GetCategories () const |
| Get the categories to which this platform belongs. | |
| void | AddCategory (WsfStringId aCategoryId) |
| Adds the provided category to the platform's category list. | |
| bool | IsCategoryMember (WsfStringId aCategoryId) const |
Group management. | |
| const WsfGroupList & | GetGroups () const |
| Get the Groups to which this platform belongs. | |
| void | JoinGroup (WsfGroup *aGroupPtr) |
| Join the given group. | |
| void | LeaveGroup (WsfGroup *aGroupPtr) |
| Leave the given group. | |
| bool | IsGroupMember (WsfStringId aGroupId) |
Methods to attach observers to the platform. | |
Observers receive notification of mover updates and deletion. | |
| void | AttachObserver (WsfSinglePlatformObserver *aObserverPtr) |
| void | DetachObserver (WsfSinglePlatformObserver *aObserverPtr) |
| void | NotifyDeleted (double aSimTime) |
| void | NotifyDeleting (double aSimTime) |
Methods used to process input for loading of types and instances. | |
These are only called by input processing routines and not for general use. | |
| void | ProcessInputBlock (UtInputBlock &aInputBlock, bool aLoadingType) |
| This is called by WsfPlatformTypes. | |
| void | SetBroken () |
| Methods only for use by WsfSimulation. | |
| void | SetDeleted (bool aDeleted=true) |
| WsfPlatform (const WsfPlatform &aSrc) | |
| Copy constructor (for Clone()). | |
| virtual void | DoUpdate (double aSimTime) |
| virtual void | DoUpdateMultiThread (double aSimTime) |
| virtual void | DoMoverUpdate (double aSimTime) |
| virtual void | DoNotifyUpdate (double aSimTime) |
| virtual void | DoExecuteScript (double aSimTime) |
| virtual void | DoSendQueuedMessages (double aSimTime) |
Callbacks from WsfComponentList. | |
| void | ComponentAdded (WsfComponent *aComponentPtr) override |
| A callback from WsfComponentList whenever a component is added to the component list. | |
| void | ComponentDeleted (WsfComponent *aComponentPtr) override |
| A callback from WsfComponentList when a component is about to be removed from the component list. | |
Additional Inherited Members | |
| Static Public Attributes inherited from WsfAuxDataEnabled | |
| static UtCallbackListN< void(const WsfAuxDataEnabled *)> | AuxDataAccessed |
| static UtCallbackListN< void(const WsfAuxDataEnabled *)> | AuxDataDestroyed |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
| bool | AddComponentP (WsfComponent *aComponentPtr, bool aDoNotify) |
| void | CopyAllP (const WsfComponentList &aSrc, bool aDoNotify) |
| Base class implementation of copying a component list. | |
| void | DeleteAllP (bool aDoNotify) |
| Base class implementation of deleting all components in the list. | |
| bool | DeleteComponentP (WsfStringId aName, int aRole, bool aDoNotify) |
| WsfComponent * | FindComponentP (WsfStringId aName, int aRole) const |
| WsfComponent * | FindComponentP (WsfStringId aName) const |
| WsfComponent * | FindComponentByRoleP (int aRole) const |
| WsfComponent * | GetComponentEntryByRoleP (int aRole, unsigned int aEntry) const |
| bool | RemoveComponentP (WsfStringId aName, int aRole, bool aDelete, bool aDoNotify) |
| Protected Member Functions inherited from WsfUniqueId | |
| void | AssignUniqueId (WsfSimulation *aSimulationPtr) |
| ComponentList | mComponentsByName |
Platforms represent a entity within the simulation.
A platform is basically acts as a container for the 'systems' that define how the platform operates.
The general sequence for creating a platform is as follows:
The above sequence can involve hundreds of lines of code to define all the appropriated attributes. It is typically much easier to use the simulation input to allow the creation of simulation objects from text files.
To retrieve the pointer to the platform:
The return value will be nullptr if the platform no longer exists.
Define what should be done when the platform is broken.
| WsfPlatform::WsfPlatform | ( | const WsfScenario & | aScenario | ) |
References GetScriptContext(), mFlags, WsfObject::WsfObject(), and WsfUniqueId::WsfUniqueId().
Referenced by Clone(), Comment(), PlatformAdded(), PlatformDeleted(), and WsfPlatform().
|
override |
References WsfComponentList::DeleteAllComponents(), WsfObject::GetName(), and IsDeleted().
|
protected |
Copy constructor (for Clone()).
References GetIndex(), WsfObject::GetName(), mFlags, mHasOnUpdateScript, mInitPass, mIsBroken, mIsDeleted, mIsInitialized, mUpdateAllowed, mUpdateLocked, WsfComponentListT< WsfPlatformComponent >::SetParentOfComponents(), WsfAuxDataEnabled::WsfAuxDataEnabled(), WsfObject::WsfObject(), WsfPlatform(), and WsfUniqueId::WsfUniqueId().
| void WsfPlatform::AddCategory | ( | WsfStringId | aCategoryId | ) |
Adds the provided category to the platform's category list.
Referenced by wsf::coverage::Grid::CategorizeAssets().
| void WsfPlatform::AssignToSimulation | ( | WsfSimulation * | aSimulationPtr | ) |
May be called prior to Initialize() to bind this platform to a simulation. This allows the platform to be used in a limited fashion without actually being in the simulation.
References WsfUniqueId::AssignUniqueId(), GetSimulation(), WsfSimulation::Initialize(), and WsfSimulation.
Referenced by WsfExplicitWeapon::FireP(), and Initialize().
| void WsfPlatform::AttachObserver | ( | WsfSinglePlatformObserver * | aObserverPtr | ) |
Referenced by WsfChaffEjector::Initialize(), WsfFuel::Initialize(), and WsfArticulatedPart::SetPlatform().
|
overridevirtual |
Clone a platform.
Implements WsfObject.
References WsfPlatform().
Referenced by WsfSimulation::AddInputPlatforms(), WsfXIO_AutoDisMapping::NewDisPlatform(), and WsfFalseTarget::WsfFalseTarget().
|
inlineoverridevirtual |
Clones a component. May return null if component does not support clone.
Implements WsfComponent.
References WsfObject::Clone().
| void WsfPlatform::Comment | ( | const double | aTime, |
| const std::string & | aString ) |
References WsfObserver::Comment(), GetSimTime(), GetSimulation(), platformPtr, and WsfPlatform().
Referenced by WsfBeamDirector::WsfBeamDirectorMode::AttemptToDetect(), WsfLaserWeapon::CeaseFire(), WsfBallisticMissileLaunchComputer::ComputeGroundIntercept(), WsfLaserWeapon::EndShot(), WsfBallisticMissileLaunchComputer::EstimatedTimeToIntercept(), WsfTabularLaunchComputer::EstimatedTimeToIntercept(), WsfLaserWeapon::EvaluateCooling(), WsfBeamDirector::PointAtTarget(), WsfDefaultHEL::Propagate(), and WsfBeamDirector::WsfBeamDirectorMode::Select().
|
virtual |
Complete processing of platform inputs. Called after all inputs have been processed.
| aScenario | The scenario containing the platform |
References wsf::TerrainInterface::Get(), wsf::Terrain::GetElevInterp(), GetLocationLLA(), and mInputAltAGL.
|
overrideprotectedvirtual |
A callback from WsfComponentList whenever a component is added to the component list.
Reimplemented from WsfComponentList.
|
overrideprotectedvirtual |
A callback from WsfComponentList when a component is about to be removed from the component list.
Reimplemented from WsfComponentList.
| void WsfPlatform::DetachObserver | ( | WsfSinglePlatformObserver * | aObserverPtr | ) |
|
protectedvirtual |
References mHasOnUpdateScript.
Referenced by DoUpdate(), and ExecuteScript().
|
protectedvirtual |
Referenced by DoUpdate(), and DoUpdateMultiThread().
|
protectedvirtual |
References GetSimulation(), and WsfObserver::MoverUpdated().
Referenced by DoUpdate(), and NotifyUpdate().
|
protectedvirtual |
Referenced by SendQueuedMessages().
|
protectedvirtual |
Perform the actual update of the platform position.
Update() calls this method when it has determined that an update is actually necessary. A derived class may override this, but it is really preferable to simply provide special movers as this routine is also responsible for calling observers, etc.
| aSimTime | The current simulation time. |
References DoExecuteScript(), DoMoverUpdate(), DoNotifyUpdate(), and GetSimulation().
Referenced by Update().
|
protectedvirtual |
References DoMoverUpdate(), and GetSimulation().
Referenced by UpdateMultiThread().
|
inline |
References DoExecuteScript(), and mUpdateAllowed.
Referenced by WsfScriptCallback::Execute(), ExecuteScript(), and WsfP6DOF_Mover::ExecuteTriggers().
| bool WsfPlatform::ExecuteScript | ( | double | aSimTime, |
| WsfStringId | aName ) |
Execute the script with the specified string name ID.
| aSimTime | The current simulation time |
| aName | The name of the script to be executed. |
References ExecuteScript().
| bool WsfPlatform::ExecuteScript | ( | double | aSimTime, |
| WsfStringId | aScriptName, | ||
| UtScriptData & | aScriptRetVal, | ||
| const std::vector< ut::script::Data > & | aScriptArgs ) |
Execute the script with the specified string name ID.
| aSimTime | The current simulation time |
| aScriptName | The name of the script to be executed. |
| aScriptRetVal | The return value of the script, which is filled by reference. If the return type is void, the return value will be marked as invalid. |
| aScriptArgs | The list of arguments to pass to the script. |
References WsfObject::GetName(), and ok.
| void WsfPlatform::ExecuteScriptAtTime | ( | double | aTime, |
| WsfStringId | aName, | ||
| const std::vector< ut::script::Data > & | aScriptArgs ) |
Execute the script with the specified string name ID at the specified time.
| aTime | The time at which to execute the script. |
| aName | The name of the script to be executed. |
| aScriptArgs | The list of arguments to pass to the script. |
References WsfSimulation::AddEvent(), and GetSimulation().
Referenced by WsfTBM_Mover::ScheduleScriptEvents().
|
inline |
| unsigned int WsfPlatform::GetAppearance | ( | unsigned int | aLSB, |
| unsigned int | aNumBits ) const |
Gets the appearance.
Get the 'appearance' field.
References WsfUtil::GenerateBitMask().
Referenced by WsfSOSM_Interaction::GetTargetThrottle(), and WsfDisInterface::UpdatePlatformFromAppearance().
| WsfArticulatedPart * WsfPlatform::GetArticulatedPart | ( | unsigned int | aUniqueId | ) | const |
Returns a pointer to the articulated part with the specified unique ID. This is a convenience method to locate an articulated part with the specified unique Id. This exists because it is called enough to make it useful.
| aUniqueId | The unique ID of the articulated part to be located. |
References WsfComponentList::RoleIterator< T >::AtEnd(), and WsfUniqueId::GetUniqueId().
|
inline |
Get the 'capabilities' word, a bit-field of boolean capabilities. See WsfExchange.hpp for details.
Referenced by WsfExchange::IsCapable(), and WsfExchange::SetCapabilityFlag().
|
inline |
Get the categories to which this platform belongs.
Referenced by WsfSensor::AllowDetectionChancesFor(), WsfWeaponFuse::CheckAllTargets(), WsfHEL_Lethality::FindMappedEntry(), WsfExtInterface::IsPrivate(), WsfWeaponEffects::IsVulnerable(), WsfPlatformAvailability::PlatformIsAvailable(), and WsfSensorMode::UpdateTrack().
|
inlineoverridevirtual |
Returns the component's name. Each component in a component list has a unique name. Names are usually defined by the user, but they may also be generated by code and prefixed with a '#' to guarantee no collisions with user-defined names.
Implements WsfComponent.
References WsfObject::GetNameId().
Referenced by WsfVariableBase::ObjectName().
|
overridevirtual |
Returns a zero-terminated array of component roles. Note that the array should be in decreasing order of specificity and should generally the inheritance hierarchy. The first entry should be the components 'primary' role. For example a sensor would do the following:
Implements WsfComponent.
References cWSF_COMPONENT_NULL, and cWSF_COMPONENT_PLATFORM.
|
inline |
Return a reference to the raw component list.
Referenced by WsfConfigureAccessReport::Complete(), wsf::altloc::Component::Find(), WsfMultiresolutionPlatformComponent< DerivedComponent >::Find(), wsf::altloc::Component::FindOrCreate(), wsf::cyber::Constraint::FindOrCreate(), wsf::comm::NetworkManager::PlatformDeleted(), wsf::comm::router::OSPF_Area::PlatformDeleted(), wsf::comm::NetworkManager::PlatformInitialized(), wsf::comm::router::ProtocolOSPF::PlatformInitialized(), and WsfTaskManager::SendTaskMessage().
|
inline |
Get the 'concealment factor'.
Referenced by WsfAcousticSensor::AcousticMode::AttemptToDetect(), WsfBeamDirector::WsfBeamDirectorMode::AttemptToDetect(), WsfGeometricSensor::GeometricMode::AttemptToDetect(), WsfLADAR_Sensor::LADAR_Mode::AttemptToDetect(), WsfOpticalSensor::OpticalMode::AttemptToDetect(), WsfOTH_RadarSensor::OTH_Mode::AttemptToDetect(), WsfRadarSensor::RadarMode::AttemptToDetect(), WsfSAR_Sensor::SAR_Mode::AttemptToDetect(), WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), WsfSurfaceWaveRadarSensor::RadarMode::AttemptToDetect(), WsfEOIR_IRST_SensorMode::BeginDetectionAttempt(), WsfDisPlatform::MoverUpdated(), WsfDisInterface::UpdateAppearanceFromPlatform(), and WsfDisInterface::UpdatePlatformFromAppearance().
|
inline |
Return a reference to the script context.
Referenced by WsfMaskingPattern::GetFactor(), and WsfAdvancedBehaviorTree::GetScriptAccessibleContext().
|
inline |
Get the time when the platform was (or is to be) added to the simulation.
Referenced by notifyOfPlatformsNotPresentInSimulation(), and WsfWeaponTrackProcessor::Update().
|
inline |
Get the 'damage factor'.
Referenced by WsfWeaponEffects::ApplyEffectIncrement(), WsfMobilityAndFirepowerLethality::ApplyEffectTo(), WsfSphericalLethality::ApplyEffectTo(), WsfWeaponEffects::ApplyEffectTo(), WsfL16::SurveillancePart::HandleSend(), WsfWeaponEffects::IsVulnerable(), WsfOffsetMover::PlatformDeleted(), WsfSimulation::PlatformDeleted(), WsfDisInterface::PrepareFinalEntityState(), wsf::event::utils::PrintPlatformEvent(), wsf::event::utilsCSV::PrintPlatformEvent(), wsf::event::utils::PrintWE_Termination(), wsf::event::utilsCSV::PrintWE_Termination(), WsfExplicitWeapon::ProcessDeferredLaunchEvent(), WsfRIPRJobBoard::PurgeDeadBidders(), WsfDisInterface::UpdateAppearanceFromPlatform(), WsfDisInterface::UpdatePlatformFromAppearance(), and WsfDisWeaponEvents::WeaponTerminated().
|
inline |
Get the empty mass of platform. Unusable fuel (if any) should be accounted with empty weight.
Referenced by WsfGuidedMover::GetPropertyDouble(), WsfGuidedMover::InitiateStage(), and WsfSA_Processor::UpdateFuelData().
|
inline |
Return the pointer to the Fuel object for this platform.
|
inline |
Get the usable fuel mass on the platform. Unusable fuel should be accounted with empty weight.
Referenced by WsfGuidedMover::InitiateStage().
|
inline |
Get the Groups to which this platform belongs.
|
inline |
Get height of platform.
Referenced by WsfOpticalSignature::GetValue(), WsfLaserDesignations::Spot::LocalUpdate(), WsfLOS_Manager::MaskedByTerrain(), and WsfLOS_Manager::MaskedByTerrain().
| double WsfPlatform::GetHeightAboveTerrain | ( | ) |
Returns the height of the platform above the terrain at the location of the platform.
References GetLocationLLA().
|
inline |
Get the name of the icon associated with this platform.
Referenced by WsfXIO_ObjectInfoLoad::Load_Platform().
|
inline |
Get the string ID of the name of the icon associated with this platform.
Referenced by WsfExtData::SelectEntityType(), and WsfChaffWeapon::WeaponPlatformUserInitialize().
|
inline |
Get the unique index of the platform within the simulation.
The index returned by GetIndex is unique within the simulation. It will never be reassigned even if the platform is deleted. This index can be used to determine if a platform still exists and safely access the pointer to the platform. WsfSimulation::GetPlatformByIndex will return the pointer a platform with a given index or 0 if the platform no longer exists.
Referenced by WsfMobilityAndFirepowerLethality::AddCM_State(), WsfEmitterTypeReporting::AddEmitterReportState(), WsfPassiveSensor::PassiveMode::AddInteractor(), WsfMultiThreadManager::AddPlatform(), WsfSimulation::AddPlatform(), WsfXIO_SimService::AddRequiredPlatform(), XWsfOSM_Traffic::AddScriptedVehicle(), WsfTargetTypeReporting::AddTargetReportState(), WsfSimulation::AddToPlatformList(), WsfWeaponEffects::ApplyDamageResultToOtherPlatform(), WsfWeaponEffects::ApplyEffectIncrement(), WsfTaskManager::AssignTask(), WsfWeaponTaskManager::AssignTask(), WsfCTD_SensorComponent::AttemptToDetect(), WsfLaserDesignator::LaserDesignationMode::AttemptToDetect(), WsfOpticalSensor::OpticalMode::AttemptToDetect(), WsfPassiveSensor::AttemptToDetect(), WsfPassiveSensor::PassiveMode::AttemptToDetect(), WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), WsfTRIMSIM_Processor::AttemptToDetect(), WsfEOIR_IRST_SensorMode::AttemptToDetectVisual(), WsfRouteFinder::Avoid(), WsfImplicitWeapon::BeginEngagement(), WsfDisVisualization::BehaviorChange(), WsfTaskManager::ChangeOperatingLevel(), WsfWeaponFuse::CheckAllTargets(), WsfRF_Repeater::CheckDetectAndUpdate(), WsfDisInterface::Comment(), WsfDisInterface::CommFrequencyChanged(), WsfDisInterface::CommTurnedOff(), WsfDisInterface::CommTurnedOn(), WsfBallisticMissileLaunchComputer::ComputeAirIntercept(), WsfBallisticMissileLaunchComputer::ComputeLateralTargetOffset(), WsfLaserDesignator::TargetAssociation::Consider(), WsfTruthCorrelation::CorrelateImpl(), WsfSA_Perceive::CreateAssetsList(), WsfBeamDirector::WsfBeamDirectorMode::CreateTrackFromResult(), WsfSimulation::DeleteFromPlatformList(), WsfMultiThreadManager::DeletePlatform(), WsfSimulation::DeletePlatform(), WsfTankedFuel::DisconnectFrom(), WsfDisUtil::DisToWsfPlayers(), WsfXIO_PlatformInfoService::DR_Change(), WsfPassiveSensor::PassiveMode::EmitterActiveCallback(), WsfExchangeProcessor::ExchangeCompleted(), WsfExchangeProcessor::ExchangeRequestFailed(), FlightPathAnalysisFunction::Execute(), WsfExtDetonation::Execute(), WsfScriptContext::ExecuteTimedEventScript::ExecuteTimedEventScript(), WsfL16::Interface::FilterMessageSend(), WsfL16::Interface::FilterMessageSend(), AirToAirLaunchComputerGenerator::FireNewWeapon(), WsfExplicitWeapon::FireP(), WsfExtEntityDeadReckon::ForceUpdate(), WsfBMUtils::GetAssignedIDRecord(), WsfDisInterface::GetEntityId(), WsfInterceptCalculator::GetInterceptCalculatorOnPlatform(), WsfTaskManager::GetMessageSender(), WsfWeaponEngagement::GetMissDistance(), WsfWeaponEngagement::GetTargetLocationWCS(), WsfBMUtils::GetUnitIDFromPlatform(), WsfBMUtils::GetUnitIDRecordFromPlatform(), WsfWeaponEngagement::GetWeaponLocationWCS(), WsfBallisticMissileLaunchComputerSharedData::GlobalPlatformDeleted(), WsfXIO_MessageService::HandleMessage(), WsfL16::Interface_J11::HandoffControlChange(), WsfPerceptionProcessor::Important(), WsfSA_Perceive::Important(), WsfExchange::Query::Initialize(), WsfTask::Initialize(), WsfTrack::Initialize(), WsfWeaponEngagement::Initialize(), WsfMover::Initialize2(), WsfDisWeaponEvents::InitiateWeaponTransfer(), WsfBMUtils::IsAssignedBy(), WsfBMUtils::IsDirectCommander(), WsfUplinkProcessor::IsUplinkingTo(), WsfWeaponEffects::IsVulnerable(), WsfMilEventPipe::JammingRequestCanceled(), WsfMilEventPipe::JammingRequestInitiated(), JoinGroup(), WsfMilInterface::KillPlatform(), LeaveGroup(), WsfXIO_ObjectInfoLoad::Load_Platform(), WsfXIO_ObjectInfoLoad::Load_PlatformPart(), WsfUtil::MakeTrack(), WsfPerceptionProcessor::MarkAssetAsImportant(), WsfSA_Perceive::MarkAssetAsImportant(), WsfPerceptionProcessor::MarkAssetAsUnimportant(), WsfSA_Perceive::MarkAssetAsUnimportant(), WeaponObserver::MoverBurnedOut(), WsfXIO_PlatformInfoService::MoverChanged(), WsfImage::Object::Object(), WsfLOS_Manager::PartMoved(), WsfTaskManager::PendingMessage::PendingMessage(), SAM_LaunchComputerGenerator::PlaceNewTarget(), WsfEventPipeInterface::Platform(), WsfCTD_SensorComponent::PlatformAdded(), WsfDefaultSensorScheduler::PlatformAdded(), WsfEOIR_Sensor::PlatformAdded(), WsfPhysicalScanSensorScheduler::PlatformAdded(), WsfSA_Processor::PlatformAdded(), WsfSectorScanSensorScheduler::PlatformAdded(), WsfSpinSensorScheduler::PlatformAdded(), WsfWeaponServer::PlatformAdded(), WsfExchangeProcessor::PlatformCapabilityChanged(), WeaponObserver::PlatformDeleted(), WsfCTD_SensorComponent::PlatformDeleted(), WsfDefaultSensorScheduler::PlatformDeleted(), WsfDisInterface::PlatformDeleted(), WsfEOIR_Sensor::PlatformDeleted(), WsfExchangeProcessor::PlatformDeleted(), WsfLaserDesignations::PlatformDeleted(), WsfLaserDesignator::PlatformDeleted(), WsfOpticalSensor::OpticalMode::PlatformDeleted(), WsfSA_Processor::PlatformDeleted(), WsfSAR_Sensor::PlatformDeleted(), WsfSOSM_Sensor::SOSM_Mode::PlatformDeleted(), WsfTaskManager::PlatformDeleted(), WsfWeaponServer::PlatformDeleted(), WsfDisInterface::PlatformInitialized(), WsfXIO_AutoDisMapping::PlatformInitialized(), WsfSA_Processor::PlatformInTrackListMWS(), WsfLOS_Manager::PlatformMoved(), WsfCTD_SensorComponent::PostAttemptToDetect(), WsfDisDirectedEnergyFire::Process(), WsfDisFire::Process(), WsfWeaponServer::ProcessCommand(), WsfWeaponEffects::ProcessEffectExplicit(), Fires::DisObserver::ProcessFirePDU(), WsfL16::Interface_J11::ProcessWIFT_Event(), wsf::xio::CommComponent::Receive(), WsfPassiveSensor::PassiveMode::RemoveInteractor(), WsfExchange::Transactor::RequestFrom(), WsfWeaponTaskManager::RoundsFiredAt(), SafeRIPRProc::SafeRIPRProc(), SafeRIPRProc::SafeRIPRProc(), wsf::comm::Event::ScheduleDeliverMessageEvent(), WsfWeaponFuse::SelectPCA_ForDetonation(), WsfSectorScanSensorScheduler::SelectTarget(), WsfEventPipeInterface::SendDependent(), WsfL16::Interface::SendJMessage(), WsfBMDisseminateC2::SendMessage(), WsfJTIDS_SlotGroup::SendMessage(), WsfDisPlatform::SendOrQueueEmissionsPDU(), WsfL16::Interface::SendRawJMessage(), WsfXIO_PlatformInfoService::SendTrackManagerState(), WsfL16::Interface::SendUserDefinedJMessage(), WsfDisInterface::SensorDetectionChanged(), WsfDisInterface::SensorFrequencyChanged(), WsfDisInterface::SensorModeActivated(), WsfDisInterface::SensorModeDeactivated(), WsfDisInterface::SensorRequestCanceled(), WsfDisInterface::SensorRequestInitiated(), WsfDisInterface::SensorRequestUpdated(), WsfDisInterface::SensorScanUpdated(), WsfDisInterface::SensorTrackDropped(), WsfDisInterface::SensorTrackInitiated(), WsfDisInterface::SensorTurnedOff(), WsfDisInterface::SensorTurnedOn(), WsfTask::SetAssignee(), WsfVisualization::SetBehavior(), WsfWeaponEngagement::SetFiringPlatform(), WeaponObserver::SetInFlight(), WsfFormationFlyer::SetLeadAircraft(), WsfRIPRProcessor::SetNumJobChannels(), WsfMessage::SetOriginator(), WsfStatusMessage::SetPlatform(), WsfTrack::SetPlatformOriginator(), WsfTrack::SetTarget(), WsfRIPRProcessor::SetTargetByPlatform(), WsfWeaponEngagement::SetTargetLocationWCS(), WsfWeaponEngagement::SetWeaponLocationWCS(), WsfRIPRProcessor::StartUplinking(), WsfRIPRProcessor::StartUplinking(), WsfUplinkProcessor::StartUplinking(), WsfUplinkProcessor::StartUplinking(), WsfDefaultSensorTracker::State::State(), WsfRIPRProcessor::StopUplinking(), WsfRIPRProcessor::StopUplinking(), WsfUplinkProcessor::StopUplinking(), WsfUplinkProcessor::StopUplinking(), WsfDefaultSensorTracker::TargetDetected(), WsfDefaultSensorTracker::TargetUndetected(), WsfTaskManager::TasksAssignedTo(), WsfCTD_SensorComponent::TrackerAllowTracking(), WsfTSPI_Mover::TranslateAndRotateToNewFile(), WsfXIO_AutoDisMapping::TranslateTrack(), WsfL16::Interface::UnfilterMessageSend(), WsfL16::Interface::UnfilterMessageSend(), WsfPerceptionProcessor::Unimportant(), WsfSA_Perceive::Unimportant(), WsfLaserTracker::Update(), WsfPerfectTracker::Update(), WsfPerceptionProcessor::UpdateAssets(), WsfSA_Perceive::UpdateAssetsData(), WsfHighEnergyLaser::UpdateEngagementGeometry(), WsfSA_Assess::UpdateEngagementsData(), XWsfAirTraffic::UpdateFlightStatus(), WsfXIO_AutoDisMapping::UpdateRemovedPlatforms(), WsfEmitterTypeReporting::UpdateReportedEmitterType(), WsfTargetTypeReporting::UpdateReportedTargetType(), WsfJamStrobeDetector::UpdateTrack(), WsfSensorMode::UpdateTrack(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), WsfDraw::Vertex(), WsfDraw::VertexECS(), WsfDraw::VertexNED(), WsfDraw::VertexScreenPlat(), WsfDisVisualization::VisibleChange(), WsfWeaponTaskManager::WeaponFireAborted(), Fires::Observer::WeaponFired(), WsfL16::Interface_J11::WeaponFired(), WsfWeaponTaskManager::WeaponsActiveFor(), Fires::Observer::WeaponTerminated(), WsfL16::Interface_J11::WeaponTerminated(), WsfMilEventPipe::WeaponTurnedOff(), WsfAssetPerception::WsfAssetPerception(), WsfPlatform(), WsfSA_EntityPerception::WsfSA_EntityPerception(), WsfTrack::WsfTrack(), and WsfWeaponEngagement::WsfWeaponEngagement().
|
inline |
Return the time of the last call to Update or UpdateFrame.
Referenced by WsfWeaponFuse::CheckAllTargets(), WsfSolarTerminator::GetPlatformSolarIllumination(), WsfWeaponEngagement::GetTargetLocationWCS(), WsfWeaponEngagement::GetWeaponLocationWCS(), WsfUtil::PotentiallyWithinRange(), WsfStraightLineMover::Update(), wsf::six_dof::GuidanceComputer::UpdateTargetPerception(), WsfGuidanceComputer::UpdateTargetPerception(), and WsfP6DOF_GuidanceComputer::UpdateTargetPerception().
|
inline |
Get length of platform.
Referenced by WsfOpticalSignature::GetValue(), and WsfLaserDesignations::Spot::LocalUpdate().
| void WsfPlatform::GetLocationErrorWCS | ( | double | aLocationErrorWCS[3] | ) | const |
Return the difference between where the platform thinks it is and where it actual is located. This can be used to compute the perceived location as follows:
| aLocationErrorWCS | The difference between the perceived location and the true location. |
Referenced by WsfEOIR_Sensor::Update(), WsfSensorMode::UpdateTrack(), WsfSensorMode::UpdateTrackPosition(), WsfGuidanceComputer::UpdateWeaponPerception(), and WsfP6DOF_GuidanceComputer::UpdateWeaponPerception().
|
inline |
Get the marking associated with this platform.
|
inline |
Get the string ID of the marking associated with this platform.
|
inline |
Get the current mass of platform. The mass of the platform may be fixed through the input stream, or controlled independently during run time by internal processes. (For instance, if the platform contains a WsfFuel object, the fuel mass may be overwritten during run time.) The total mass of a platform is the sum of its empty mass, fuel mass, and payload mass components. Each mass value defaults to zero.
Referenced by WsfGuidedMover::AdvanceTimeRK(), WsfGuidedMover::AdvanceTimeSinglestep(), WsfGuidedMover::InitiateStage(), WsfGuidedMover::PostUpdate(), WsfGuidanceComputer::UpdateGuidance(), WsfGuidedMoverBase::WriteKinematicStatus(), WsfP6DOF_Mover::WriteKinematicStatus(), and WsfGuidedMoverBase::WriteTrajectoryOutput().
| WsfTrackList & WsfPlatform::GetMasterRawTrackList | ( | ) |
| WsfLocalTrackList & WsfPlatform::GetMasterTrackList | ( | ) |
Return a pointer to the master track list.
References WsfTrackManager::GetTrackList(), and GetTrackManager().
Referenced by WsfXIO_ScriptService::CheckParams(), WsfWeaponThreatProcessor::CreateThreatList(), WsfThreatProcessor::GetNearestThreat(), WsfWeaponTrackProcessor::Initialize2(), WsfPerfectTracker::NullTrack(), WsfWeaponTrackProcessor::ProcessTrackDrop(), WsfBMHEFIRMOELogger::RegisterScriptObservers(), WsfRIPRProcessor::TargetTrack(), WsfSA_Perceive::UpdatePerceivedItemsCalculation(), WsfPerceptionProcessor::UpdateThreats(), WsfImageProcessor::UpdateTrack(), and WsfRIPRProcessor::WeaponsIncoming().
|
inline |
Return the pointer to the mover object for this platform.
Referenced by WsfMultiThreadManager::AddPlatform(), XWsfOSM_Traffic::AddScriptedVehicle(), WsfBrawlerProcessor::Alpha(), WsfBrawlerProcessor::AlphaCL0(), WsfMobilityAndFirepowerLethality::ApplyEffectTo(), WsfBrawlerProcessor::Area(), WsfBrawlerFuel::CalcConsumptionRate(), XWsfOSM_Traffic::ChangeScriptedLane(), wsf::six_dof::Mover::CommonSubobjectJettisonTasks(), WsfP6DOF_Mover::CommonSubobjectJettisonTasks(), WsfBallisticMissileLaunchComputer::ComputeAirIntercept(), WsfBallisticMissileLaunchComputer::ComputeLateralTargetOffset(), WsfBrawlerProcessor::CorneringVelocity_fps(), WsfBrawlerProcessor::CurrentFuelWeight_lbs(), WsfBrawlerProcessor::CurrentStructuralGLimit_g(), WsfBrawlerProcessor::CurrentWeight_lbs(), WsfBrawlerProcessor::DesignWeightForMaxG_lbs(), WsfBrawlerProcessor::Drag(), WsfBrawlerProcessor::DynamicPressure_psf(), WsfBrawlerProcessor::EmptyWeight_lbs(), WsfBrawlerProcessor::EvaluateHeadingSpeedAltitude(), WsfBrawlerProcessor::EvaluateRates(), WsfBrawlerProcessor::EvaluateTurnInPlaneWithSpeed(), WsfBrawlerProcessor::EvaluateTurnInPlaneWithThrottle(), WsfBrawlerProcessor::EvaluateVectorWithSpeed(), WsfBrawlerProcessor::EvaluateVectorWithThrottle(), FlightPathAnalysisFunction::Execute(), wsf::six_dof::ExplicitWeapon::Fire(), WsfP6DOF_ExplicitWeapon::Fire(), AirToAirLaunchComputerGenerator::FireNewWeapon(), WsfExplicitWeapon::FireP(), WsfBrawlerProcessor::GetAlphaAtMaxCL_deg(), WsfBrawlerProcessor::GetAlphaAtMaxCL_deg(), WsfBrawlerProcessor::GetAlphaAtMaxCL_deg(), WsfBrawlerProcessor::GetMaxCL(), WsfBrawlerProcessor::GetMaxCL(), WsfBrawlerProcessor::GetMaxCL(), WsfOrbitalManeuver::GetTargetPropagatorPerception(), WsfOrbitalManeuver::GetTargetPropagatorTruth(), WsfBrawlerProcessor::Initialize(), WsfGuidanceComputer::Initialize(), WsfL16::PPLI_Part::Initialize(), WsfL16::SystemStatusPart::Initialize(), WsfP6DOF_GuidanceComputer::Initialize(), WsfBrawlerProcessor::Lift(), WsfExtEntityDeadReckon::DR_State::LoadFromPlatform(), WsfBrawlerProcessor::Mach(), WsfBrawlerProcessor::MaxForwardAcceleration_fps2(), WsfBrawlerProcessor::MaxForwardAccelerationWithGravity_fps2(), WsfBrawlerProcessor::MaxInstantaneousGLoad_g(), WsfBrawlerProcessor::MaxInstantaneousTurnRate_rps(), WsfBrawlerProcessor::MaxSustainedGLoad_g(), WsfBrawlerProcessor::MaxSustainedTurnRate_rps(), WsfBrawlerProcessor::MaxTacticalTurnRate_rps(), WsfBrawlerProcessor::MinForwardAcceleration_fps2(), WsfBrawlerProcessor::MinForwardAccelerationWithGravity_fps2(), WsfBrawlerProcessor::MinInstantaneousTurnRadius_ft(), WsfBrawlerProcessor::MinSustainedTurnRadius_ft(), WsfBrawlerProcessor::MinTacticalTurnRadius_ft(), WsfXIO_PlatformInfoService::MoverChanged(), SAM_LaunchComputerGenerator::PlaceNewTarget(), WsfEventStepSimulation::PlatformInitialized(), WsfEclipseReport::PlatformInitializedHandler(), WsfPlatformAvailability::PlatformIsAvailable(), WsfSpaceMoverBase::PreInitialize(), WsfExplicitWeapon::ProcessDeferredLaunchEvent(), XWsfOSM_Traffic::ScriptGoOffroad(), SetConcealmentFactor(), WsfBrawlerProcessor::SetLocationECI(), WsfBrawlerProcessor::SetLocationLLA(), WsfBrawlerProcessor::SetLocationWCS(), WsfBrawlerProcessor::SpecificEnergyRate_fps(), WsfBrawlerProcessor::StructuralGLimitAtDesignWeight_g(), WsfBrawlerProcessor::Throttle(), WsfBrawlerProcessor::Thrust(), WsfSA_Processor::UpdateNavData(), XWsfOSM_Traffic::UpdateScriptedVehicleRoute(), and UT_DEFINE_SCRIPT_METHOD().
| const WsfTrackId & WsfPlatform::GetNextTrackId | ( | ) |
Assign a new track ID to be used a track created by this platform.
References WsfObject::GetNameId(), and WsfTrackId::SetOwningPlatformId().
Referenced by WsfWeaponServer::CreateATargetPoint(), WsfWeaponServer::CreateATargetPoint(), WsfPerfectTracker::EstablishNewTrack(), WsfDisWeaponEvents::InitiateWeaponTransfer(), WsfUtil::MakeTrack(), and WsfWeaponServer::ProcessCommand().
|
inline |
Get the action to occur when the platform is broken.
Referenced by WsfMilInterface::KillPlatform().
|
inline |
Get the Payload mass on the platform.
Referenced by WsfGuidedMover::GetPropertyDouble(), WsfGuidedMover::InitiateStage(), and WsfGuidedMover::JettisonEjectables().
|
inline |
The platform type/instance belongs to this scenario.
Referenced by WsfMilExtInterface::AddWeapon(), WsfEM_ALARM_Clutter::ComputeClutterPower(), WsfPerceptionProcessor::CreatePerceptionProcessor(), engage::TargetConfig::CreatePlatform(), WsfSA_Processor::CreateSA_Processor(), WsfBMUtils::GetSpatialDomain(), WsfAirMover::GetThrottlePosition(), GetTrackManager(), WsfUplinkProcessor::GetUplinkProcessor(), WsfEM_ALARM_Clutter::Initialize(), WsfEM_RF_Type1Attenuation::Initialize(), Initialize(), WsfSignatureInterface::Initialize(), WsfGroupList::ProcessInput(), ProcessInput(), and ProcessInputBlock().
|
override |
|
override |
|
inline |
Referenced by WsfGuidedMoverBase::CallStagingEventScript(), WsfInterceptCalculator::CanIntercept(), WsfScriptCallback::Execute(), WsfInterceptCalculator::GetInterceptCalculatorOnPlatform(), WsfMover::Initialize(), WsfScriptCallback::Initialize(), WsfSignatureInterface::Initialize(), WsfWeapon::Initialize(), WsfWeaponEffects::ProcessEffectCommon(), WsfExplicitWeapon::SetPlatform(), WsfFuel::SetPlatform(), WsfL16::ComputerPart::SetPlatform(), WsfScriptProcessor::SetPlatform(), WsfSensor::SetPlatform(), WsfWeaponTrackProcessor::SetPlatform(), and WsfPlatform().
|
inline |
Get the 'side' (affiliation) to which this platform belongs.
Referenced by WsfSA_Perceive::CreateBanditsList(), WsfExplicitWeapon::FireP(), wsf::BistaticErrorModel::GetSphericalErrorStdDev(), WsfXIO_ObjectInfoLoad::Load_Platform(), WsfEventPipeOptionsCriteria::Matches(), WsfSA_Processor::PlatformAdded(), WsfWeaponServer::PlatformInitialized(), wsf::event::utils::PrintPlatformEvent(), wsf::event::utilsCSV::PrintPlatformEvent(), wsf::event::utilsCSV::PrintSystemOffOnEvent(), SetSide(), WsfSA_Assess::UpdateEngagementsData(), WsfSA_Processor::UpdateTrackData(), and WsfSA_EntityPerception::WsfSA_EntityPerception().
|
inline |
Get the string ID of the side (affiliation) to which this platform belongs.
Referenced by WsfSensor::AllowDetectionChancesFor(), WsfDisWeaponEvents::InitiateWeaponTransfer(), WsfUtil::MakeTrack(), WsfImage::Object::Object(), WsfWeaponServer::PlatformInitialized(), and WsfSensorMode::UpdateTrack().
|
inline |
Return a reference to the 'signature list' object that encapsulates all the signature processing.
Referenced by WsfAcousticSignature::GetInputType(), WsfInfraredSignature::GetInputType(), WsfInherentContrast::GetInputType(), WsfOpticalReflectivity::GetInputType(), WsfOpticalSignature::GetInputType(), WsfRadarSignature::GetInputType(), WsfOpticalSignature::GetProjectedArea(), WsfOpticalSignature::GetRadiantIntensity(), WsfAcousticSignature::GetScaleFactor(), WsfInfraredSignature::GetScaleFactor(), WsfInherentContrast::GetScaleFactor(), WsfOpticalReflectivity::GetScaleFactor(), WsfOpticalSignature::GetScaleFactor(), WsfRadarSignature::GetScaleFactor(), WsfRadarSignature::GetSignature(), WsfAcousticSignature::GetState(), WsfInfraredSignature::GetState(), WsfInherentContrast::GetState(), WsfOpticalReflectivity::GetState(), WsfOpticalSignature::GetState(), WsfRadarSignature::GetState(), WsfAcousticSignature::GetValue(), WsfAcousticSignature::GetValue(), WsfInfraredSignature::GetValue(), WsfInherentContrast::GetValue(), WsfOpticalReflectivity::GetValue(), WsfOpticalSignature::GetValue(), WsfRadarSignature::GetValue(), WsfRadarSignature::GetValue(), Initialize(), ProcessInput(), WsfAcousticSignature::SetScaleFactor(), WsfInfraredSignature::SetScaleFactor(), WsfInherentContrast::SetScaleFactor(), WsfOpticalReflectivity::SetScaleFactor(), WsfOpticalSignature::SetScaleFactor(), WsfRadarSignature::SetScaleFactor(), WsfRadarSignature::SetSignature(), WsfAcousticSignature::SetState(), WsfInfraredSignature::SetState(), WsfInherentContrast::SetState(), WsfOpticalReflectivity::SetState(), WsfOpticalSignature::SetState(), WsfRadarSignature::SetState(), WsfDisInterface::UpdatePlatformFromAppearance(), and WsfOpticalSignature::UsesInherentContrast().
| double WsfPlatform::GetSimTime | ( | ) | const |
Returns the current simulation time. If the platform has not been added to a simulation, returns 0.0.
Referenced by Comment(), WsfPerceptionProcessor::CreatePerceptionProcessor(), WsfSA_Processor::CreateSA_Processor(), WsfBrawlerProcessor::EvaluateAlternative(), WsfPerceptionProcessor::GetPerceptionProcessor(), WsfBrawlerProcessor::GetTime(), GetTrackManager(), WsfUplinkProcessor::GetUplinkProcessor(), PlatformDeleted(), SetAppearance(), SetConcealmentFactor(), SetDamageFactor(), and WsfRadarSignature::SetSignature().
|
inline |
If the platform is a member of a simulation, this is the containing simulation.
References WsfSimulation.
Referenced by WsfBrawlerProcessor::AddSelfCalledConsciousnessEvent(), WsfExtEmission::AddSensor(), WsfMilExtInterface::AddWeapon(), AssignToSimulation(), Comment(), WsfDefaultWeaponsManagerImpl::CreateSelfDefenseAssignment(), DoNotifyUpdate(), DoUpdate(), DoUpdateMultiThread(), WsfScriptCallback::Execute(), WsfCallback::ExecuteAndNotify(), ExecuteScriptAtTime(), WsfBrawlerProcessor::GetConsciousnessEventTime(), UCI_Util::GetInterface(), getLinkedAndReachablePlatformParts(), WsfSolarTerminator::GetPlatformSolarIllumination(), WsfFalseTargetBlip::GetReferenceJammerToRadarRange(), wsf::UCI_Component::GetSimulation(), GetTrackManager(), WsfBMUtils::GetUnitIDRecordFromPlatform(), WsfClusterCorrelation::Initialize(), WsfExchange::Query::Initialize(), WsfFalseTarget::Initialize(), WsfGroupList::Initialize(), WsfOpticalEnvironment::Initialize(), Initialize(), WsfScriptContext::Initialize(), WsfSignatureInterface::Initialize(), InitializeCreationTime(), WsfIntersectMesh::Intersect(), WsfIntersectProcessor::Intersect(), WsfBMUtils::IsAssignedBy(), WsfBMUtils::IsTrackGeneratedByLocalSensor(), WsfUtil::MakeTrack(), WsfExchange::ModifyCapabilities(), WsfDefaultAssetManagerImpl::on_update(), WsfDefaultBattleManagerImpl::on_update(), WsfDefaultSensorsManagerImpl::on_update(), WsfDefaultWeaponsManagerImpl::on_update(), WsfExchange::Transactor::OppositePlatformName(), WsfExchange::Transactor::OwningPlatformName(), WsfDefaultSensorScheduler::PlatformAdded(), WsfSpinSensorScheduler::PlatformAdded(), wsf::altloc::Component::PreInitialize(), wsf::event::ExchangeCompleted::Print(), wsf::event::ExchangeNegotiated::Print(), wsf::event::ExchangeQueried::Print(), wsf::event::ExchangeRequestFailed::Print(), wsf::event::WeaponFired::Print(), wsf::event::ExchangeCompleted::PrintCSV(), wsf::event::ExchangeNegotiated::PrintCSV(), wsf::event::ExchangeQueried::PrintCSV(), wsf::event::ExchangeRequestFailed::PrintCSV(), wsf::event::WeaponFired::PrintCSV(), WsfExchange::Transactor::RequestorPlatformName(), WsfExchange::Transactor::ResponderPlatformName(), wsf::comm::util::SelectRecipients(), SetAppearance(), WsfWeaponServer::SetCommander(), SetConcealmentFactor(), SetDamageFactor(), SetMover(), SwapMover(), WsfEmitterTypeReporting::UpdateReportedEmitterType(), WsfTargetTypeReporting::UpdateReportedTargetType(), UT_DEFINE_SCRIPT_METHOD(), WsfOrbitalLaunchComputer::WriteOrbits(), and WsfScriptEvent::WsfScriptEvent().
| WsfSpatialDomain WsfPlatform::GetSpatialDomain | ( | ) | const |
Get the spatial domain of the platform.
References WSF_SPATIAL_DOMAIN_LAND, and WSF_SPATIAL_DOMAIN_UNKNOWN.
Referenced by WsfSensor::AllowDetectionChancesFor(), WsfTRIMSIM_Processor::AttemptToDetect(), WsfBallisticMissileLaunchComputer::ComputeLateralTargetOffset(), WsfEM_ALARM_Propagation::ComputePropagationFactor(), WsfDirectionFinderProcessor::CorrectForAltitude(), WsfTRIMSIM_SensorComponent::CorrectForAltitude(), WsfBallisticMissileLaunchComputer::EstimatedTimeToIntercept(), WsfBMUtils::GetSpatialDomain(), wsf::BistaticErrorModel::GetSphericalErrorStdDev(), WsfEM_SurfaceClutter::Initialize(), WsfL16::PPLI_Part::Initialize(), WsfL16::SystemStatusPart::Initialize(), WsfRadarMTI_AdjSignalProcessor::Initialize(), WsfDisWeaponEvents::InitiateWeaponTransfer(), WsfXIO_ObjectInfoLoad::Load_Platform(), WsfUtil::MakeTrack(), WsfLOS_Manager::MaskedByTerrain(), WsfLOS_Manager::MaskedByTerrain(), WsfSA_Processor::PlatformAdded(), WsfPlatformAvailability::PlatformIsAvailable(), WsfJamStrobeDetector::UpdateTrack(), WsfSensorMode::UpdateTrack(), and WsfTRIMSIM_SensorComponent::UpdateTrack().
|
inline |
Return a reference to the associated terrain object.
Referenced by WsfEM_ALARM_Terrain::AdjustAltitude(), WsfEM_ALARM_Clutter::ComputeClutterPower(), WsfEM_ALARM_Propagation::ComputePropagationFactor(), WsfTBM_Mover::Initialize(), WsfRotorcraftMover::LocalUpdate(), and WsfGuidedMoverBase::Update().
| double WsfPlatform::GetTerrainHeight | ( | ) |
Returns the height of the terrain at the current location of the platform.
References GetLocationLLA().
Referenced by WsfEM_ALARM_Terrain::AdjustAltitude(), WsfGuidanceProgram::AltitudeGuidance(), WsfEM_Interaction::MaskedByHorizon(), WsfEM_Interaction::MaskedByHorizon(), WsfEM_Interaction::MaskedByHorizon(), and WsfEOIR_Sensor::Update().
| WsfTrackManager & WsfPlatform::GetTrackManager | ( | ) |
Return a pointer to the "master" track manager (i.e., the WsfTrackManager object that owns and maintains the master track list).
References WsfComponentListT< WsfPlatformComponent >::AddComponent(), GetScenario(), GetSimTime(), GetSimulation(), and simTime.
Referenced by WsfUplinkProcessor::AddTrackUplink(), WsfUplinkProcessor::AddUplink(), WsfFusionCenter::AdjustTrackQuantities(), WsfCuedLaserWeapon::CeaseFire(), WsfGuidanceComputer::ComputeInterceptData(), WsfBMSensorInfoRecord::Cue(), WsfWeapon::CueToTarget(), WsfBMSensorInfoRecord::CueTrackUpdated(), WsfPerfectTracker::EstablishNewTrack(), WsfCuedLaserWeapon::Fire(), WsfExplicitWeapon::FireP(), WsfBrawlerProcessor::GetConsciousnessEventTime(), WsfWeaponTrackProcessor::GetInterceptData(), GetMasterRawTrackList(), GetMasterTrackList(), WsfBMUtils::GetOriginalTracks(), WsfSA_Assess::GetPerceivedTrackedPlatformWithTarget(), WsfXIO_TaskService::HandleCommand(), WsfL16::Interface_J11::InFlightTargetUpdate(), WsfL16::SurveillancePart::Initialize(), WsfPerceptionProcessor::Initialize(), WsfTrackProcessor::Initialize(), WsfTrackStateControllerProcessor::Initialize(), WsfUplinkProcessor::Initialize(), WsfAssetManager::Initialize2(), WsfGuidanceComputer::Initialize2(), WsfGuidedMoverBase::Initialize2(), WsfPerfectTracker::Initialize2(), WsfTaskManager::Initialize2(), WsfTBM_Mover::Initialize2(), WsfWeaponFuse::Initialize2(), WsfWeaponTrackProcessor::Initialize2(), WsfGuidedMover::InitiateMotion(), WsfParabolicMover::InitShot(), WsfBMUtils::IsTrackGeneratedByLocalSensor(), WsfUplinkProcessor::LocalTrackCorrelation(), WsfFusionCenter::PrintFuserState(), WsfWeaponFuse::PrivateDetonate(), WsfWeaponServer::ProcessCommand(), ProcessInput(), WsfWeaponTaskManager::ProcessTaskStatusMessage(), WsfWeaponTrackProcessor::ProcessTrackDrop(), WsfWeaponTrackProcessor::ProcessTrackUpdate(), WsfBMHEFIRMOELogger::RegisterScriptObservers(), WsfUplinkProcessor::RemoveUplink(), WsfL16::Interface_J11::SendBombHitIndicationReport(), WsfXIO_PlatformInfoService::SendTrackManagerState(), WsfWeaponTrackProcessor::SetCurrentTarget(), WsfRIPRProcessor::StartUplinking(), WsfRIPRProcessor::StartUplinking(), WsfUplinkProcessor::StartUplinking(), WsfUplinkProcessor::StopUplinking(), WsfP6DOF_Mover::Update(), WsfStraightLineMover::Update(), WsfPerfectTracker::UpdateExistingTrack(), WsfFusionCenter::UpdateFalseTargetTracks(), WsfP6DOF_GuidanceComputer::UpdateGuidance(), WsfWeaponEngagement::UpdateIntendedTarget(), WsfFusionCenter::UpdateRealTargetTracks(), WsfGuidanceComputer::UpdateTargetPerception(), WsfP6DOF_GuidanceComputer::UpdateTargetPerception(), WsfWeaponFuse::UpdateTargetState(), WsfWeaponTrackProcessor::UpdateTargetTrack(), and WsfWeaponTaskManager::UplinkStart().
|
inline |
Get width of platform.
Referenced by WsfOpticalSignature::GetValue(), and WsfLaserDesignations::Spot::LocalUpdate().
| bool WsfPlatform::HasScript | ( | WsfStringId | aScriptNameId | ) | const |
Returns 'true' if the platform has a script with the specified name.
|
virtual |
Initialize the platform and all its aggregate parts.
| aSimulationPtr | Pointer to the simulation |
| aSimTime | The current simulation time. |
References AssignToSimulation(), WsfRandomVariable::cNON_NEGATIVE, WsfEnvironment::GetCentralPoint(), WsfComponent::GetComponentName(), WsfComponentListT< WsfPlatformComponent >::GetComponentsByInitializationOrder(), WsfSimulation::GetEnvironment(), WsfObject::GetName(), GetScenario(), WsfSimulation::GetScriptContext(), GetSignatureList(), GetSimulation(), WsfObject::GetTypeId(), WsfComponent::Initialize(), WsfSignatureList::Initialize(), mInitPass, mIsInitialized, mUpdateAllowed, ok, WsfComponent::PreInitialize(), WsfComponentFactoryList< PARENT_TYPE >::PreInitialize(), SetConcealmentFactor(), and WsfSimulation.
Referenced by WsfSimulation::AddPlatform(), and WsfExplicitWeapon::FireP().
|
virtual |
Post-Initialize the platform and all its aggregate parts.
| aSimulationPtr | Pointer to the simulation |
| aSimTime | The current simulation time. |
References WsfComponent::GetComponentName(), WsfComponentListT< WsfPlatformComponent >::GetComponentsByInitializationOrder(), WsfObject::GetName(), WsfComponent::Initialize2(), mHasOnUpdateScript, mInitPass, mIsInitialized, mUpdateAllowed, ok, and WsfSimulation.
Referenced by WsfSimulation::AddPlatform().
| bool WsfPlatform::InitializeCreationTime | ( | ) |
Initialize the creation time. This is called by WsfSimulation to initialize the creation time of the platform. If the creation time was selected to be drawn from a random number distribution, perform the one and only draw to define the actual creation time.
References GetSimulation(), and ok.
|
inline |
Is the platform broken? Depending on the 'on_broken_action', a platform may exist in the simulation but still be broken.
References mIsBroken.
Referenced by WsfTrackScriptMethods::if(), WsfMilInterface::KillPlatform(), WsfSimulation::PlatformDeleted(), WsfMilEventPipe::PlatformKilled(), and WsfSA_Perceive::TruthAssets().
| bool WsfPlatform::IsCategoryMember | ( | WsfStringId | aCategoryId | ) | const |
Is this a member of the indicated category?
| aCategoryId | String Id of the category to be checked. |
Referenced by wsf::coverage::Coverage::IsFreeAsset(), wsf::coverage::Coverage::IsGridAsset(), and WsfEventPipeOptionsCriteria::Matches().
|
inline |
Returns 'true' if the platform has been scheduled for deletion, but hasn't been physically deleted yet.
References mIsDeleted.
Referenced by WsfSimulation::DeletePlatform(), WsfTrackScriptMethods::if(), WsfWeaponEffects::IsVulnerable(), WsfSA_Perceive::TruthAssets(), and ~WsfPlatform().
|
inline |
Is the platform being controlled by something external to this application? This is typically used to allow the introduction of entities that may be modeled by some other application that may be connected to us over a network.
References mIsExternallyControlled.
Referenced by WsfSimulation::AddPlatform(), WsfExplicitWeapon::AddWeaponToSimulation(), WsfWeaponEffects::ApplyDamageResultToOtherPlatform(), WsfHEL_Lethality::ApplyEffectIncrement(), WsfWeaponEffects::ApplyEffectIncrement(), WsfDisInterface::Comment(), WsfDisInterface::CommFrequencyChanged(), WsfDisInterface::CommTurnedOff(), WsfDisInterface::CommTurnedOn(), WsfDisWeaponEvents::DirectedEnergyWeaponFired(), WsfDisWeaponEvents::DirectedEnergyWeaponHit(), WsfDisUtil::DisToWsfPlayers(), WsfDisWeaponEvents::InitiateWeaponTransfer(), WsfDisWeaponEvents::IsOutgoingWeaponTransfer(), WsfXIO_ObjectInfoLoad::Load_Platform(), WsfXIO_AutoDisMapping::PlatformInitialized(), WsfDisDirectedEnergyFire::Process(), WsfDisEmission::Process(), WsfDisFire::Process(), WsfDisResupplyOffer::Process(), WsfDisResupplyReceived::Process(), WsfEventPipeInterface::SendDependent(), WsfDisInterface::SensorDetectionChanged(), WsfDisInterface::SensorFrequencyChanged(), WsfDisInterface::SensorModeActivated(), WsfDisInterface::SensorModeDeactivated(), WsfDisInterface::SensorRequestCanceled(), WsfDisInterface::SensorRequestInitiated(), WsfDisInterface::SensorRequestUpdated(), WsfDisInterface::SensorScanUpdated(), WsfDisInterface::SensorTrackDropped(), WsfDisInterface::SensorTrackInitiated(), WsfDisInterface::SensorTurnedOff(), WsfDisInterface::SensorTurnedOn(), SwapMover(), WsfWeaponEffects::Terminate(), WsfL16::Interface_J11::WeaponFired(), WsfDisWeaponEvents::WeaponTerminated(), WsfDisPlatform::WsfDisPlatform(), and WsfDisUtil::WsfToDisPlayers().
|
inline |
Is the platform being moved by something external to this application? This is typically used to allow to be driven by some other application that may be connected to us over a network yet allow this platform to remain local.
References mIsExternallyMoved.
Referenced by WsfDisWeaponEvents::DirectedEnergyWeaponFired(), WsfDisWeaponEvents::InitiateWeaponTransfer(), SwapMover(), WsfDisWeaponEvents::WeaponTerminated(), and WsfDisPlatform::WsfDisPlatform().
|
inline |
Is the platform a shadow of an external entity? An 'external shadow platform' is a debugging tool that provides a locally controlled platform that mirrors the movement of another platform that is marked 'IsExternallyControlled'. This local shadow platform may then be written to the external simulation where a stealth viewer can be used to see that our internal perception of the platform matches the external entity that we are shadowing.
References mIsExternalShadow.
Referenced by WsfSensor::AllowDetectionChancesFor(), and WsfWeaponEffects::IsVulnerable().
| bool WsfPlatform::IsExtrapolating | ( | ) | const |
Replaces the bool AtEndOfPath() function. True indicates that the platform has reached its final path destination, but may or may not be continuing on toward a specified heading, altitude, and speed. Note that the platform can be sent a new path at which time this will be set back to 'false'.
Referenced by FlightPathAnalysisFunction::Execute().
|
inline |
| bool WsfPlatform::IsGroupMember | ( | WsfStringId | aGroupId | ) |
Is this a member of the indicated group?
| aGroupId | String Id of the group to be checked. |
|
inline |
Is the platform indestructible? A platform may be marked as indestructible in order prevent it from being destroyed or removed. When this value is set 'true', any applied damage accumulates in a logarithmically decaying fashion, so GetDamageFactor(), rather than returning an actual damage state, reflects an ever decreasing (but never reaching zero) probability of survival.
References mIsIndestructible.
Referenced by WsfWeaponEffects::ApplyEffectIncrement(), WsfMobilityAndFirepowerLethality::ApplyEffectTo(), WsfWeaponEffects::ApplyEffectTo(), and WsfWeaponEffects::Terminate().
|
inline |
Returns 'true' if the platform has been initialized.
References mIsInitialized.
Referenced by WsfUplinkProcessor::GetUplinkProcessor(), wsf::event::utils::PrintPlatformEvent(), wsf::event::utilsCSV::PrintPlatformEvent(), WsfEventPipeInterface::SendDependent(), and SetSide().
| bool WsfPlatform::IsPaused | ( | ) | const |
Indicates that the platform is currently in "pause" mode; is not moving but may begin moving at some future time.
Referenced by WsfExtEntityDeadReckon::DR_State::LoadFromPlatform().
| bool WsfPlatform::IsStopped | ( | ) | const |
Indicates that the platform is currently at rest, and with zero commanded velocity.
Referenced by WsfThreatProcessor::IsThreatening(), and WsfExtEntityDeadReckon::DR_State::LoadFromPlatform().
| void WsfPlatform::JoinGroup | ( | WsfGroup * | aGroupPtr | ) |
Join the given group.
References GetIndex().
Referenced by WsfGroupTypes::JoinGroupType(), and WsfGroupManager::LoadInstance().
| void WsfPlatform::LeaveGroup | ( | WsfGroup * | aGroupPtr | ) |
Leave the given group.
References GetIndex().
| void WsfPlatform::NotifyDeleted | ( | double | aSimTime | ) |
Referenced by WsfSimulation::PlatformDeleted().
| void WsfPlatform::NotifyDeleting | ( | double | aSimTime | ) |
Referenced by WsfSimulation::DeletePlatform().
|
inline |
References DoNotifyUpdate(), and mUpdateAllowed.
| void WsfPlatform::OnBrokenEvent | ( | double | aSimTime | ) |
Process the Broken Event.
References WsfComponentListT< WsfPlatformComponent >::Begin(), cON_BROKEN_DISABLE, cON_BROKEN_MOVABLE_DISABLED, WsfComponentListT< WsfPlatformComponent >::End(), mIsBroken, WsfPlatformPart::OnPlatformBrokenEvent(), WsfObserver::PlatformBroken(), WsfComponent::QueryInterfaceT(), and SetMover().
Referenced by WsfSimulation::ProcessPlatformBrokenEvent().
|
virtual |
Some other platform has been added to the simulation.
This method is called by WsfSimulation whenever another platform has been added to the simulation. This platform can then take whatever action it deems necessary.
| aSimTime | The current simulation time. |
| aPlatformPtr | Pointer to the platform being added. |
References WsfComponentListT< WsfPlatformComponent >::Begin(), WsfComponentListT< WsfPlatformComponent >::End(), WsfCommandChain::PlatformAdded(), WsfPlatformPart::PlatformAdded(), WsfComponent::QueryInterfaceT(), and WsfPlatform().
|
virtual |
Some other platform has been deleted from the simulation.
WsfSimulation invokes this method whenever another platform has been deleted from the simulation. This platform can then take whatever action it deems necessary.
| aPlatformPtr | Pointer to the platform being deleted. |
References WsfComponentListT< WsfPlatformComponent >::Begin(), WsfComponentListT< WsfPlatformComponent >::End(), GetSimTime(), WsfCommandChain::PlatformDeleted(), WsfPlatformPart::PlatformDeleted(), WsfComponent::QueryInterfaceT(), and WsfPlatform().
Referenced by WsfSimulation::AddPlatform().
|
overridevirtual |
Process input from a generic source.
Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
Reimplemented from WsfObject.
References WsfTrackManager::AddInitialTrack(), cON_BROKEN_DISABLE, cON_BROKEN_MOVABLE_DISABLED, cON_BROKEN_REMOVE, GetLocationLLA(), GetScenario(), GetSignatureList(), GetTrackManager(), WsfTrack::LoadTrackInstance(), mInputAltAGL, mIsIndestructible, WsfAuxDataEnabled::ProcessInput(), WsfComponentFactoryList< PARENT_TYPE >::ProcessInput(), WsfObject::ProcessInput(), ProcessInput(), WsfTypes::StringToEnum(), and trackPtr.
Referenced by ProcessInput(), and ProcessInputBlock().
| void WsfPlatform::ProcessInputBlock | ( | UtInputBlock & | aInputBlock, |
| bool | aLoadingType ) |
This is called by WsfPlatformTypes.
References GetScenario(), and ProcessInput().
Referenced by WsfScenario::LoadPlatformInstance().
|
overridevirtual |
Requests a component's role interface. A component can support one or more roles.
| aRole | The role whose interface is to be returned. |
Implements WsfComponent.
References cWSF_COMPONENT_PLATFORM.
| bool WsfPlatform::ScriptOverride | ( | unsigned int | aLSB, |
| unsigned int | aNumBits ) const |
Returns true if data in the appearance word has been set from script.
References WsfUtil::CountBitsOn(), and WsfUtil::GenerateBitMask().
Referenced by SetConcealmentFactor(), wsf::six_dof::Mover::UpdateAppearance(), and WsfP6DOF_Mover::UpdateAppearance().
|
inline |
References DoSendQueuedMessages(), and mUpdateAllowed.
| void WsfPlatform::SetAppearance | ( | unsigned int | aLSB, |
| unsigned int | aNumBits, | ||
| unsigned int | aValue, | ||
| bool | aFromScript = false ) |
Set the DIS entity 'appearance' word
References WsfObserver::cAPPEARANCE_WORD, WsfUtil::GenerateBitMask(), GetSimTime(), GetSimulation(), and WsfObserver::PlatformAppearanceChanged().
Referenced by WsfWeapon::DetermineFirepowerStatus(), WsfMover::PartBroken(), WsfMover::Restore(), SetConcealmentFactor(), WsfTBM_Mover::SetTrailingEffects(), wsf::six_dof::Mover::UpdateAppearance(), WsfP6DOF_Mover::UpdateAppearance(), and WsfDisInterface::UpdatePlatformFromAppearance().
|
inline |
Methods only for use by WsfSimulation.
Indicate the platform is broken.
References mIsBroken.
Referenced by WsfMilInterface::KillPlatform().
| void WsfPlatform::SetCapabilities | ( | unsigned int | aCapabilitiesWord | ) |
Set the 'capabilities' word, a bit-field of boolean capabilities. See WsfExchange.hpp for details.
References WsfExchange::ModifyCapabilities().
Referenced by WsfExchange::SetCapabilityFlag(), and WsfDisInterface::UpdatePlatformFromEntityState().
| void WsfPlatform::SetConcealmentFactor | ( | float | aConcealmentFactor | ) |
Set the 'concealment factor'.
The concealment factor is a number in the range [0, 1] and is used to denote how well a platform is VISUALLY concealed. A value of 0.0 means there is no attempt to hide. A factor of 1.0 means that it is hidden in such a way as to be undetectable (such as in a building or in an underground bunker). Values between the endpoints represent increasing amounts of camouflage.
At some point this could be replaced with optical signatures that can be varied by configuration.
| aConcealmentFactor | The concealment factor in the range [0 .. 1] |
References WsfObserver::cCONCEALMENT_FACTOR, GetMover(), GetSimTime(), GetSimulation(), moverPtr, WsfObserver::PlatformAppearanceChanged(), ScriptOverride(), SetAppearance(), and WSF_SPATIAL_DOMAIN_LAND.
Referenced by Initialize(), WsfDisInterface::UpdatePlatformFromAppearance(), and Fires::Observer::WeaponFired().
| void WsfPlatform::SetCreationTime | ( | double | aCreationTime | ) |
Set the time when the platform is to be added to the simulation.
| aCreationTime | The time when the platform is to be added to the simulation. |
References WsfRandomVariable::cNON_NEGATIVE.
Referenced by UT_DEFINE_SCRIPT_METHOD().
| void WsfPlatform::SetDamageFactor | ( | double | aDamageFactor | ) |
Set the 'damage factor'.
The damage factor is a value in the range [0 .. 1] and is used to indicate the amount of damage to the platform. A value of 0 indicates no damage while a value of 1 indicates the platform is 'dead'.
| aDamageFactor | Damage factor in the range [0 .. 1] |
References GetSimTime(), GetSimulation(), and WsfObserver::PlatformDamageChanged().
Referenced by WsfWeaponEffects::ApplyDamageResultToOtherPlatform(), WsfAirMover::AssessDamage(), WsfWeaponEffects::Terminate(), WsfOffsetMover::Update(), and WsfDisInterface::UpdatePlatformFromAppearance().
|
inline |
Specifies that the platform is scheduled for deletion.
References mIsDeleted.
Referenced by WsfSimulation::AddPlatform(), WsfSimulation::DeletePlatform(), and WsfSimulation::ProcessRemovePlatformEvent().
|
inline |
Set Empty mass for the platform.
Referenced by wsf::six_dof::Mover::Initialize(), WsfBrawlerMover::Initialize(), WsfP6DOF_Mover::Initialize(), WsfGuidedMover::InitiateStage(), WsfTBM_Mover::SetMasses(), WsfRocketOrbitalManeuvering::SetPlatformAttributes(), WsfBrawlerMover::Update(), WsfP6DOF_Mover::Update(), and wsf::six_dof::Mover::UpdatePlatformFromVehicle().
|
inline |
Set current fuel for the platform. (This accessor will primarily be used internally by the WsfFuel classes.)
Referenced by WsfGuidedMover::AdvanceTime(), wsf::six_dof::Mover::Initialize(), WsfBrawlerMover::Initialize(), WsfP6DOF_Mover::Initialize(), WsfGuidedMover::InitiateStage(), WsfTBM_Mover::SetMasses(), WsfRocketOrbitalManeuvering::SetPlatformAttributes(), WsfFuel::SetQuantityRemaining(), WsfBrawlerMover::Update(), WsfP6DOF_Mover::Update(), and wsf::six_dof::Mover::UpdatePlatformFromVehicle().
|
inline |
Set overall height for the platform.
|
inline |
Set the name of the icon associated with this platform.
Referenced by WsfChaffWeapon::WeaponPlatformUserInitialize().
|
inline |
Set the unique index of the platform within the simulation.
| aIndex | Index of the platform within the simulation. |
Referenced by WsfSimulation::AddToPlatformList().
|
inline |
Set the value of the 'IsExternallyControlled' attribute. Define the platform being controlled by something external to this application.
| aIsExternallyControlled | 'true' if controlled by another application or 'false' if controlled by this application. The default value is 'false'. |
References mIsExternallyControlled.
Referenced by WsfWeaponServer::SendToOtherWeaponServer().
|
inline |
Set the value of the 'IsExternallyMoved' attribute. Define the platform being moved by something external to this application.
| aIsExternallyMoved | 'true' if moved by another application or 'false' if moved by this application. The default is 'false'. |
References mIsExternallyMoved.
|
inline |
Set the value of the 'IsExternalShadow' attribute.
| aIsExternalShadow | 'true' if this is a shadow of an externally controlled entity. |
References mIsExternalShadow.
|
inline |
References mIsFalseTarget.
|
inline |
Set the value of the 'IsIndestructible' attribute.
| aIsIndestructible | 'true' if the platform is indestructible or 'false' if not. |
References mIsIndestructible.
Referenced by Fires::Observer::WeaponFired().
|
inline |
Set overall length for the platform.
|
inline |
Set the marking associated with this platform.
Referenced by Fires::BallisticPlatforms::CreatePlatform().
| void WsfPlatform::SetMover | ( | WsfMover * | aMoverPtr | ) |
Attach the mover object for the platform.
| aMoverPtr | Pointer to the mover object. The platform assumes ownership of the object. |
References WsfComponentListT< WsfPlatformComponent >::AddComponent(), WsfComponentList::DeleteComponent(), GetSimulation(), and WsfObserver::MoverChanged().
Referenced by wsf::six_dof::Mover::CommonSubobjectJettisonTasks(), engage::TargetConfig::CreatePlatform(), FlightPathAnalysisFunction::Execute(), WsfExplicitWeapon::FireP(), OnBrokenEvent(), WsfWeaponFuse::PermanentlyArrestMotion(), WsfExplicitWeapon::ProcessDeferredLaunchEvent(), SwapMover(), WsfDisWeaponEvents::TransferPlatformToExternalControl(), and WsfChaffWeapon::WeaponPlatformUserInitialize().
|
inline |
Set the action to occur when the platform is broken.
|
inline |
Set Payload mass for the platform.
Referenced by WsfGuidedMover::InitiateStage(), WsfGuidedMover::JettisonEjectables(), WsfTBM_Mover::SetMasses(), and WsfRocketOrbitalManeuvering::SetPlatformAttributes().
| void WsfPlatform::SetSide | ( | WsfStringId | aSide | ) |
Set the 'side' (affiliation) to which this platform belongs.
References WsfObject::GetName(), GetSide(), and IsInitialized().
Referenced by WsfExplicitWeapon::FireP(), and WsfWeaponServer::PlatformInitialized().
|
inline |
Set the spatial domain of the platform.
Referenced by WsfChaffWeapon::WeaponPlatformUserInitialize().
|
inline |
Set the update locked flag to prevent updates to the platform. Currently used by the WsfMultiThreadManager to lock out updates other than in the multi-thread pool.
References mUpdateLocked.
Referenced by WsfMultiThreadManager::AddPlatform().
|
inline |
Set overall width for the platform (i.e. wingspan for an aircraft).
Swap Mover pointers in the Platform.
| aSimTime | Current simulated time. |
| aNewMoverPtr | pointer to be swapped into the platform. The platform assumes ownership. |
| aOldMoverPtr | pointer to be swapped out of the platform. The platform gives up ownership. |
References GetSimulation(), WsfMover::Initialize(), WsfMover::Initialize2(), WsfPlatformPart::InitiallyTurnedOn(), IsExternallyControlled(), IsExternallyMoved(), WsfComponent::PreInitialize(), WsfComponentListT< WsfPlatformComponent >::RemoveComponent(), WsfMover::SetLastUpdateTime(), SetMover(), WsfPlatformPart::SetPlatform(), WsfMover::SwapMoverInitiated(), WsfSimulation::TurnPartOn(), and Update().
Referenced by WsfExplicitWeapon::FireP(), and WsfExplicitWeapon::ProcessDeferredLaunchEvent().
|
inline |
Update the platform to reflect the state at the specified time.
This only updates the platform position and fuel utilization. Updating of attached parts (sensors, comms, etc.) are left to the simulation executive because the simulation may required the updates to be performed in a certain order.
| aSimTime | The current simulation time. |
References DoUpdate(), mUpdateAllowed, and mUpdateLocked.
Referenced by WsfFrameStepSimulation::AdvanceFrame(), WsfAcousticSensor::AcousticMode::AttemptToDetect(), WsfCompositeSensor::CompositeMode::AttemptToDetect(), WsfCTD_SensorComponent::AttemptToDetect(), WsfGeometricSensor::GeometricMode::AttemptToDetect(), WsfLADAR_Sensor::LADAR_Mode::AttemptToDetect(), WsfOpticalSensor::OpticalMode::AttemptToDetect(), WsfOTH_RadarSensor::OTH_Mode::AttemptToDetect(), WsfRadarSensor::RadarMode::AttemptToDetect(), WsfSAR_Sensor::SAR_Mode::AttemptToDetect(), WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), WsfSurfaceWaveRadarSensor::RadarMode::AttemptToDetect(), WsfEOIR_IRST_SensorMode::BeginDetectionAttempt(), WsfWeaponFuse::CheckAllTargets(), WsfSatelliteBreakupModel::CollisionalBreakup(), WsfBallisticMissileLaunchComputer::ComputeAirIntercept(), WsfBallisticMissileLaunchComputer::ComputeLateralTargetOffset(), WsfLaserDesignator::TargetAssociation::Consider(), MTT_PerceivedCluster::CopyFrom(), WsfPerfectTracker::EstablishNewTrack(), FlightPathAnalysisFunction::Execute(), WsfOrbitalScriptEvent::ExecuteEvent(), WsfDisPlatform::ForceUpdate(), WsfBMUtils::GetOrientationWCS(), WsfWeaponEngagement::GetTargetLocationWCS(), WsfWeaponEngagement::GetWeaponLocationWCS(), WsfOffsetMover::Initialize(), WsfDisWeaponEvents::InitiateWeaponTransfer(), WsfTrack::LineOfSightRatesFrom(), WsfOffsetMover::OnPlatformUpdated(), WsfDefaultFusion::PerformStandardTrackUpdate(), WsfBeamDirector::WsfBeamDirectorMode::PointAtTargetUpdate(), WsfUtil::PotentiallyWithinRange(), WsfGuidedMoverBase::PrelaunchAdvanceTime(), WsfDisDirectedEnergyFire::Process(), WsfDisFire::Process(), WsfFalseTarget::Rescan(), WsfPhysicalScanSensorScheduler::SelectTarget(), WsfSectorScanSensorScheduler::SelectTarget(), WsfChaffEjector::SetLaunchState(), WsfOffsetMover::SetOffsetFromReference(), WsfOffsetMover::SetReference(), SwapMover(), BallisticMissileLaunchComputerGenerator::Update(), WsfWeaponFuse::Update(), WsfFalseTarget::UpdateBaseBlipPositions(), WsfFalseTarget::UpdateBlipPositions(), WsfHighEnergyLaser::UpdateEngagementGeometry(), WsfPerfectTracker::UpdateExistingTrack(), WsfDefaultFusion::UpdateLocalResultFromNonLocalResult(), WsfOrbitDeterminationFusion::UpdateLocalTrackFromNonLocalTrack(), WsfArticulatedPart::UpdatePosition(), wsf::six_dof::GuidanceComputer::UpdateTargetPerception(), WsfGuidanceComputer::UpdateTargetPerception(), WsfP6DOF_GuidanceComputer::UpdateTargetPerception(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), WsfLaunchComputer::WithinConstraintsAt(), WsfRF_Jammer::WithinFieldOfView(), WsfSensor::WithinFieldOfView(), WsfWeapon::WithinFieldOfView(), WsfAssetPerception::WsfAssetPerception(), and WsfSA_EntityPerception::WsfSA_EntityPerception().
|
inline |
References DoUpdateMultiThread(), and mUpdateAllowed.
|
friend |
References WsfSimulation.
Referenced by AssignToSimulation(), GetSimulation(), Initialize(), Initialize2(), and WsfSimulation.
|
friend |
References WsfSimulationBase.
Referenced by WsfSimulationBase.
| unsigned int WsfPlatform::mFlags |
Referenced by WsfPlatform(), and WsfPlatform().
| bool WsfPlatform::mHasOnUpdateScript |
Referenced by DoExecuteScript(), Initialize2(), and WsfPlatform().
| bool WsfPlatform::mInitPass |
Referenced by Initialize(), Initialize2(), and WsfPlatform().
| bool WsfPlatform::mInputAltAGL |
Referenced by CompleteLoad(), and ProcessInput().
| bool WsfPlatform::mIsBroken |
Referenced by IsBroken(), OnBrokenEvent(), SetBroken(), and WsfPlatform().
| bool WsfPlatform::mIsDeleted |
Referenced by IsDeleted(), SetDeleted(), and WsfPlatform().
| bool WsfPlatform::mIsExternallyControlled |
Referenced by IsExternallyControlled(), and SetIsExternallyControlled().
| bool WsfPlatform::mIsExternallyMoved |
Referenced by IsExternallyMoved(), and SetIsExternallyMoved().
| bool WsfPlatform::mIsExternalShadow |
Referenced by IsExternalShadow(), and SetIsExternalShadow().
| bool WsfPlatform::mIsFalseTarget |
Referenced by IsFalseTarget(), and SetIsFalseTarget().
| bool WsfPlatform::mIsIndestructible |
Referenced by IsIndestructible(), ProcessInput(), and SetIsIndestructible().
| bool WsfPlatform::mIsInitialized |
Referenced by Initialize(), Initialize2(), IsInitialized(), and WsfPlatform().
| bool WsfPlatform::mUpdateAllowed |
Referenced by ExecuteScript(), Initialize(), Initialize2(), NotifyUpdate(), SendQueuedMessages(), Update(), UpdateMultiThread(), and WsfPlatform().
| bool WsfPlatform::mUpdateLocked |
Referenced by SetUpdateLocked(), Update(), and WsfPlatform().