15#ifndef WSFPLATFORM_HPP
16#define WSFPLATFORM_HPP
18#include "wsf_export.h"
23#include "UtEntity.hpp"
146 UtScriptContext* GetScriptAccessibleContext()
const override;
177 (mLastUpdateTime < aSimTime))
214 bool InitializeCreationTime();
216 void SetCreationTime(
double aCreationTime);
221 double GetSimTime()
const;
292 void OnBrokenEvent(
double aSimTime);
328 virtual void PlatformAdded(
double aSimTime,
WsfPlatform* aPlatformPtr);
330 virtual void PlatformDeleted(
WsfPlatform* aPlatformPtr);
337 void GetLocationErrorWCS(
double aLocationErrorWCS[3])
const;
343 const std::string&
GetSide()
const {
return mSide.GetString(); }
353 const std::string&
GetIcon()
const {
return mIcon.GetString(); }
363 const std::string&
GetMarking()
const {
return mMarking.GetString(); }
381 bool ExecuteScript(
double aSimTime,
384 const std::vector<ut::script::Data>& aScriptArgs);
385 bool ExecuteScript(
double aSimTime,
WsfStringId aName);
386 void ExecuteScriptAtTime(
double aTime,
WsfStringId aName,
const std::vector<ut::script::Data>& aScriptArgs);
404 bool SwapMover(
double aSimTime,
WsfMover*& aNewMoverPtr,
WsfMover*& aOldMoverPtr);
420 double GetHeightAboveTerrain();
421 double GetTerrainHeight();
440 double GetMass()
const {
return mEmptyMass + mFuelMass + mPayloadMass; }
473 if (mSignatureListPtr ==
nullptr)
475 CreateSignatureList();
477 return *mSignatureListPtr;
504 unsigned int GetAppearance(
unsigned int aLSB,
unsigned int aNumBits)
const;
507 void SetAppearance(
unsigned int aLSB,
unsigned int aNumBits,
unsigned int aValue,
bool aFromScript =
false);
509 bool ScriptOverride(
unsigned int aLSB,
unsigned int aNumBits)
const;
515 void SetCapabilities(
unsigned int aCapabilitiesWord);
522 void SetConcealmentFactor(
float aConcealmentFactor);
529 void SetDamageFactor(
double aDamageFactor);
531 void Comment(
const double aTime,
const std::string& aString);
537 bool IsStopped()
const;
538 bool IsPaused()
const;
539 bool IsExtrapolating()
const;
555 bool IsCategoryMember(
WsfStringId aCategoryId)
const;
562 void JoinGroup(
WsfGroup* aGroupPtr);
563 void LeaveGroup(
WsfGroup* aGroupPtr);
572 void NotifyDeleted(
double aSimTime);
573 void NotifyDeleting(
double aSimTime);
579 void ProcessInputBlock(UtInputBlock& aInputBlock,
bool aLoadingType);
596 virtual void DoUpdate(
double aSimTime);
597 virtual void DoUpdateMultiThread(
double aSimTime);
598 virtual void DoMoverUpdate(
double aSimTime);
599 virtual void DoNotifyUpdate(
double aSimTime);
600 virtual void DoExecuteScript(
double aSimTime);
601 virtual void DoSendQueuedMessages(
double aSimTime);
615 void CreateSignatureList();
616 void UpdatePersistentPointers(
WsfComponent* aComponentPtr,
bool aIsBeingAdded);
633 OnBrokenAction mOnBrokenAction = cON_BROKEN_REMOVE;
639 double mLastUpdateTime = -1.0;
686 double mDamageFactor = 0.0;
687 float mConcealmentFactor = 0.0F;
690 unsigned int mAppearanceWord = 0;
691 unsigned int mAppearanceWordScriptMask = 0;
692 unsigned int mCapabilitiesWord = 0;
694 std::vector<WsfSinglePlatformObserver*> mObservers;
WsfComponentListT< WsfPlatformComponent > WsfPlatformComponentList
A convenience definition for the frequently used component list containing platform components.
Definition WsfComponentList.hpp:537
#define WSF_DECLARE_COMPONENT_ROLE_TYPE(TYPE, ROLE)
Definition WsfComponentRoles.hpp:44
@ cWSF_COMPONENT_PLATFORM
The component is or derives from WsfPlatform.
Definition WsfComponentRoles.hpp:94
WsfComponentT< WsfPlatform > WsfPlatformComponent
A convenient typedef for a platform component.
Definition WsfComponent.hpp:171
ut::script::Data UtScriptData
Definition WsfScriptContext.hpp:47
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
WsfTrackListT< WsfLocalTrack > WsfLocalTrackList
Definition WsfTrackList.hpp:89
WsfTrackListT< WsfTrack > WsfTrackList
Definition WsfTrackList.hpp:88
WsfSpatialDomain
A collection of enumerations and type definitions that are used across a number of components.
Definition WsfTypes.hpp:32
@ WSF_SPATIAL_DOMAIN_UNKNOWN
Definition WsfTypes.hpp:33
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfArticulatedPart.hpp:36
WsfAuxDataEnabled()=default
Contains the 'categories' to which an object belongs.
Definition WsfCategoryList.hpp:34
virtual void ComponentAdded(WsfComponent *aComponentPtr)
Definition WsfComponentList.cpp:89
virtual void ComponentDeleted(WsfComponent *aComponentPtr)
Definition WsfComponentList.cpp:96
Definition WsfComponent.hpp:39
virtual const int * GetComponentRoles() const =0
virtual bool Initialize(double aSimTime)
Definition WsfComponent.cpp:45
virtual bool Initialize2(double aSimTime)
Definition WsfComponent.cpp:63
virtual void * QueryInterface(int aRole)=0
Definition WsfFuel.hpp:30
Contains the 'groups' to which platform or platform part belongs.
Definition WsfGroupList.hpp:30
A class to support the concept of 'groups' and 'group membership'.
Definition WsfGroup.hpp:30
Definition WsfMover.hpp:37
Definition WsfNavigationErrors.hpp:42
WsfStringId GetNameId() const
Definition WsfObject.hpp:66
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
virtual WsfObject * Clone() const =0
WsfObject & operator=(const WsfObject &aRhs)
Assignment operator.
Definition WsfObject.cpp:258
virtual bool ProcessInput(UtInput &aInput)
Definition WsfObject.cpp:140
const char * GetScriptClassName() const override
Definition WsfObject.cpp:115
Definition WsfRandomVariable.hpp:33
@ cNON_NEGATIVE
Value must be greater than or equal to zero.
Definition WsfRandomVariable.hpp:50
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfScriptContext.hpp:71
Definition WsfSignatureList.hpp:36
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfTrackId.hpp:33
Definition WsfTrackManager.hpp:62
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
WsfUniqueId()
Construtor initializes the unique identifier to 0.
Definition WsfUniqueId.hpp:38
Definition WsfVariable.hpp:149
Definition WsfTerrain.hpp:336
Definition WsfScriptContext.hpp:42
Definition WsfSensorErrorModel.hpp:21
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32