VR-Link API Documentation for HLA 1.3
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtEnvironmentalProcessPdu Class Reference

Instances of DtEnvironmentalProcessPdu are used to send information about environmental effects and processes. More...

+ Inheritance diagram for DtEnvironmentalProcessPdu:
+ Collaboration diagram for DtEnvironmentalProcessPdu:

Public Member Functions

 DtEnvironmentalProcessPdu (DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 Constructors.
 DtEnvironmentalProcessPdu (const DtNetEnvironmentalProcessPdu *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 DtEnvironmentalProcessPdu (const DtEnvironmentalProcessPdu &orig)
virtual ~DtEnvironmentalProcessPdu ()
 destructor
DtEnvironmentalProcessPduoperator= (const DtEnvironmentalProcessPdu &orig)
 Assignment operator.
virtual void setEnvironmentalProcessID (const DtEntityIdentifier &entity)
 Set/Get originating environmental process ID.
virtual const DtEntityIdentifierenvironmentalProcessID () const
virtual void setEnvironmentType (const DtEnvironmentTypeRecord &type)
 Set/Get environment type.
virtual const
DtEnvironmentTypeRecord
environmentType () const
virtual void setModelType (DtEnvironmentalModelType value)
 Set/Get the model type.
virtual DtEnvironmentalModelType modelType () const
virtual void setEnvironmentalStatus (DtU8 value)
 Set/Get the environmental status (as an 8-bit value).
virtual DtU8 environmentalStatus () const
virtual void setEnvironmentalStatusBit (DtEnvironmentalStatusBit bit, bool value)
 Set/Get an environmental status bit.
virtual bool environmentalStatusBit (DtEnvironmentalStatusBit bit) const
virtual bool setNumberOfEnvironmentalRecords (DtU16 newNumberOfRecords)
 Set/Get number of environment records.
virtual DtU16 numberOfEnvironmentalRecords () const
virtual void setSequenceNumber (DtU16 value)
 Set/Get sequence number.
virtual DtU16 sequenceNumber () const
virtual bool setRecordBitSize (int recordIndex, int newRecordBitSize)
 Set the size of an environmental record (in bits).
virtual DtNetEnvironmentalRecordrecordPointer (int recordIndex) const
 Get a pointer to an environmental record.
virtual void printData () const
 Print the data contained by this PDU.
virtual void printDataToStream (std::ostream &stream) const
virtual int numberOfGeometryRecords () const
 New accessors and mutators based on assumptions about what types of environment records we'll have.
virtual DtEnvironmentalRecordType geometryRecordType (int index) const
 This returns the type of the geometry record with the index specified.
virtual DtEnvironmentalRecordType stateRecordType (int index) const
 This returns the type of the state record associated with the geometry record with the index specified.
virtual bool getGeometryRecord (int index, DtEnvironmentalGeometryRecord &geometryRecord) const
 This returns a reference to the nth geometry record.
virtual bool getStateRecord (int index, DtEnvironmentalRecord &stateRecord) const
 This returns a reference to the state record associated with the nth geometry record.
virtual void setEnvironmentalRecord (int index, const DtEnvironmentalRecord &envRecord)
 This sets the index'th record to the values in the envRecord supplied.
- 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)
 Create a DtEnvironmentalProcessPdu.
static void addCallback (DtExerciseConn *conn, DtEnvironmentalProcessPduCb cb, void *usr)
 Add (register)/Remove (deregister) function to be called when pdu is received.
static void removeCallback (DtExerciseConn *conn, DtEnvironmentalProcessPduCb cb, void *usr)
static void setLengthIsWholeEnvRec (bool lengthMode)
 Methods to set the static variable theLengthIsWholeRec.
static bool lengthIsWholeEnvRec ()

Protected Member Functions

virtual DtPduKind internalGetPduKind () const
 Returns the internal PDU kind.
DtNetEnvironmentalProcessPdunetPduStruct () const
 Casts the netPdu element to our network struct.
DtEnvironmentalProcessPduself () const
 Casts the 'this' pointer for changing elements in a const function.
virtual char * var () const
 Returns a pointer to the first byte of variable length data.
virtual int recordOffset (int recordIndex) const
 Returns an offset in bytes from the beginning of the variable length data region to the beginning of a particular record.
virtual void invalidateCache ()
void verifyRecDataSize ()
 Checks the size of the stated length of all environment records, and compares it with the actual length of the PDU, to check for the incorrect lengths of records.
- Protected Member Functions inherited from DtPdu
 DtPdu ()
 Constructor.
virtual void setStatus (int okStatus)
 Sets the PDU's status to okStatus.
virtual void initPdu (int size, DtBufferPtr buffer)
 Must be called after default ctor before PDU is completely constructed.
virtual void initPdu (const void *initial, DtBufferPtr buffer)
 Called by from-net-rep ctor. Initializes DtBaseMsg.
virtual DtProtocolFamily kindToFamily (DtPduKind kind) const
 Maps PDU kind to ProtocolFamily.
virtual void sizeChanged (int size)
 Called by changeSize. Sets the size in the header to size.
virtual void clearData ()
 zeros out all bytes after the PDU header.
virtual void initHeader (DtPduKind kind, int size)
 Initializes PDU header. Called by initPdu.
- Protected Member Functions inherited from DtBaseMsg
 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)
 Changes the size of the message.
