VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions
DtBaseEntityDecoder Class Reference

Instances of DtBaseEntityDecoder are used to decode a base entity state message into a state repository in an HLA (as opposed to DIS) environment. More...

+ Inheritance diagram for DtBaseEntityDecoder:
+ Collaboration diagram for DtBaseEntityDecoder:

Public Member Functions

 DtBaseEntityDecoder (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 constructor More...
 
virtual ~DtBaseEntityDecoder ()
 destructor More...
 
 DtBaseEntityDecoder (const DtBaseEntityDecoder &orig)
 copy constructor More...
 
DtBaseEntityDecoderoperator= (const DtBaseEntityDecoder &orig)
 assignment operator More...
 
virtual DtHlaStateDecoderclone () const
 Virtual function override. Return a new instance of this class. More...
 
virtual DtHlaStateDecoderclone (DtObjClassDesc *classDesc) const
 Returns a new-ed clone of this object which corresponds to the class description classDesc. More...
 
- Public Member Functions inherited from DtHlaStateDecoder
 DtHlaStateDecoder (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 constructor More...
 
virtual ~DtHlaStateDecoder ()
 destructor More...
 
 DtHlaStateDecoder (const DtHlaStateDecoder &orig)
 copy constructor More...
 
DtHlaStateDecoderoperator= (const DtHlaStateDecoder &orig)
 assignment operator More...
 
DtAttributeDecoder addDecoder (RTI::AttributeHandle h, DtAttributeDecoder func)
 Add/Remove a decoding function for the attribute specified by handle. More...
 
DtAttributeDecoder removeDecoder (RTI::AttributeHandle h)
 
DtAttributeDecoder addDecoder (char *attrName, DtAttributeDecoder func, bool complain=true)
 Add/Remove a decoding function for the attribute specified by name. More...
 
DtAttributeDecoder removeDecoder (char *attrName, bool complain=true)
 
virtual DtAttributeDecoder decoder (const RTI::AttributeHandle &handle) const
 Get the attribute decoder for the specified handle. More...
 
virtual RTI::ObjectClassHandle objectClassHandle () const
 Get the object's class handle. More...
 

Static Public Member Functions

static DtHlaStateDecodercreate (DtExerciseConn *exConn, DtObjClassDesc *classDesc)
 Create a DtBaseEntityDecoder. Caller is responsible for deletion. More...
 
- Static Public Member Functions inherited from DtHlaStateDecoder
static char * decodingBuffer (int length)
 Returns a pointer to a buffer that can be used to copy data obtained from a phvps. More...
 
static char * attributeData (const RTI::AttributeHandleValuePairSet &attrs, int index, RTI::ULong &length)
 Returns a pointer to the attribute data. More...
 
static char * attributeData (const RTI::AttributeHandleValuePairSet &attrs, int index, RTI::ULong &length, unsigned int expectedDataSize, char *attrName)
 Gets the attribute data and checks the expected size. More...
 
static DtNetEventIdeventIdAttributeData (const RTI::AttributeHandleValuePairSet &attrs, int index)
 Get the attribute data as a DtNetEventId (adds defensive null terminator) Returns a pointer to the attribute data. More...
 

Protected Member Functions

void addMyDecoders ()
 Add decoding functions for the attributes. More...
 
virtual void decode (const DtStateMsg &msg, DtStateRepository *stateRep) const
 Virtual function override that sets some timestamping info, then calls down to the base class to perform decoding of attributes. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (Spatial)
 Static decode<AttributeName> member functions. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (RelativeSpatial)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (IsPartOf)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (IsPartOf_RPR_20014)
 For RPR FOM Version > 2.0014. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (AccelerationVector)
 For RPR FOM versions <= 1.0. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (AngularVelocityVector)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (EntityType)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (IsFrozen)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (Orientation)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (VelocityVector)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (DRAlgorithm)
 For RPR FOM versions <= 0.8. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (Position)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (EntityID)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (DeadReckoningAlgorithm)
 For RPR FOM versions > 0.8. More...
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (WorldLocation)
 
 DtDECLARE_BASE_ENTITY_ATTR_DECODER (EntityIdentifier)
 
- Protected Member Functions inherited from DtHlaStateDecoder
virtual void decodeAttribute (DtStateRepository *stateRep, const RTI::AttributeHandleValuePairSet &attrs, unsigned long pairSetIndex) const
 Decode the attribute at the specified index in the attribute handle pair set. More...
 
virtual void copyDecFuncs (const DtHlaStateDecoder &orig)
 

Additional Inherited Members

- Public Types inherited from DtHlaStateDecoder
typedef void(* DtAttributeDecoder )(DtStateRepository *stateRep, const RTI::AttributeHandleValuePairSet &avlist, unsigned long pairSetIndex)
 Attribute decoding function declaration. More...
 
- Static Public Attributes inherited from DtHlaStateDecoder
static bool theUseGetValuePointer
 
- Protected Types inherited from DtHlaStateDecoder
typedef std::map
< RTI::AttributeHandle,
DtAttributeDecoder
AttributeHandleDecoderMap
 
typedef std::map
< RTI::AttributeHandle, bool
AttributeHandleBoolMap
 
- Protected Attributes inherited from DtHlaStateDecoder
DtExerciseConnmyExConn
 
DtObjClassDescmyClassDesc
 
RTI::ObjectClassHandle myHandle
 
AttributeHandleDecoderMap myDecoderList
 myDecoderList is a map of decoders for each attribute registered to this state. More...
 

Detailed Description

Instances of DtBaseEntityDecoder are used to decode a base entity state message into a state repository in an HLA (as opposed to DIS) environment.

Constructor & Destructor Documentation

DtBaseEntityDecoder::DtBaseEntityDecoder ( DtExerciseConn exConn,
DtObjClassDesc classDesc 
)

constructor

virtual DtBaseEntityDecoder::~DtBaseEntityDecoder ( )
virtual

destructor

DtBaseEntityDecoder::DtBaseEntityDecoder ( const DtBaseEntityDecoder orig)

copy constructor

Member Function Documentation

void DtBaseEntityDecoder::addMyDecoders ( )
protected

Add decoding functions for the attributes.

Note: Non-virtual since meant to be called from constructors to add decoders.

virtual DtHlaStateDecoder* DtBaseEntityDecoder::clone ( ) const
virtual

Virtual function override. Return a new instance of this class.

Reimplemented from DtHlaStateDecoder.

virtual DtHlaStateDecoder* DtBaseEntityDecoder::clone ( DtObjClassDesc classDesc) const
virtual

Returns a new-ed clone of this object which corresponds to the class description classDesc.

Use this function if you want a base entity subclass in the FOM to use the same decoder as its parent.

Reimplemented from DtHlaStateDecoder.

static DtHlaStateDecoder* DtBaseEntityDecoder::create ( DtExerciseConn exConn,
DtObjClassDesc classDesc 
)
static

Create a DtBaseEntityDecoder. Caller is responsible for deletion.

virtual void DtBaseEntityDecoder::decode ( const DtStateMsg msg,
DtStateRepository stateRep 
) const
protectedvirtual

Virtual function override that sets some timestamping info, then calls down to the base class to perform decoding of attributes.

Reimplemented from DtHlaStateDecoder.

Reimplemented in DtPhysicalEntityDecoder.

DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( Spatial  )
protected

Static decode<AttributeName> member functions.

For RPR FOM versions <= 2.0006

DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( RelativeSpatial  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( IsPartOf  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( IsPartOf_RPR_20014  )
protected

For RPR FOM Version > 2.0014.

DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( AccelerationVector  )
protected

For RPR FOM versions <= 1.0.

DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( AngularVelocityVector  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( EntityType  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( IsFrozen  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( Orientation  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( VelocityVector  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( DRAlgorithm  )
protected

For RPR FOM versions <= 0.8.

DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( Position  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( EntityID  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( DeadReckoningAlgorithm  )
protected

For RPR FOM versions > 0.8.

DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( WorldLocation  )
protected
DtBaseEntityDecoder::DtDECLARE_BASE_ENTITY_ATTR_DECODER ( EntityIdentifier  )
protected
DtBaseEntityDecoder& DtBaseEntityDecoder::operator= ( const DtBaseEntityDecoder orig)

assignment operator


The documentation for this class was generated from the following file:

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)