WSF
WsfPlatform.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11// ****************************************************************************
12// Updated by Infoscitex, a DCS Company
13// ****************************************************************************
14
15#ifndef WSFPLATFORM_HPP
16#define WSFPLATFORM_HPP
17
18#include "wsf_export.h"
19
20#include <string>
21#include <vector>
22
23#include "UtEntity.hpp"
24class UtInput;
25class UtInputBlock;
26namespace ut
27{
28namespace script
29{
30class Data;
31}
32} // namespace ut
34#include "WsfAuxDataEnabled.hpp"
35#include "WsfCategoryList.hpp"
36class WsfCommAddress;
37#include "WsfComponent.hpp"
38#include "WsfComponentList.hpp"
39#include "WsfEvent.hpp"
40class WsfFuel;
41class WsfGroup;
42#include "WsfGroupList.hpp"
43class WsfMover;
45#include "WsfObject.hpp"
47class WsfPlatformPart;
48#include "WsfRandomVariable.hpp"
49class WsfScenario;
52class WsfSimulation;
53#include "WsfStringId.hpp"
54class WsfTrack;
55#include "WsfTrackId.hpp"
56#include "WsfTrackListFwd.hpp"
57class WsfTrackManager;
58#include "WsfTypes.hpp"
59#include "WsfUniqueId.hpp"
60
61namespace wsf
62{
63class Terrain;
64}
65
109 public WsfObject,
112 public WsfUniqueId,
113 public UtEntity,
114 public WsfAuxDataEnabled
115{
116public:
117 // So WsfSimulation can access protected/private methods that shouldn't be made public.
118 friend class WsfSimulation;
119 friend class WsfSimulationBase;
120
131
132 WsfPlatform(const WsfScenario& aScenario);
133 ~WsfPlatform() override;
134
136
137 WsfStringId GetComponentName() const override { return GetNameId(); }
138 WsfComponent* CloneComponent() const override { return Clone(); }
139 const int* GetComponentRoles() const override;
140 void* QueryInterface(int aRole) override;
142
144
145 const char* GetScriptClassName() const override;
146 UtScriptContext* GetScriptAccessibleContext() const override;
147
148 WsfPlatform* Clone() const override;
149 void AssignToSimulation(WsfSimulation* aSimulationPtr);
150 virtual void CompleteLoad(WsfScenario& aScenario);
151 bool ProcessInput(UtInput& aInput) override;
152 virtual bool Initialize(WsfSimulation* aSimulationPtr, double aSimTime);
153 virtual bool Initialize2(WsfSimulation* aSimulationPtr, double aSimTime);
154
165 void Update(double aSimTime)
166 {
167 if (mUpdateAllowed && // See DoUpdate for why this check is needed
168 (!mUpdateLocked) && (mLastUpdateTime < aSimTime))
169 {
170 DoUpdate(aSimTime);
171 }
172 }
173
174 void UpdateMultiThread(double aSimTime)
175 {
176 if (mUpdateAllowed && // See DoUpdate for why this check is needed
177 (mLastUpdateTime < aSimTime))
178 {
179 DoUpdateMultiThread(aSimTime);
180 }
181 }
182
183
184 void NotifyUpdate(double aSimTime)
185 {
186 if (mUpdateAllowed)
187 {
188 DoNotifyUpdate(aSimTime);
189 }
190 }
191
192 void ExecuteScript(double aSimTime)
193 {
194 if (mUpdateAllowed)
195 {
196 DoExecuteScript(aSimTime);
197 }
198 }
199
200 void SendQueuedMessages(double aSimTime)
201 {
202 if (mUpdateAllowed)
203 {
204 DoSendQueuedMessages(aSimTime);
205 }
206 }
207
209
210
212 double GetCreationTime() const { return mCreationTime.LastDraw(); }
213
214 bool InitializeCreationTime();
215
216 void SetCreationTime(double aCreationTime);
217
219 double GetLastUpdateTime() const { return mLastUpdateTime; }
220
221 double GetSimTime() const;
222
226 void SetUpdateLocked(bool aUpdateLocked) { mUpdateLocked = aUpdateLocked; }
227
235
241 void SetIsExternallyControlled(bool aIsExternallyControlled) { mIsExternallyControlled = aIsExternallyControlled; }
242
248 bool IsExternallyMoved() const { return mIsExternallyMoved; }
249
255 void SetIsExternallyMoved(bool aIsExternallyMoved) { mIsExternallyMoved = aIsExternallyMoved; }
256
265 bool IsExternalShadow() const { return mIsExternalShadow; }
266
270 void SetIsExternalShadow(bool aIsExternalShadow) { mIsExternalShadow = aIsExternalShadow; }
271
278 bool IsIndestructible() const { return mIsIndestructible; }
279
283 void SetIsIndestructible(bool aIsIndestructible) { mIsIndestructible = aIsIndestructible; }
284
286 OnBrokenAction GetOnBrokenAction() const { return mOnBrokenAction; }
287
289 void SetOnBrokenAction(OnBrokenAction aOnBrokenAction) { mOnBrokenAction = aOnBrokenAction; }
290
292 void OnBrokenEvent(double aSimTime);
293
296 bool IsBroken() const { return mIsBroken; }
297
299 bool IsDeleted() const { return mIsDeleted; }
300
302 bool IsInitialized() const { return mIsInitialized; }
303
315 size_t GetIndex() const { return mIndex; }
316
320 void SetIndex(size_t aIndex) { mIndex = aIndex; }
321
323 WsfSimulation* GetSimulation() const { return mSimulationPtr; }
324
326 const WsfScenario& GetScenario() const { return mScenario; }
327
328 virtual void PlatformAdded(double aSimTime, WsfPlatform* aPlatformPtr);
329
330 virtual void PlatformDeleted(WsfPlatform* aPlatformPtr);
332
336
337 void GetLocationErrorWCS(double aLocationErrorWCS[3]) const;
339
341
342
343 const std::string& GetSide() const { return mSide.GetString(); }
345 void SetSide(WsfStringId aSide);
347 WsfStringId GetSideId() const { return mSide; }
349
351
352
353 const std::string& GetIcon() const { return mIcon.GetString(); }
355 void SetIcon(WsfStringId aIcon) { mIcon = aIcon; }
357 WsfStringId GetIconId() const { return mIcon; }
359
361
362
363 const std::string& GetMarking() const { return mMarking.GetString(); }
365 void SetMarking(WsfStringId aMarking) { mMarking = aMarking; }
367 WsfStringId GetMarkingId() const { return mMarking; }
369
372
373
374 WsfSpatialDomain GetSpatialDomain() const;
376 void SetSpatialDomain(const WsfSpatialDomain& aSpatialDomain) { mSpatialDomain = aSpatialDomain; }
378
380
381 bool ExecuteScript(double aSimTime,
382 WsfStringId aName,
383 UtScriptData& aScriptRetVal,
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);
387 bool HasScript(WsfStringId aScriptNameId) const;
388
390 WSF_DEPRECATED WsfScriptContext* GetContext() { return &mScriptContext; }
391 WsfScriptContext& GetScriptContext() { return mScriptContext; }
393
395
396 WsfArticulatedPart* GetArticulatedPart(unsigned int aUniqueId) const;
398 const WsfPlatformComponentList& GetComponents() const { return *this; }
400
402
403 void SetMover(WsfMover* aMoverPtr);
404 bool SwapMover(double aSimTime, WsfMover*& aNewMoverPtr, WsfMover*& aOldMoverPtr);
405
408 WsfMover* GetMover() const { return mMoverPtr; }
410
413 WsfFuel* GetFuel() const { return mFuelPtr; }
415
417
418
419 wsf::Terrain& GetTerrain() const { return *mTerrainPtr; }
420 double GetHeightAboveTerrain();
421 double GetTerrainHeight();
423
426
427 bool IsFalseTarget() const { return mIsFalseTarget; }
428 void SetIsFalseTarget(bool aBoolState) { mIsFalseTarget = aBoolState; }
430
432
433
440 double GetMass() const { return mEmptyMass + mFuelMass + mPayloadMass; }
441
445 double GetEmptyMass() const { return mEmptyMass; }
446
449 double GetPayloadMass() const { return mPayloadMass; }
450
454 double GetFuelMass() const { return mFuelMass; }
455
458 void SetFuelMass(double aValue) { mFuelMass = aValue; }
459
461 void SetPayloadMass(double aValue) { mPayloadMass = aValue; }
462
464 void SetEmptyMass(double aValue) { mEmptyMass = aValue; }
465
467
469
470
472 {
473 if (mSignatureListPtr == nullptr)
474 {
475 CreateSignatureList();
476 }
477 return *mSignatureListPtr;
478 }
479
482 double GetHeight() const { return mHeight; }
483
486 double GetLength() const { return mLength; }
487
490 double GetWidth() const { return mWidth; }
491
493 void SetLength(double aValue) { mLength = aValue; }
494
496 void SetWidth(double aValue) { mWidth = aValue; }
497
499 void SetHeight(double aValue) { mHeight = aValue; }
500
504 unsigned int GetAppearance(unsigned int aLSB, unsigned int aNumBits) const;
505 unsigned int GetAppearance() const { return mAppearanceWord; }
506
507 void SetAppearance(unsigned int aLSB, unsigned int aNumBits, unsigned int aValue, bool aFromScript = false);
508
509 bool ScriptOverride(unsigned int aLSB, unsigned int aNumBits) const;
510
512 unsigned int GetCapabilities() const { return mCapabilitiesWord; }
513
515 void SetCapabilities(unsigned int aCapabilitiesWord);
516
520 float GetConcealmentFactor() const { return mConcealmentFactor; }
521
522 void SetConcealmentFactor(float aConcealmentFactor);
523
527 double GetDamageFactor() const { return mDamageFactor; }
528
529 void SetDamageFactor(double aDamageFactor);
530
531 void Comment(const double aTime, const std::string& aString);
532
534
536
537 bool IsStopped() const;
538 bool IsPaused() const;
539 bool IsExtrapolating() const;
541
543
544 const WsfTrackId& GetNextTrackId();
545 WsfLocalTrackList& GetMasterTrackList();
546 WsfTrackList& GetMasterRawTrackList();
547 WsfTrackManager& GetTrackManager();
549
551
552
553 const WsfCategoryList& GetCategories() const { return mCategories; }
554 void AddCategory(WsfStringId aCategoryId);
555 bool IsCategoryMember(WsfStringId aCategoryId) const;
557
559
560
561 const WsfGroupList& GetGroups() const { return mGroups; }
562 void JoinGroup(WsfGroup* aGroupPtr);
563 void LeaveGroup(WsfGroup* aGroupPtr);
564 bool IsGroupMember(WsfStringId aGroupId);
566
569
570 void AttachObserver(WsfSinglePlatformObserver* aObserverPtr);
571 void DetachObserver(WsfSinglePlatformObserver* aObserverPtr);
572 void NotifyDeleted(double aSimTime);
573 void NotifyDeleting(double aSimTime);
575
578
579 void ProcessInputBlock(UtInputBlock& aInputBlock, bool aLoadingType);
581
583
584
586 void SetBroken() { mIsBroken = true; }
587
590 void SetDeleted(bool aDeleted = true) { mIsDeleted = aDeleted; }
592
593protected:
594 WsfPlatform(const WsfPlatform& aSrc);
595
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);
602
604
605 void ComponentAdded(WsfComponent* aComponentPtr) override;
606 void ComponentDeleted(WsfComponent* aComponentPtr) override;
608
609private:
611 WsfPlatform& operator=(const WsfPlatform& aRhs) = delete;
612
614
615 void CreateSignatureList();
616 void UpdatePersistentPointers(WsfComponent* aComponentPtr, bool aIsBeingAdded);
618
619 const WsfScenario& mScenario;
620 WsfSimulation* mSimulationPtr = nullptr;
621
624 size_t mIndex = 0;
625
626 WsfStringId mSide = nullptr;
627 WsfStringId mIcon = nullptr;
628 WsfStringId mMarking = nullptr;
629
632
633 OnBrokenAction mOnBrokenAction = cON_BROKEN_REMOVE;
634
639 double mLastUpdateTime = -1.0;
640
641 // Boolean flags are packed into an integer here
642 union
643 {
644 struct
645 {
648 bool mIsBroken : 1;
649 bool mIsDeleted : 1;
656 bool mInputAltAGL : 1;
658 bool mInitPass : 1;
659 };
660 unsigned int mFlags;
661 };
662
663 mutable WsfTrackManager* mMasterTrackManagerPtr = nullptr;
664 WsfSignatureList* mSignatureListPtr = nullptr;
665 WsfMover* mMoverPtr = nullptr;
666 WsfFuel* mFuelPtr = nullptr;
667 WsfNavigationErrors* mNavErrorPtr = nullptr;
668 WsfScriptContext mScriptContext;
669 wsf::Terrain* mTerrainPtr = nullptr;
670 WsfCategoryList mCategories;
671 WsfGroupList mGroups;
672
674 WsfTrackId mNextTrackId;
675
677 WsfVariable<double> mHeight = 0.0;
678 WsfVariable<double> mLength = 0.0;
679 WsfVariable<double> mWidth = 0.0;
680
682 WsfVariable<double> mEmptyMass = 0.0; // Platform empty mass (fixed)
683 WsfVariable<double> mFuelMass = 0.0; // Platform fuel mass (variable)
684 WsfVariable<double> mPayloadMass = 0.0; // Payload mass (variable)
685
686 double mDamageFactor = 0.0;
687 float mConcealmentFactor = 0.0F;
688
690 unsigned int mAppearanceWord = 0;
691 unsigned int mAppearanceWordScriptMask = 0;
692 unsigned int mCapabilitiesWord = 0;
693
694 std::vector<WsfSinglePlatformObserver*> mObservers;
695};
696
698
699#endif
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
aObjectPtr SetAppearance(16, 1, afterburnerValue, true)
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 WsfPlatformPart.hpp:61
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
void SetIndex(size_t aIndex)
Definition WsfPlatform.hpp:320
void SendQueuedMessages(double aSimTime)
Definition WsfPlatform.hpp:200
const WsfGroupList & GetGroups() const
Get the Groups to which this platform belongs.
Definition WsfPlatform.hpp:561
WsfFuel * GetFuel() const
Definition WsfPlatform.hpp:413
double GetMass() const
Definition WsfPlatform.hpp:440
WsfPlatform(const WsfScenario &aScenario)
Definition WsfPlatform.cpp:52
WsfComponent * CloneComponent() const override
Definition WsfPlatform.hpp:138
const WsfScenario & GetScenario() const
The platform type/instance belongs to this scenario.
Definition WsfPlatform.hpp:326
double GetFuelMass() const
Definition WsfPlatform.hpp:454
double GetEmptyMass() const
Definition WsfPlatform.hpp:445
void SetMarking(WsfStringId aMarking)
Set the marking associated with this platform.
Definition WsfPlatform.hpp:365
void SetPayloadMass(double aValue)
Set Payload mass for the platform.
Definition WsfPlatform.hpp:461
bool mUpdateAllowed
Definition WsfPlatform.hpp:650
double GetLength() const
Definition WsfPlatform.hpp:486
bool mIsExternalShadow
Definition WsfPlatform.hpp:654
bool IsExternallyMoved() const
Definition WsfPlatform.hpp:248
double GetHeight() const
Definition WsfPlatform.hpp:482
WsfScriptContext & GetScriptContext()
Definition WsfPlatform.hpp:391
virtual void DoUpdateMultiThread(double aSimTime)
Definition WsfPlatform.cpp:763
void SetIcon(WsfStringId aIcon)
Set the name of the icon associated with this platform.
Definition WsfPlatform.hpp:355
const std::string & GetIcon() const
Get the name of the icon associated with this platform.
Definition WsfPlatform.hpp:353
bool mInitPass
Definition WsfPlatform.hpp:658
double GetPayloadMass() const
Definition WsfPlatform.hpp:449
void ExecuteScript(double aSimTime)
Definition WsfPlatform.hpp:192
void NotifyUpdate(double aSimTime)
Definition WsfPlatform.hpp:184
void SetSpatialDomain(const WsfSpatialDomain &aSpatialDomain)
Set the spatial domain of the platform.
Definition WsfPlatform.hpp:376
wsf::Terrain & GetTerrain() const
Return a reference to the associated terrain object.
Definition WsfPlatform.hpp:419
OnBrokenAction
Define what should be done when the platform is broken.
Definition WsfPlatform.hpp:123
@ cON_BROKEN_REMOVE
Remove the platform from the simulation.
Definition WsfPlatform.hpp:125
@ cON_BROKEN_DISABLE
Retain the platform, disable all its subsystems, and halt movement.
Definition WsfPlatform.hpp:127
@ cON_BROKEN_MOVABLE_DISABLED
Retain the platform, disable all its subsystems, but allow movement.
Definition WsfPlatform.hpp:129
void SetIsExternalShadow(bool aIsExternalShadow)
Definition WsfPlatform.hpp:270
void SetBroken()
Methods only for use by WsfSimulation.
Definition WsfPlatform.hpp:586
virtual void DoSendQueuedMessages(double aSimTime)
Definition WsfPlatform.cpp:809
bool IsExternalShadow() const
Definition WsfPlatform.hpp:265
virtual void DoUpdate(double aSimTime)
Definition WsfPlatform.cpp:747
bool mIsExternallyMoved
Definition WsfPlatform.hpp:653
double GetDamageFactor() const
Definition WsfPlatform.hpp:527
bool IsIndestructible() const
Definition WsfPlatform.hpp:278
unsigned int GetCapabilities() const
Get the 'capabilities' word, a bit-field of boolean capabilities. See WsfExchange....
Definition WsfPlatform.hpp:512
bool IsInitialized() const
Returns 'true' if the platform has been initialized.
Definition WsfPlatform.hpp:302
double GetLastUpdateTime() const
Return the time of the last call to Update or UpdateFrame.
Definition WsfPlatform.hpp:219
bool mIsDeleted
Definition WsfPlatform.hpp:649
bool mIsInitialized
Definition WsfPlatform.hpp:646
void SetDeleted(bool aDeleted=true)
Definition WsfPlatform.hpp:590
void UpdateMultiThread(double aSimTime)
Definition WsfPlatform.hpp:174
WsfStringId GetSideId() const
Get the string ID of the side (affiliation) to which this platform belongs.
Definition WsfPlatform.hpp:347
float GetConcealmentFactor() const
Definition WsfPlatform.hpp:520
bool IsFalseTarget() const
Definition WsfPlatform.hpp:427
WsfStringId GetComponentName() const override
Definition WsfPlatform.hpp:137
void SetLength(double aValue)
Set overall length for the platform.
Definition WsfPlatform.hpp:493
bool mHasOnUpdateScript
Definition WsfPlatform.hpp:657
void SetOnBrokenAction(OnBrokenAction aOnBrokenAction)
Set the action to occur when the platform is broken.
Definition WsfPlatform.hpp:289
void SetIsExternallyControlled(bool aIsExternallyControlled)
Definition WsfPlatform.hpp:241
bool IsDeleted() const
Returns 'true' if the platform has been scheduled for deletion, but hasn't been physically deleted ye...
Definition WsfPlatform.hpp:299
unsigned int mFlags
Definition WsfPlatform.hpp:660
bool mIsExternallyControlled
Definition WsfPlatform.hpp:652
void SetIsFalseTarget(bool aBoolState)
Definition WsfPlatform.hpp:428
friend class WsfSimulation
Definition WsfPlatform.hpp:118
void SetIsExternallyMoved(bool aIsExternallyMoved)
Definition WsfPlatform.hpp:255
bool mInputAltAGL
Definition WsfPlatform.hpp:656
void SetUpdateLocked(bool aUpdateLocked)
Definition WsfPlatform.hpp:226
const std::string & GetMarking() const
Get the marking associated with this platform.
Definition WsfPlatform.hpp:363
double GetCreationTime() const
Get the time when the platform was (or is to be) added to the simulation.
Definition WsfPlatform.hpp:212
const WsfPlatformComponentList & GetComponents() const
Return a reference to the raw component list.
Definition WsfPlatform.hpp:398
virtual void DoExecuteScript(double aSimTime)
Definition WsfPlatform.cpp:800
WSF_DEPRECATED WsfScriptContext * GetContext()
Return a reference to the script context.
Definition WsfPlatform.hpp:390
bool IsBroken() const
Definition WsfPlatform.hpp:296
WsfSimulation * GetSimulation() const
If the platform is a member of a simulation, this is the containing simulation.
Definition WsfPlatform.hpp:323
bool IsExternallyControlled() const
Definition WsfPlatform.hpp:234
double GetWidth() const
Definition WsfPlatform.hpp:490
void SetHeight(double aValue)
Set overall height for the platform.
Definition WsfPlatform.hpp:499
OnBrokenAction GetOnBrokenAction() const
Get the action to occur when the platform is broken.
Definition WsfPlatform.hpp:286
friend class WsfSimulationBase
Definition WsfPlatform.hpp:119
WsfStringId GetIconId() const
Get the string ID of the name of the icon associated with this platform.
Definition WsfPlatform.hpp:357
size_t GetIndex() const
Definition WsfPlatform.hpp:315
bool mIsIndestructible
Definition WsfPlatform.hpp:647
void SetWidth(double aValue)
Set overall width for the platform (i.e. wingspan for an aircraft).
Definition WsfPlatform.hpp:496
WsfMover * GetMover() const
Definition WsfPlatform.hpp:408
void SetIsIndestructible(bool aIsIndestructible)
Definition WsfPlatform.hpp:283
bool mUpdateLocked
Definition WsfPlatform.hpp:651
void Update(double aSimTime)
Definition WsfPlatform.hpp:165
virtual void DoNotifyUpdate(double aSimTime)
Definition WsfPlatform.cpp:785
WsfSignatureList & GetSignatureList()
Return a reference to the 'signature list' object that encapsulates all the signature processing.
Definition WsfPlatform.hpp:471
WsfStringId GetMarkingId() const
Get the string ID of the marking associated with this platform.
Definition WsfPlatform.hpp:367
const std::string & GetSide() const
Get the 'side' (affiliation) to which this platform belongs.
Definition WsfPlatform.hpp:343
bool mIsBroken
Definition WsfPlatform.hpp:648
bool mIsFalseTarget
Definition WsfPlatform.hpp:655
void SetFuelMass(double aValue)
Definition WsfPlatform.hpp:458
const WsfCategoryList & GetCategories() const
Get the categories to which this platform belongs.
Definition WsfPlatform.hpp:553
unsigned int GetAppearance() const
Definition WsfPlatform.hpp:505
void SetEmptyMass(double aValue)
Set Empty mass for the platform.
Definition WsfPlatform.hpp:464
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 WsfSinglePlatformObserver.hpp:30
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
Copyrights Multiple, All Rights Reserved