virtual void insertBytes (int offset, int numBytes)
 Inserts numBytes zeroed-out bytes at the indicated offset into the net rep.
virtual void insertBytes (void *address, int numBytes)
 Inserts numBytes zeroed-out bytes at the indicated address.
virtual void deleteBytes (int offset, int numBytes)
 Deletes numBytes bytes at the indicated offset in the net rep.
virtual void deleteBytes (void *address, int numBytes)
 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.

Protected Attributes

DtEntityIdentifier myEntityID
 Temporary objects for reference returns.
DtEnvironmentTypeRecord myEnvironmentType
std::vector< int > myOffsetCache
- Protected Attributes inherited from DtPdu
int myOKStatus
- Protected Attributes inherited from DtBaseMsg
void * myNetMsg
void * myInternalBuff
int myIntBuffSize
int myMsgSize

Static Protected Attributes

static const int theStaticSize
 Size of PDU with zero data bytes.
static bool theLengthIsWholeRec

Detailed Description

Instances of DtEnvironmentalProcessPdu are used to send information about environmental effects and processes.

Constructor & Destructor Documentation

DtEnvironmentalProcessPdu::DtEnvironmentalProcessPdu ( DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER)

Constructors.

DtEnvironmentalProcessPdu::DtEnvironmentalProcessPdu ( const DtNetEnvironmentalProcessPdu initial,
DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER 
)
DtEnvironmentalProcessPdu::DtEnvironmentalProcessPdu ( const DtEnvironmentalProcessPdu orig)
virtual DtEnvironmentalProcessPdu::~DtEnvironmentalProcessPdu ( )
virtual

destructor

Member Function Documentation

static void DtEnvironmentalProcessPdu::addCallback ( DtExerciseConn conn,
DtEnvironmentalProcessPduCb  cb,
void *  usr 
)
static

Add (register)/Remove (deregister) function to be called when pdu is received.

static DtPdu* DtEnvironmentalProcessPdu::create ( const DtNetPacket initial,
DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER 
)
static

Create a DtEnvironmentalProcessPdu.

Caller is responsible for deletion.

virtual const DtEntityIdentifier& DtEnvironmentalProcessPdu::environmentalProcessID ( ) const
virtual
virtual DtU8 DtEnvironmentalProcessPdu::environmentalStatus ( ) const
virtual
virtual bool DtEnvironmentalProcessPdu::environmentalStatusBit ( DtEnvironmentalStatusBit  bit) const
virtual
virtual const DtEnvironmentTypeRecord& DtEnvironmentalProcessPdu::environmentType ( ) const
virtual
virtual DtEnvironmentalRecordType DtEnvironmentalProcessPdu::geometryRecordType ( int  index) const
virtual

This returns the type of the geometry record with the index specified.

virtual bool DtEnvironmentalProcessPdu::getGeometryRecord ( int  index,
DtEnvironmentalGeometryRecord geometryRecord 
) const
virtual

This returns a reference to the nth geometry record.

The user must supply a DtEnvironmentalRecord of the correct type (use geometryRecordType() first(!)) because it is that class that knows how to convert the network representation in the PDU into the DtEnvironmentalRecord (host) representation,

virtual bool DtEnvironmentalProcessPdu::getStateRecord ( int  index,
DtEnvironmentalRecord stateRecord 
) const
virtual

This returns a reference to the state record associated with the nth geometry record.

The user must supply a DtEnvironmentalRecord of the correct type (use stateRecordType() first(!)) because it is that class that knows how to convert the network representation in the PDU into the DtEnvironmentalRecord (host) representation,

virtual DtPduKind DtEnvironmentalProcessPdu::internalGetPduKind ( ) const
protectedvirtual

Returns the internal PDU kind.

Implements DtPdu.

virtual void DtEnvironmentalProcessPdu::invalidateCache ( )
protectedvirtual
static bool DtEnvironmentalProcessPdu::lengthIsWholeEnvRec ( )
static
virtual DtEnvironmentalModelType DtEnvironmentalProcessPdu::modelType ( ) const
virtual
DtNetEnvironmentalProcessPdu* DtEnvironmentalProcessPdu::netPduStruct ( ) const
protected

Casts the netPdu element to our network struct.

Non-virtual since you can't override based on return type.

virtual DtU16 DtEnvironmentalProcessPdu::numberOfEnvironmentalRecords ( ) const
virtual
virtual int DtEnvironmentalProcessPdu::numberOfGeometryRecords ( ) const
virtual

