VR-Link API Documentation for DIS
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtEntityStatePdu Class Reference

This class provides a wrapper around the DIS Entity State PDU network structure. More...

+ Inheritance diagram for DtEntityStatePdu:
+ Collaboration diagram for DtEntityStatePdu:

Public Types

enum  { PduStaticSize = 144 }

Public Member Functions

 DtEntityStatePdu (DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 DtEntityStatePdu (const DtNetEntityStatePdu *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER, DtPduFactory *pduFactory=0)
 CTOR for constructing the pdu using an existing net rep.
 DtEntityStatePdu (const DtEntityIdentifier &id, const DtEntityType &type, const DtEntityType &guise, DtDeadReckonTypes algorithm, DtForceType forceId, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 CTOR for creating a new Entity state pdu.
virtual ~DtEntityStatePdu ()
 DTOR.
const DtEntityIdentifierid () const
void setId (const DtEntityIdentifier &id)
DtForceType forceId () const
void setForceId (DtForceType force)
int numArtParams () const
int numAttachedParams () const
int numArtPlusAttachedParams () const
const DtEntityTypeentityType () const
void setEntityType (const DtEntityType &type)
const DtEntityTypeguise () const
void setGuise (const DtEntityType &type)
const DtVectorvelocity () const
void setVelocity (const DtVector &Velocity)
const DtVectorlocation () const
void setLocation (const DtVector &Location)
const DtTaitBryanorientation () const
void setOrientation (const DtTaitBryan &Orient)
DtU32 appearance () const
 Get the appearance attribute collection.
void setAppearance (DtU32 app)
 Set the appearance attribute collection.
DtAppearAttrVal appearanceAttribute (const DtAppearAttribute &attr) const
 Get the value of a specific appearance attribute.
void setAppearanceAttribute (const DtAppearAttribute attr, const DtAppearAttrVal val)
 Set the value of a specific appearance attribute.
DtDeadReckonTypes algorithm () const
void setAlgorithm (DtDeadReckonTypes alg)
const DtVectoracceleration () const
void setAcceleration (const DtVector &Acceleration)
const DtVectorrotationalVelocity () const
void setRotationalVelocity (const DtVector &BodyRates)
char deadReckonParamType () const
void setDeadReckonParamType (char param)
short deadReckon0Param () const
void setDeadReckon0Param (short param)
const DtVectordeadReckonXYZParams () const
void setDeadReckonXYZParams (const DtVector &params)
int markingCharSet () const
void setMarkingText (const char *text)
const char * markingText () const
void setMarkingCharSet (int charSet)
DtU32 capabilities () const
void setCapabilities (DtU32 cap)
void setNumArtPlusAttachedParams (int num)
DtNetVPRecordvariableParameterRecord (int index)
const DtNetVPRecordvariableParameterRecord (int index) const
void printData () const
 Print the PDU's data (not including header).
void printDataToStream (std::ostream &stream) const
const DtArticulatedPartCollectionartPartList () const
 Set/Get the articulated part list via the DtArticulatedPartCollection.
void setArtPartList (const DtArticulatedPartCollection &apList)
 Set/Get the articulated part list via the DtArticulatedPartCollection.
const DtAttachedPartCollectionattPartList () const
 Set/Get the attached part list via the DtAttachedPartCollection.
void setAttPartList (const DtAttachedPartCollection &apList)
 Set/Get the attached part list via the DtAttachedPartCollection.
const DtNetArtPartRecordartPartRecord (int index) const
 Access the net articulated parts records through an index.
DtNetArtPartRecordartPartRecord (int index)
 Access the net articulated parts records through an index.
DtNetAttachedPartattPartRecord (int index)
 Access the net attached parts records through an index.
const DtNetAttachedPartattPartRecord (int index) const
 Access the net attached parts records through an index.
- Public Member Functions inherited from DtStateMsg
 DtStateMsg ()
 default constructor
virtual ~DtStateMsg ()
 destructor
 DtStateMsg (const DtStateMsg &orig)
 copy constructor
DtStateMsgoperator= (const DtStateMsg &orig)
 assignment operator
- Public Member Functions inherited from DtPduWithAttributeRecordSets
 DtPduWithAttributeRecordSets ()
 Constructor.
 DtPduWithAttributeRecordSets (const DtPduWithAttributeRecordSets &orig)
 Constructor.
DtPduWithAttributeRecordSetsoperator= (const DtPduWithAttributeRecordSets &other)
 Assignment operator.
virtual ~DtPduWithAttributeRecordSets ()
 Destructor.
virtual void printToStream (std::ostream &stream) const
 Print the contents of the PDU. This will call DtPdu's printToStream and also call printRecordSets()
virtual void printRecordSets (bool printEntityObjectId=false) const
 Prints the Record Sets to DtInfo.
virtual void printRecordSetsToStream (std::ostream &stream, bool printEntityObjectId=false) const
 Prints the Record Sets to the specified stream.
virtual void addRecord (std::auto_ptr< DtStandardVariableRecord > record, const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 Adds a Record.
virtual void removeRecord (unsigned int index, const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 Removes a Record.
virtual void clearRecordSet (const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 Removes all Records and deletes the recordSet for the given Entity/Object Identifier.
virtual void clearAllRecordSets ()
 Removes all RecordSets.
virtual std::vector
< DtEntityIdentifier
recordSetIdentifiers () const
 Returns a vector of Entity/Object Identifiers. These are the Identifiers for the Record Sets.
virtual void getRecordSetIdentifiers (std::vector< DtEntityIdentifier > &entityIdVector) const
 Returns by reference the vector of Entity/Object Identifiers.
virtual const std::vector
< DtStandardVariableRecord * > & 
records (const DtEntityIdentifier &id=DtEntityIdentifier::nullId()) const
 This will return the Records for a given Entity/Object Identifier.
virtual const
DtAttributeRecordSet
recordSet (const DtEntityIdentifier &id) const
 This will return the Record Set for a given Entity/Object Identifier.
virtual const std::vector
< DtStandardVariableRecord * > 
allRecords () const
 This will return the Records of all Record Sets.
virtual unsigned int numberOfRecords () const
 Returns the number of records for all Record Sets.
virtual unsigned int numberOfRecords (const DtEntityIdentifier &id) const
 Returns the number of records in the Record Set for the given Entity/Object Identifier.
virtual bool containsStandardRecordSets () const
 Returns if this PDU contains Standard Record Sets. (This is only applicable to DIS 7 and higher).
virtual const DtSimulationAddressattributePduSimulationAddress () const
 Returns the Simulation address if an attribute PDU was coupled. Used internally in VR-Link in Reflected Lists.
virtual void setAttributePduSimulationAddress (const DtSimulationAddress &addr)
 Sets the Simulation address if an attribute PDU was coupled. Used internally in VR-Link in Reflected Lists.
virtual void encode ()
 Encode method.
virtual void decode (DtPduFactory *pduFactory=0)
 Decode method.
virtual unsigned int attributeRecordSetsNetSize () const
 Network Size of the all Attribute Record Sets.
virtual unsigned int recordSetsNetSize () const
 Network Size of the all Record Sets.
virtual void setStandardVariableRecordFactory (DtStandardVariableRecordFactory *factory)
 Sets/gets the Standard Variable Record Factory used for decoding.
virtual
DtStandardVariableRecordFactory
standardVariableRecordFactory () const
virtual unsigned int numberOfRecordSets () const
 Gets the number of Attribute Record Sets.
virtual const
DtAttributeRecordSetMap
attributeRecordSetMap () const
 Get the AttributeRecordSet Map.
virtual int computeMasterAttributeRecordType () const
 Get the Master Attribute Record Type (if applicable, this will return MULTIPLES_PRESENT if not)
- Public Member Functions inherited from DtPdu
virtual ~DtPdu ()
 Destructor.
 DtPdu (const DtPdu &pdu, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Copy constructor.
DtPduoperator= (const DtPdu &pdu)
 Assignment operator.
virtual void * packet () const
 Older function that returns a pointer to the network representation.
virtual int status () const
 Get PDU status.
virtual void setVersion (int vers)
 Set/Get protocol version from PDU header.
virtual int protocolVersion () const
virtual void setExerciseId (int id)
 Set/Get exerciseID in PDU header.
virtual int exerciseId () const
virtual DtPduKind kind () const
 Returns PDU kind from PDU header.
virtual DtProtocolFamily protocolFamily () const
 Returns protocol family from PDU header.
virtual void setTimeStamp (DtTime time, DtTimeStampType type=DtTimeStampRelative)
 Set the PDU header's time stamp to reflect time and type.
virtual DtTime timeStamp () const
 Return the time (in seconds past an hour) encoded in the PDU header's time stamp.
virtual DtTimeStampType timeStampType () const
 Return the type of the time stamp, as indicated in PDU header.
virtual void setPduLength (unsigned int length)
 Set the PDU header's length.
virtual unsigned int pduLength () const
 Return the length of the PDU, as indicated in the PDU header.
virtual void setPduStatus (int)
 Set the PDU Status in the PDU header.
virtual int pduStatus () const
 Returns the PDU Status from the PDU header.
virtual void setTransferredEntityIndicator (bool difference)
 Set the Transferred Entity Indicator in the PDU header False is No Difference True is Difference.
virtual bool transferredEntityIndicator () const
 Returns the Transferred Entity Indicator from the PDU header False is No Difference True is Difference.
virtual void setLvcIndicator (DtPduStatusLVCIndicator lvcIndicator)
 Set the LVC Indicator in the PDU header.
virtual DtPduStatusLVCIndicator lvcIndicator () const
 Returns the LVC Indicator from the PDU header.
virtual void setCoupledExtensionIndicator (bool coupled)
 Set the Coupled Extension Indicator in the PDU Header False is Not Coupled True is Coupled.
virtual bool coupledExtensionIndicator () const
 Returns the Coupled Extension Indicator from the PDU Header False is Not Coupled True is Coupled.
virtual void setFireTypeIndicator (DtPduStatusFireTypeIndicator fireTypeIndicator)
 Set the Fire Type Indicator in the PDU header.
virtual
DtPduStatusFireTypeIndicator 
fireTypeIndicator () const
 Returns the Fire Type Indicator from the PDU header.
virtual void setDetonationTypeIndicator (DtPduStatusDetonationTypeIndicator detonationTypeIndicator)
 Set the Detonation Type Indicator in the PDU header.
virtual
DtPduStatusDetonationTypeIndicator 
detonationTypeIndicator () const
 Returns the Detonation Type Indicator from the PDU header.
virtual void setRadioAttachedIndicator (DtPduStatusRadioAttachedIndicator radioAttachedIndicator)
 Set the Radio Attached Indicator in the PDU header.
virtual
DtPduStatusRadioAttachedIndicator 
radioAttachedIndicator () const
 Returns the Radio Attached Indicator from the PDU header.
virtual void setIntercomAttachedIndicator (DtPduStatusIntercomAttachedIndicator intercomAttachedIndicator)
 Set the Intercom Attached Indicator in the PDU header.
virtual
DtPduStatusIntercomAttachedIndicator 
intercomAttachedIndicator () const
 Returns the Intercom Attached Indicator from the PDU header.
virtual void setIffSimulationMode (bool interactive)
 Set the IFF Simulation Mode in the PDU header.
virtual bool iffSimulationMode () const
 Returns the IFF Simulation Mode from the PDU header.
virtual void setActiveInterrogationIndicator (bool active)
 Set the Active Interrogation Indicator in the PDU header.
virtual bool activeInterrogationIndicator () const
 Returns the Active Interrogation Indicator from the PDU header.
virtual DtTime guessTimeValid (DtTime referenceTime) const
 Since timestamp only represents number of seconds past the hour, guessTimeValid chooses the hour that would make the timestamp closest to reference time, and returns a time that is timestamp seconds past that hour.
virtual DtNetPduHeadernetHeader () const
 Returns a pointer to the PDU's header.
virtual void print () const
 Print the contents of the PDU by calling printToStream(DtInfo).
virtual void printHeader () const
 Print the PDU's header. This calls printHeaderToStream(DtInfo).
virtual void printHeaderToStream (std::ostream &stream) const
 Print the PDU's header to a stream.
virtual void printDataToString (DtString &str) const
virtual void printPduInHexToStream (std::ostream &stream, unsigned int numberOfColumns) const
 Prints the entire PDU's internal buffer to the stream in Hex.
virtual bool isTransientPdu () const
 This method returns true if transient, false if state.
- Public Member Functions inherited from DtBaseMsg
virtual ~DtBaseMsg ()
 Destructor.
 DtBaseMsg (const DtBaseMsg &msg, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Copy constructor.
DtBaseMsgoperator= (const DtBaseMsg &msg)
 Assignment.
virtual const char * netRep () const
 Get network representation.
virtual int length () const
 Get size of message.
 DtBaseMsg ()
 Constructor Object is not fully constructed until initMsg is called.
void initMsg (int size, DtBufferPtr bufferPtr)
void initMsg (const void *initial, int size, DtBufferPtr bufferPtr)
virtual void changeSize (int size, bool skipSizeChanged=false)
 Changes the size of the message.
virtual void insertBytes (int offset, int numBytes, bool skipSizeChanged=false)
 Inserts numBytes zeroed-out bytes at the indicated offset into the net rep.
virtual void insertBytes (void *address, int numBytes, bool skipSizeChanged=false)
 Inserts numBytes zeroed-out bytes at the indicated address.
virtual void deleteBytes (int offset, int numBytes, bool skipSizeChanged=false)
 Deletes numBytes bytes at the indicated offset in the net rep.
virtual void deleteBytes (void *address, int numBytes, bool skipSizeChanged=false)
 Deletes numBytes bytes starting at the indicated address.
virtual void clearAll ()
 Zeros out all bytes in the network representation.
virtual void * newInternalBuffer (int size)
 Sets myInternalBuff to point to a malloc'ed buffer of size bytes.

Static Public Member Functions

static DtPducreate (const DtNetPacket *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER, DtPduFactory *pduFactory=0)
 Static functions.
static void addCallback (DtExerciseConn *conn, DtEntityStatePduCb cb, void *usr)
 Add a receive callback.
static void removeCallback (DtExerciseConn *conn, DtEntityStatePduCb cb, void *usr)
 Remove a receive callback.

Protected Member Functions

DtPduKind internalGetPduKind () const
 Returns the PDU kind associated with the derived PDU class.
DtNetArtPartRecordartPartRecord (int partType, int param) const
DtNetArtPartRecordattachedPartRecord (int station) const

Protected Attributes

DtEntityIdentifier myId
DtEntityType type
DtEntityType theGuise
DtVector vel
DtVector loc
DtVector acc
DtTaitBryan ori
DtBodyRates rvel
DtVector drParam
char markingBuff [DtMaxEntityMarkingLength+1]
DtArticulatedPartCollection myArtPartList
 Does not store state.
DtAttachedPartCollection myAttPartList
int myStationList [DtMaxNumAttachedParts]

Detailed Description

This class provides a wrapper around the DIS Entity State PDU network structure.

Member Enumeration Documentation

anonymous enum
Enumerator:
PduStaticSize 

Constructor & Destructor Documentation

DtEntityStatePdu::DtEntityStatePdu ( DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER)
DtEntityStatePdu::DtEntityStatePdu ( const DtNetEntityStatePdu initial,
DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER,
DtPduFactory pduFactory = 0 
)

CTOR for constructing the pdu using an existing net rep.

DtEntityStatePdu::DtEntityStatePdu ( const DtEntityIdentifier id,
const DtEntityType type,
const DtEntityType guise,
DtDeadReckonTypes  algorithm,
DtForceType  forceId,
DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER 
)

CTOR for creating a new Entity state pdu.

virtual DtEntityStatePdu::~DtEntityStatePdu ( )
inlinevirtual

DTOR.

Member Function Documentation

const DtVector& DtEntityStatePdu::acceleration ( ) const
static void DtEntityStatePdu::addCallback ( DtExerciseConn conn,
DtEntityStatePduCb  cb,
void *  usr 
)
static

Add a receive callback.

DtDeadReckonTypes DtEntityStatePdu::algorithm ( ) const
DtU32 DtEntityStatePdu::appearance ( ) const

Get the appearance attribute collection.

DtAppearAttrVal DtEntityStatePdu::appearanceAttribute ( const DtAppearAttribute attr) const

Get the value of a specific appearance attribute.

const DtArticulatedPartCollection& DtEntityStatePdu::artPartList ( ) const

Set/Get the articulated part list via the DtArticulatedPartCollection.

Warning
setNumArtPlusAttachedParams() needs to be called before setting the articulated parts, as memory needs to be allocated
const DtNetArtPartRecord* DtEntityStatePdu::artPartRecord ( int  index) const

Access the net articulated parts records through an index.

These are used for encoding/decoding functions. It is recommended that the artPartList() accessor is used for articulated part access from the PDU.

DtNetArtPartRecord* DtEntityStatePdu::artPartRecord ( int  index)

Access the net articulated parts records through an index.

These are used for encoding/decoding functions. It is recommended that the artPartList() accessor is used for articulated part access from the PDU.

DtNetArtPartRecord* DtEntityStatePdu::artPartRecord ( int  partType,
int  param 
) const
protected
DtNetArtPartRecord* DtEntityStatePdu::attachedPartRecord ( int  station) const
protected
const DtAttachedPartCollection& DtEntityStatePdu::attPartList ( ) const

Set/Get the attached part list via the DtAttachedPartCollection.

Warning
setNumArtPlusAttachedParams() needs to be called before setting the articulated parts, as memory needs to be allocated
DtNetAttachedPart* DtEntityStatePdu::attPartRecord ( int  index)

Access the net attached parts records through an index.

These are used for encoding/decoding functions. It is recommended that the attPartList() accessor is used for articulated part access from the PDU.

const DtNetAttachedPart* DtEntityStatePdu::attPartRecord ( int  index) const

Access the net attached parts records through an index.

These are used for encoding/decoding functions. It is recommended that the attPartList() accessor is used for articulated part access from the PDU.

DtU32 DtEntityStatePdu::capabilities ( ) const
static DtPdu* DtEntityStatePdu::create ( const DtNetPacket initial,
DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER,
DtPduFactory pduFactory = 0 
)
static

Static functions.

short DtEntityStatePdu::deadReckon0Param ( ) const
char DtEntityStatePdu::deadReckonParamType ( ) const
const DtVector& DtEntityStatePdu::deadReckonXYZParams ( ) const
const DtEntityType& DtEntityStatePdu::entityType ( ) const
DtForceType DtEntityStatePdu::forceId ( ) const
const DtEntityType& DtEntityStatePdu::guise ( ) const
const DtEntityIdentifier& DtEntityStatePdu::id ( ) const
DtPduKind DtEntityStatePdu::internalGetPduKind ( ) const
inlineprotectedvirtual

Returns the PDU kind associated with the derived PDU class.

Implements DtPdu.

References DtEntityStatePduKind.

const DtVector& DtEntityStatePdu::location ( ) const
int DtEntityStatePdu::markingCharSet ( ) const
const char* DtEntityStatePdu::markingText ( ) const
int DtEntityStatePdu::numArtParams ( ) const
int DtEntityStatePdu::numArtPlusAttachedParams ( ) const
int DtEntityStatePdu::numAttachedParams ( ) const
const DtTaitBryan& DtEntityStatePdu::orientation ( ) const
void DtEntityStatePdu::printData ( ) const
virtual

Print the PDU's data (not including header).

Base DtPdu version just prints hex. Use the printDataToString to put the data into a DtString instead of simply sending the output to stdout. printData() calls printDataToStream(DtInfo).

Reimplemented from DtPdu.

void DtEntityStatePdu::printDataToStream ( std::ostream &  stream) const
virtual

Reimplemented from DtPdu.

static void DtEntityStatePdu::removeCallback ( DtExerciseConn conn,
DtEntityStatePduCb  cb,
void *  usr 
)
static

Remove a receive callback.

const DtVector& DtEntityStatePdu::rotationalVelocity ( ) const
void DtEntityStatePdu::setAcceleration ( const DtVector Acceleration)
void DtEntityStatePdu::setAlgorithm ( DtDeadReckonTypes  alg)
void DtEntityStatePdu::setAppearance ( DtU32  app)

Set the appearance attribute collection.

void DtEntityStatePdu::setAppearanceAttribute ( const DtAppearAttribute  attr,
const DtAppearAttrVal  val 
)

Set the value of a specific appearance attribute.

void DtEntityStatePdu::setArtPartList ( const DtArticulatedPartCollection apList)

Set/Get the articulated part list via the DtArticulatedPartCollection.

Warning
setNumArtPlusAttachedParams() needs to be called before setting the articulated parts, as memory needs to be allocated
void DtEntityStatePdu::setAttPartList ( const DtAttachedPartCollection apList)

Set/Get the attached part list via the DtAttachedPartCollection.

Warning
setNumArtPlusAttachedParams() needs to be called before setting the articulated parts, as memory needs to be allocated
void DtEntityStatePdu::setCapabilities ( DtU32  cap)
void DtEntityStatePdu::setDeadReckon0Param ( short  param)
void DtEntityStatePdu::setDeadReckonParamType ( char  param)
void DtEntityStatePdu::setDeadReckonXYZParams ( const DtVector params)
void DtEntityStatePdu::setEntityType ( const DtEntityType type)
void DtEntityStatePdu::setForceId ( DtForceType  force)
void DtEntityStatePdu::setGuise ( const DtEntityType type)
void DtEntityStatePdu::setId ( const DtEntityIdentifier id)
void DtEntityStatePdu::setLocation ( const DtVector Location)
void DtEntityStatePdu::setMarkingCharSet ( int  charSet)
void DtEntityStatePdu::setMarkingText ( const char *  text)
void DtEntityStatePdu::setNumArtPlusAttachedParams ( int  num)
void DtEntityStatePdu::setOrientation ( const DtTaitBryan Orient)
void DtEntityStatePdu::setRotationalVelocity ( const DtVector BodyRates)
void DtEntityStatePdu::setVelocity ( const DtVector Velocity)
DtNetVPRecord* DtEntityStatePdu::variableParameterRecord ( int  index)
const DtNetVPRecord* DtEntityStatePdu::variableParameterRecord ( int  index) const
const DtVector& DtEntityStatePdu::velocity ( ) const

Member Data Documentation

DtVector DtEntityStatePdu::acc
protected
DtVector DtEntityStatePdu::drParam
protected
DtVector DtEntityStatePdu::loc
protected
char DtEntityStatePdu::markingBuff[DtMaxEntityMarkingLength+1]
protected
DtArticulatedPartCollection DtEntityStatePdu::myArtPartList
mutableprotected

Does not store state.

DtAttachedPartCollection DtEntityStatePdu::myAttPartList
mutableprotected
DtEntityIdentifier DtEntityStatePdu::myId
protected
int DtEntityStatePdu::myStationList[DtMaxNumAttachedParts]
protected
DtTaitBryan DtEntityStatePdu::ori
protected
DtBodyRates DtEntityStatePdu::rvel
protected
DtEntityType DtEntityStatePdu::theGuise
protected
DtEntityType DtEntityStatePdu::type
protected
DtVector DtEntityStatePdu::vel
protected

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

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)