![]() |
VR-Link API Documentation for HLA 1.3
|
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) | |
| CTOR. | |
| DtEnvironmentalProcessPdu (const DtNetEnvironmentalProcessPdu *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER, DtPduFactory *pduFactory=0) | |
| CTOR. | |
| DtEnvironmentalProcessPdu (const DtEnvironmentalProcessPdu &orig) | |
| Copy CTOR. | |
| virtual | ~DtEnvironmentalProcessPdu () |
| Virtual DTOR. | |
| DtEnvironmentalProcessPdu & | operator= (const DtEnvironmentalProcessPdu &orig) |
| Assignment operator. | |
| virtual void | setEnvironmentalProcessID (const DtEntityIdentifier &entity) |
| Set/Get originating environmental process ID. | |
| virtual const DtEntityIdentifier & | environmentalProcessID () 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 DtNetEnvironmentalRecord * | recordPointer (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. | |
| DtPdu & | operator= (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 DtNetPduHeader * | netHeader () 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. | |
| DtBaseMsg & | operator= (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 DtPdu * | create (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. | |
| DtNetEnvironmentalProcessPdu * | netPduStruct () const |
| Casts the netPdu element to our network struct. | |
| DtEnvironmentalProcessPdu * | self () 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 | |
| DtPduEncoder * | myEncoder |
| DtPduDecoder * | myDecoder |
| 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 |
Instances of DtEnvironmentalProcessPdu are used to send information about environmental effects and processes.
| DtEnvironmentalProcessPdu::DtEnvironmentalProcessPdu | ( | DtBufferPtr | buffer = DtUSE_INTERNAL_BUFFER | ) |
CTOR.
| DtEnvironmentalProcessPdu::DtEnvironmentalProcessPdu | ( | const DtNetEnvironmentalProcessPdu * | initial, |
| DtBufferPtr | buffer = DtUSE_INTERNAL_BUFFER, |
||
| DtPduFactory * | pduFactory = 0 |
||
| ) |
CTOR.
| DtEnvironmentalProcessPdu::DtEnvironmentalProcessPdu | ( | const DtEnvironmentalProcessPdu & | orig | ) |
Copy CTOR.
|
virtual |
Virtual DTOR.
|
static |
Add (register)/Remove (deregister) function to be called when pdu is received.
|
static |
Create a DtEnvironmentalProcessPdu.
Caller is responsible for deletion.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
This returns the type of the geometry record with the index specified.
|
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 |
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,
|
protectedvirtual |
Returns the internal PDU kind.
Implements DtPdu.
|
protectedvirtual |
|
static |
|
virtual |
|
protected |
Casts the netPdu element to our network struct.
Non-virtual since you can't override based on return type.
|
virtual |
|
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 |
Print the data contained by this PDU.
Reimplemented from DtPdu.
|
virtual |
Reimplemented from DtPdu.
|
protectedvirtual |
Returns an offset in bytes from the beginning of the variable length data region to the beginning of a particular record.
|
virtual |
Get a pointer to an environmental record.
Returns false if the record index is out of range.
|
static |
|
protected |
Casts the 'this' pointer for changing elements in a const function.
Non virtual since you can't override based on return type.
|
virtual |
|
virtual |
Set/Get originating environmental process ID.
|
virtual |
This sets the index'th record to the values in the envRecord supplied.
|
virtual |
Set/Get the environmental status (as an 8-bit value).
|
virtual |
Set/Get an environmental status bit.
|
virtual |
Set/Get environment type.
|
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 |
Set/Get the model type.
|
virtual |
Set/Get number of environment records.
|
virtual |
Set the size of an environmental record in bits.
Returns false if the size is invalid. If lengthIsWholeEnvRec is true or DIS Version is 7 or higher, the size is expected to be the full record length including the record header. If lengthIsWholeEnvRec is false or DIS Version is less than 7, the size is expected to be the length of the record minus the length of the record header.
|
virtual |
Set/Get sequence number.
|
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.
|
protectedvirtual |
Returns a pointer to the first byte of variable length data.
|
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.
|
protected |
Temporary objects for reference returns.
|
protected |
|
mutableprotected |
|
staticprotected |
|
staticprotected |
Size of PDU with zero data bytes.