New accessors and mutators based on assumptions about what types of environment records we'll have.

The enumeration document establishes the convention that geometry types use the high order 2 bytes of the type field, while state types use the lower two. Assuming that convention is followed, this returns the number of geometry records in the PDU

DtEnvironmentalProcessPdu& DtEnvironmentalProcessPdu::operator= ( const DtEnvironmentalProcessPdu orig)

Assignment operator.

virtual void DtEnvironmentalProcessPdu::printData ( ) const
virtual

Print the data contained by this PDU.

Reimplemented from DtPdu.

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

Reimplemented from DtPdu.

virtual int DtEnvironmentalProcessPdu::recordOffset ( int  recordIndex) const
protectedvirtual

Returns an offset in bytes from the beginning of the variable length data region to the beginning of a particular record.

virtual DtNetEnvironmentalRecord* DtEnvironmentalProcessPdu::recordPointer ( int  recordIndex) const
virtual

Get a pointer to an environmental record.

Returns false if the record index is out of range.

static void DtEnvironmentalProcessPdu::removeCallback ( DtExerciseConn conn,
DtEnvironmentalProcessPduCb  cb,
void *  usr 
)
static
DtEnvironmentalProcessPdu* DtEnvironmentalProcessPdu::self ( ) const
protected

Casts the 'this' pointer for changing elements in a const function.

Non virtual since you can't override based on return type.

virtual DtU16 DtEnvironmentalProcessPdu::sequenceNumber ( ) const
virtual
virtual void DtEnvironmentalProcessPdu::setEnvironmentalProcessID ( const DtEntityIdentifier entity)
virtual

Set/Get originating environmental process ID.

virtual void DtEnvironmentalProcessPdu::setEnvironmentalRecord ( int  index,
const DtEnvironmentalRecord envRecord 
)
virtual

This sets the index'th record to the values in the envRecord supplied.

virtual void DtEnvironmentalProcessPdu::setEnvironmentalStatus ( DtU8  value)
virtual

Set/Get the environmental status (as an 8-bit value).

virtual void DtEnvironmentalProcessPdu::setEnvironmentalStatusBit ( DtEnvironmentalStatusBit  bit,
bool  value 
)
virtual

Set/Get an environmental status bit.

virtual void DtEnvironmentalProcessPdu::setEnvironmentType ( const DtEnvironmentTypeRecord type)
virtual

Set/Get environment type.

static void DtEnvironmentalProcessPdu::setLengthIsWholeEnvRec ( bool  lengthMode)
static

Methods to set the static variable theLengthIsWholeRec.

If theLengthIsWholeRec = false, then DtNetEnviornmentalRecord.myLength will contain the length (in bits) of the entire DtNetEnvironmentalRecord. If theLengthIsWholeRec = true, the DtNetEnvironmentalRecord.myLength will contain the length (in bits) of the VariantData part of DtNetEnvironmentalRecord.

theLengthIsWholeRec = false by default

virtual void DtEnvironmentalProcessPdu::setModelType ( DtEnvironmentalModelType  value)
virtual

Set/Get the model type.

virtual bool DtEnvironmentalProcessPdu::setNumberOfEnvironmentalRecords ( DtU16  newNumberOfRecords)
virtual

Set/Get number of environment records.

virtual bool DtEnvironmentalProcessPdu::setRecordBitSize ( int  recordIndex,
int  newRecordBitSize 
)
virtual

Set the size of an environmental record (in bits).

Returns false if the size is invalid.

virtual void DtEnvironmentalProcessPdu::setSequenceNumber ( DtU16  value)
virtual

Set/Get sequence number.

virtual DtEnvironmentalRecordType DtEnvironmentalProcessPdu::stateRecordType ( int  index) const
virtual

This returns the type of the state record associated with the geometry record with the index specified.

0 is returned if there is no state record associated with the index'th geometry record.

virtual char* DtEnvironmentalProcessPdu::var ( ) const
protectedvirtual

Returns a pointer to the first byte of variable length data.

void DtEnvironmentalProcessPdu::verifyRecDataSize ( )
protected

Checks the size of the stated length of all environment records, and compares it with the actual length of the PDU, to check for the incorrect lengths of records.

It will set the static of the PDU to "Not OK" if a mismatch is detected. This method is not virtual as it is called from the constructor.

Member Data Documentation

DtEntityIdentifier DtEnvironmentalProcessPdu::myEntityID
protected

Temporary objects for reference returns.

DtEnvironmentTypeRecord DtEnvironmentalProcessPdu::myEnvironmentType
protected
std::vector<int> DtEnvironmentalProcessPdu::myOffsetCache
mutableprotected
bool DtEnvironmentalProcessPdu::theLengthIsWholeRec
staticprotected
const int DtEnvironmentalProcessPdu::theStaticSize
staticprotected

Size of PDU with zero data bytes.


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)