12#ifndef WSFXIO_OBJECTINFO_HPP
13#define WSFXIO_OBJECTINFO_HPP
15#include "wsf_export.h"
20#include "GenUniqueId.hpp"
21#include "PakIntTypes.hpp"
22#include "PakSerializeFwd.hpp"
23#include "UtEntity.hpp"
220 : mObjectType(aObjectType)
245 ObjectType mObjectType;
284 void TurnOn(
bool aTurnOn =
true);
288 void SetDebugEnabled(
bool aEnabled);
373 void SelectMode(
bool aSelect,
WsfStringId aModeId);
462 std::vector<WsfXIO_SensorModeInfo>
mModes;
502 aBuff& mCorrelationStrategy& mFusionStrategy;
508 void ChangeFusionStrategy(
WsfStringId aMethod)
const;
510 void ChangeCorrelationStrategy(
WsfStringId aMethod)
const;
587 , mHostConnectionPtr(nullptr)
632 using PartList = std::vector<WsfXIO_PlatformPartInfo*>;
651 bool UpdateState(
double aSimTime);
669 void RequestDelete();
680 std::vector<WsfXIO_PlatformPartInfo*>
mParts;
@ cWSF_COMPONENT_PLATFORM
The component is or derives from WsfPlatform.
Definition WsfComponentRoles.hpp:94
@ cWSF_COMPONENT_TRACK_MANAGER
A 'track manager' component (WsfTrackManager).
Definition WsfComponentRoles.hpp:107
@ cWSF_COMPONENT_PROCESSOR
A 'processor' component (WsfProcessor).
Definition WsfComponentRoles.hpp:104
@ cWSF_COMPONENT_SENSOR
A 'sensor' component (WsfSensor).
Definition WsfComponentRoles.hpp:105
@ cWSF_COMPONENT_COMM
A 'comm' component (WsfComm).
Definition WsfComponentRoles.hpp:102
@ cWSF_COMPONENT_MOVER
A 'mover' component (WsfMover).
Definition WsfComponentRoles.hpp:100
bool operator==(int aId, const WsfStringInt &aRhs)
Equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:69
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
WsfSpatialDomain
A collection of enumerations and type definitions that are used across a number of components.
Definition WsfTypes.hpp:32
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
void WSF_EXPORT Load(PakI &aBuff, WsfXIO_PlatformPartInfo *&aPtr)
Definition WsfXIO_ObjectInfo.cpp:345
void WSF_EXPORT Save(PakO &aBuff, WsfXIO_PlatformPartInfo *&aPtr)
Definition WsfXIO_ObjectInfo.cpp:352
Definition WsfAttributeContainer.hpp:24
EBS_Mode
Electronic beam steering capabilities.
Definition WsfEM_Antenna.hpp:62
ScanMode
The scan mode indicates how the beam scans within the field of view.
Definition WsfEM_Antenna.hpp:53
A collection of WsfWaypoint objects that represent a path to be followed.
Definition WsfRoute.hpp:40
XIO representation of WsfEM_Antenna.
Definition WsfXIO_ObjectInfo.hpp:70
double mMaxRange
Definition WsfXIO_ObjectInfo.hpp:112
double mMaxElScan
Definition WsfXIO_ObjectInfo.hpp:101
double mEBS_AzCosSteeringLimit
The cosine of the maximum electronic beam steering angle in azimuth.
Definition WsfXIO_ObjectInfo.hpp:86
WsfEM_Antenna::ScanMode mScanMode
Definition WsfXIO_ObjectInfo.hpp:97
double mMaxElFOV
Definition WsfXIO_ObjectInfo.hpp:110
double mEBS_ElCosSteeringLimit
The cosine of the maximum electronic beam steering angle in elevation.
Definition WsfXIO_ObjectInfo.hpp:88
double mMinElScan
Definition WsfXIO_ObjectInfo.hpp:100
double mMinElFOV
Definition WsfXIO_ObjectInfo.hpp:109
double mEBS_AzLossExponent
The azimuth exponent 'n' of cos(x)^n for computing electronic beam steering losses.
Definition WsfXIO_ObjectInfo.hpp:90
double mMaxAzScan
Definition WsfXIO_ObjectInfo.hpp:99
double mMaxAzFOV
Definition WsfXIO_ObjectInfo.hpp:108
double mMinRange
Definition WsfXIO_ObjectInfo.hpp:111
double mMinAlt
Definition WsfXIO_ObjectInfo.hpp:113
double mMinAzScan
Definition WsfXIO_ObjectInfo.hpp:98
double mMaxAlt
Definition WsfXIO_ObjectInfo.hpp:114
WsfEM_Antenna::EBS_Mode mEBS_Mode
The degrees-of-freedom for electronic beam steering.
Definition WsfXIO_ObjectInfo.hpp:94
double mMinAzFOV
Definition WsfXIO_ObjectInfo.hpp:107
double mPitch
The pitch (tilt) angle of the antenna relative to the articulated part.
Definition WsfXIO_ObjectInfo.hpp:84
double mEBS_ElLossExponent
The elevation exponent 'n' of cos(x)^n for computing electronic beam steering losses.
Definition WsfXIO_ObjectInfo.hpp:92
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:73
double mYaw
Orientation of the articulated part.
Definition WsfXIO_ObjectInfo.hpp:344
double mTilt
Definition WsfXIO_ObjectInfo.hpp:347
double mPitch
Definition WsfXIO_ObjectInfo.hpp:345
static const ObjectType cPART_INFO_ID
Definition WsfXIO_ObjectInfo.hpp:325
double mRoll
Definition WsfXIO_ObjectInfo.hpp:346
WsfXIO_ArticulatedPartInfo(ObjectType aType=cPART_INFO_ID)
Definition WsfXIO_ObjectInfo.hpp:327
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:333
WsfStringId mNetworkName
Definition WsfXIO_ObjectInfo.hpp:401
static const ObjectType cPART_INFO_ID
Definition WsfXIO_ObjectInfo.hpp:388
WsfXIO_CommInfo(ObjectType aType=cPART_INFO_ID)
Definition WsfXIO_ObjectInfo.hpp:389
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:395
Definition WsfXIO_Connection.hpp:37
XIO representation of a WsfEM_Rcvr.
Definition WsfXIO_ObjectInfo.hpp:138
double mNoisePower
Definition WsfXIO_ObjectInfo.hpp:153
double mBandwidth
Definition WsfXIO_ObjectInfo.hpp:148
double mDetectionThreshold
Definition WsfXIO_ObjectInfo.hpp:150
double mPeakAntennaGain
Definition WsfXIO_ObjectInfo.hpp:149
double mInternalLoss
Definition WsfXIO_ObjectInfo.hpp:151
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:141
double mFrequency
Definition WsfXIO_ObjectInfo.hpp:147
double mNoiseFigure
Definition WsfXIO_ObjectInfo.hpp:152
WsfXIO_EM_RcvrInfo * mLinkedRcvrPtr
Definition WsfXIO_ObjectInfo.hpp:184
double mFrequency
Definition WsfXIO_ObjectInfo.hpp:173
double mPulseRepetitionInterval
Definition WsfXIO_ObjectInfo.hpp:178
double mPower
Definition WsfXIO_ObjectInfo.hpp:175
double mPeakAntennaGain
Definition WsfXIO_ObjectInfo.hpp:181
double mBandwidth
Definition WsfXIO_ObjectInfo.hpp:174
double mPulseRepetitionFrequency
Definition WsfXIO_ObjectInfo.hpp:177
WsfXIO_EM_XmtrInfo()=default
double mPulseWidth
Definition WsfXIO_ObjectInfo.hpp:179
double mPulseCompressionRatio
Definition WsfXIO_ObjectInfo.hpp:176
double mInternalLoss
Definition WsfXIO_ObjectInfo.hpp:180
bool mUsePeakPower
Definition WsfXIO_ObjectInfo.hpp:182
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:164
WsfXIO_AntennaInfo * mAntennaPtr
Definition WsfXIO_ObjectInfo.hpp:132
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:126
double mBeamTilt
Definition WsfXIO_ObjectInfo.hpp:131
WsfXIO_ExtraInfo * mExtraPtr
Definition WsfXIO_ObjectInfo.hpp:133
WsfXIO_EM_XmtrRcvrInfo()=default
Definition WsfXIO_ObjectInfo.hpp:408
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:411
WsfStringId mModeName
Definition WsfXIO_ObjectInfo.hpp:415
std::vector< WsfStringId > mSelectedModeNames
Definition WsfXIO_ObjectInfo.hpp:377
WsfStringId mCurrentModeName
Definition WsfXIO_ObjectInfo.hpp:378
WsfXIO_ModedPartInfo(ObjectType aType)
Definition WsfXIO_ObjectInfo.hpp:358
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:364
std::vector< WsfStringId > mModeNames
Definition WsfXIO_ObjectInfo.hpp:376
Definition WsfXIO_ObjectInfo.hpp:543
int mTurnFailOption
Definition WsfXIO_ObjectInfo.hpp:558
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:551
WsfXIO_MoverInfo()
Definition WsfXIO_ObjectInfo.hpp:545
WsfPath::Switch mSwitchType
Definition WsfXIO_ObjectInfo.hpp:557
double mTurnFailThreshold
Definition WsfXIO_ObjectInfo.hpp:559
WsfPathConstraints mConstraints
Definition WsfXIO_ObjectInfo.hpp:560
Definition WsfXIO_ObjectInfo.hpp:189
bool IsMover() const
Definition WsfXIO_ObjectInfo.hpp:231
bool IsPlatformPart() const
Definition WsfXIO_ObjectInfo.hpp:226
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:235
bool IsPlatform() const
Definition WsfXIO_ObjectInfo.hpp:224
bool IsProcessor() const
Definition WsfXIO_ObjectInfo.hpp:230
ObjectType GetObjectType() const
Definition WsfXIO_ObjectInfo.hpp:232
WsfXIO_ObjectInfo(ObjectType aObjectType)
Definition WsfXIO_ObjectInfo.hpp:219
bool IsComm() const
Definition WsfXIO_ObjectInfo.hpp:229
bool IsArticulatedPart() const
Definition WsfXIO_ObjectInfo.hpp:227
int32_t ObjectType
Definition WsfXIO_ObjectInfo.hpp:192
@ cCOMM_PART
Definition WsfXIO_ObjectInfo.hpp:213
@ cNO_OBJECT
Definition WsfXIO_ObjectInfo.hpp:209
@ cPLATFORM_PART
Definition WsfXIO_ObjectInfo.hpp:196
@ cCOMPONENT_ROLE_MASK
Definition WsfXIO_ObjectInfo.hpp:200
@ cMOVER_PART
Definition WsfXIO_ObjectInfo.hpp:212
@ cPROCESSOR_PART
Definition WsfXIO_ObjectInfo.hpp:214
@ cTRACK_MANAGER
Definition WsfXIO_ObjectInfo.hpp:211
@ cPART_TYPE_MASK
Definition WsfXIO_ObjectInfo.hpp:202
@ cSENSOR_PART
Definition WsfXIO_ObjectInfo.hpp:215
@ cPLATFORM
Definition WsfXIO_ObjectInfo.hpp:210
@ cDERIVED_TYPE_MASK
Definition WsfXIO_ObjectInfo.hpp:206
@ cDERIVED_TYPE_BEGIN
Definition WsfXIO_ObjectInfo.hpp:207
@ cARTICULATED_PART
Definition WsfXIO_ObjectInfo.hpp:197
bool IsTrackManager() const
Definition WsfXIO_ObjectInfo.hpp:225
bool IsSensor() const
Definition WsfXIO_ObjectInfo.hpp:228
Inform other applications about a platform part state change.
Definition WsfXIO_PacketRegistry.hpp:460
Requests that an application changes either state or mode of a platform part.
Definition WsfXIO_PacketRegistry.hpp:487
Contains information about a processor.
Definition WsfXIO_ObjectInfo.hpp:470
static const ObjectType cPART_INFO_ID
Definition WsfXIO_ObjectInfo.hpp:472
WsfXIO_ProcessorInfo(ObjectType aType=cPART_INFO_ID)
Definition WsfXIO_ObjectInfo.hpp:473
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:479
Provides information about a sensor.
Definition WsfXIO_ObjectInfo.hpp:439
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:449
std::vector< WsfXIO_EM_RcvrInfo * > mReceivers
Definition WsfXIO_ObjectInfo.hpp:461
int mSensorClass
Definition WsfXIO_ObjectInfo.hpp:459
std::vector< WsfXIO_EM_XmtrInfo * > mTransmitters
Definition WsfXIO_ObjectInfo.hpp:460
static const ObjectType cPART_INFO_ID
Definition WsfXIO_ObjectInfo.hpp:441
std::vector< WsfXIO_SensorModeInfo > mModes
Definition WsfXIO_ObjectInfo.hpp:462
WsfXIO_SensorInfo(ObjectType aType=cPART_INFO_ID)
Definition WsfXIO_ObjectInfo.hpp:442
Definition WsfXIO_ObjectInfo.hpp:419
double mFrameTime
Definition WsfXIO_ObjectInfo.hpp:433
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:428
ModeType
Definition WsfXIO_ObjectInfo.hpp:422
@ cSEARCH
Definition WsfXIO_ObjectInfo.hpp:423
@ cTRACK
Definition WsfXIO_ObjectInfo.hpp:424
int32_t mModeType
Definition WsfXIO_ObjectInfo.hpp:434
Contains information about a track manager.
Definition WsfXIO_ObjectInfo.hpp:490
friend class WsfXIO_RemotePlatformList
Definition WsfXIO_ObjectInfo.hpp:493
WsfStringId GetFusionStrategy() const
Definition WsfXIO_ObjectInfo.hpp:506
friend class WsfXIO_PlatformInfo
Definition WsfXIO_ObjectInfo.hpp:492
void SetFusionStrategy(WsfStringId aMethod)
Sets the fusion strategy without broadcasting a packet.
Definition WsfXIO_ObjectInfo.hpp:514
static const ObjectType cPART_INFO_ID
Definition WsfXIO_ObjectInfo.hpp:495
void SetCorrelationStrategy(WsfStringId aMethod)
Sets the correlation strategy without broadcasting a packet.
Definition WsfXIO_ObjectInfo.hpp:516
WsfStringId GetCorrelationStrategy() const
Definition WsfXIO_ObjectInfo.hpp:505
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:499
WsfXIO_TrackManagerInfo(ObjectType aType=cTRACK_MANAGER)
Definition WsfXIO_ObjectInfo.cpp:153
Definition WsfXIO_Defines.hpp:22
Switch
Option setting when to react as a WsfWaypoint is approached.
Definition WsfPath.hpp:76
Contains constraints used for computing a path in WsfPathComputer.
Definition WsfPathConstraints.hpp:24
Definition WsfXIO_ObjectInfo.hpp:706
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:709
WsfStringId mChainName
Definition WsfXIO_ObjectInfo.hpp:713
std::vector< WsfStringId > LinkList
Definition WsfXIO_ObjectInfo.hpp:707
LinkList mSubordinates
Definition WsfXIO_ObjectInfo.hpp:715
WsfStringId mCommander
Definition WsfXIO_ObjectInfo.hpp:714
Definition WsfXIO_SerializeTypes.hpp:64
Definition WsfXIO_SerializeTypes.hpp:129
Represents a serialized WsfZOne.
Definition WsfXIO_ObjectInfo.hpp:532
WsfStringId mGlobalName
Definition WsfXIO_ObjectInfo.hpp:534
WsfStringId mName
Definition WsfXIO_ObjectInfo.hpp:533
void Serialize(T &aBuff)
Definition WsfXIO_ObjectInfo.hpp:536