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 | 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, DtPduFactory *pduFactory=0)
 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 void printData () const
 Print the data contained by this PDU.
virtual void printDataToStream (std::ostream &stream) const
virtual void setEnvironmentalRecord (int index, const DtEnvironmentalRecord &envRecord)
 This sets the index'th record to the values in the envRecord supplied.
virtual DtNetEnvironmentalRecordrecordPointer (int recordIndex) const
 Get a pointer to an environmental record.
virtual int numberOfGeometryRecords () const
 The following functions are 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.
- 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 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
virtual void printPduInHexToStream (std::ostream &stream, unsigned int numberOfColumns) const
 Prints the entire PDU's internal buffer to the stream in Hex.
virtual void encode ()
 Encode method.
virtual void decode (DtPduFactory *pduFactory)
 Decode method.
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)
 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, DtPduFactory *pduFactory)
 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.
virtual bool isTEIApplicable () const
 Returns whether a PDU Status is applicable to this PDU (based on PDU Type) These methods are only relevant in DIS 7 and greater.
virtual bool isLVCApplicable () const
virtual bool isCEIApplicable () const
virtual bool isFTIApplicable () const
virtual bool isDTIApplicable () const
virtual bool isRAIApplicable () const
virtual bool isIAIApplicable () const
virtual bool isISMApplicable () const
virtual bool isAIIApplicable () const

Protected Attributes

DtEntityIdentifier myEntityID
 Temporary objects for reference returns.
DtEnvironmentTypeRecord myEnvironmentType
std::vector< int > myOffsetCache
- Protected Attributes inherited from DtPdu
DtPduEncodermyEncoder
DtPduDecodermyDecoder
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,
DtPduFactory *  pduFactory = 0 
)
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,
DtPduFactory *  pduFactory = 0 
)
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

The following functions are accessors and mutators based on assumptions about what types of environment records we'll have.

Note that these functions assume that you have one geometry record possibly followed by a single state record If you have more than one state record per geometry record, then you should use recordPointer and cast to the correct type instead. 'myType' lets you know what type of record it is: values larger than 0x0000FFFF values are DtEnvironmentalGeometryRecord, otherwise it is a DtEnvironmentalRecord. 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.

This only works on DIS Versions 6 or lower. In DIS Version 7, theLengthIsWholeRec is ignored, and the length is always the entire record.

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 Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)