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)
 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)
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)
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 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 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 printToStream (std::ostream &stream) const
 Print the contents of the PDU by calling printHeaderToStream and printDataToStream.
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
- 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.

Static Public Member Functions

static DtPducreate (const DtNetPacket *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 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
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 
)

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 
)
static

Static functions.

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::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)
const DtVector& DtEntityStatePdu::velocity ( ) const

Member Data Documentation

DtVector DtEntityStatePdu::acc
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 Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)