![]() |
VR-Link API Documentation for DIS
|
Instances of DtSignalPdu are used to send simulated signal data. More...
Inheritance diagram for DtSignalPdu:
Collaboration diagram for DtSignalPdu:Public Types | |
| enum | { PduStaticSize = 32 } |
Public Member Functions | |
| DtSignalPdu (DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER) | |
| Default constructor. | |
| DtSignalPdu (const DtNetSignalPdu *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER, DtPduFactory *pduFactory=0) | |
| Constructor that creates a DtSignalPdu based on a network layout PDU. | |
| virtual void | printData () const |
| Prints the signal's data to DtInfo. | |
| virtual void | printDataToStream (std::ostream &stream) const |
| Prints the signal's data to the specified stream. | |
| const DtEntityIdentifier & | entityId () const |
| Set/get signal entity identifier. | |
| void | setEntityId (const DtEntityIdentifier &id) |
| Set/get signal entity identifier. | |
| unsigned int | radioId () const |
| Set/get signal radio identifier. | |
| void | setRadioId (unsigned int id) |
| Set/get signal radio identifier. | |
| DtEncodingClass | encodingClass () const |
| Set/get signal encoding class. | |
| void | setEncodingClass (DtEncodingClass encodingClass) |
| Set/get signal encoding class. | |
| unsigned int | encodingType () const |
| Set/get signal encoding type. | |
| void | setEncodingType (unsigned int codeType) |
| Set/get signal encoding type. | |
| long | sampleRate () const |
| Set/get signal sample rate. | |
| void | setSampleRate (long rate) |
| Set/get signal sample rate. | |
| int | numDataBits () const |
| Set/get signal number of bits in message. | |
| void | setNumDataBits (int lengthInBits) |
| Set/get signal number of bits in message. | |
| int | numDataBytes () const |
| Set/get signal number of bytes in message. | |
| void | setNumDataBytes (int lengthInBytes) |
| Set/get signal number of bytes in message. | |
| int | numSamples () const |
| Set/get signal number of samples in message. | |
| void | setNumSamples (int numSamples) |
| Set/get signal number of bytes in message. | |
| unsigned char | dataByte (int byteNum) const |
| Set/get signal a data byte. | |
| void | setDataByte (int byteNum, unsigned char data) |
| Set/get signal a data byte. | |
| void | getData (unsigned char *buff) const |
| Set/get multiple data bytes. | |
| void * | data () const |
| Set/get multiple data bytes. | |
| void | setData (unsigned char *data, int numBytes) |
| Set/get multiple data bytes. | |
| int | tdlType () const |
| Set/get signal TDL type. | |
| void | setTdlType (int type) |
| Set/get signal TDL type. | |
Public Member Functions inherited from DtInteraction | |
| DtInteraction () | |
| default constructor | |
| virtual | ~DtInteraction () |
| destructor | |
| DtInteraction (const DtInteraction &orig) | |
| copy constructor | |
| DtInteraction & | operator= (const DtInteraction &orig) |
| assignment operator | |
Public Member Functions inherited from DtPduWithAttributeRecordSets | |
| DtPduWithAttributeRecordSets () | |
| Constructor. | |
| DtPduWithAttributeRecordSets (const DtPduWithAttributeRecordSets &orig) | |
| Constructor. | |
| DtPduWithAttributeRecordSets & | operator= (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 DtStandardVariableRecordPtrVector & | 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 DtStandardVariableRecordPtrVector | 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 DtSimulationAddress & | attributePduSimulationAddress () 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) | |
| virtual void | setAttributeStrategy (DtAttributePduStrategy strat) |
| virtual DtAttributePduStrategy | attributePduStrategy () const |
| virtual bool | shouldAttributePduBeCoupled () const |
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 | setReceivedTime (DtTime t) |
| absRealTime when PDU was received into buffer. | |
| virtual DtTime | receivedTime () const |
| 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 | 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. | |
| 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) |
| Changes the size of the message. | |
| virtual void | changeBufferSize (int size) |
| Changes the size of the message buffer, but not the message itself. | |
| 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. | |
Static Public Member Functions | |
| static DtPdu * | create (const DtNetPacket *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER, DtPduFactory *pduFactory=0) |
| Create a DtIntercomSignalPdu. | |
| static void | addCallback (DtExerciseConn *conn, DtSignalInteractionCb cb, void *usr) |
| Add (register) function to be called when pdu is received. | |
| static void | removeCallback (DtExerciseConn *conn, DtSignalInteractionCb cb, void *usr) |
| Remove function to be called when a signal PDU is received. | |
Protected Member Functions | |
| DtPduKind | internalGetPduKind () const |
| Returns the PDU kind associated with the derived PDU class. | |
Protected Attributes | |
| DtEntityIdentifier | theId |
Additional Inherited Members | |
Static Protected Attributes inherited from DtPduWithAttributeRecordSets | |
| static const DtAttributeRecordSet | theEmptyAttributeRecordSet |
Instances of DtSignalPdu are used to send simulated signal data.
It should be noted that some methods exist in HLA's DtSignalInteraction that do not exist here, as the data is simply packed in the data portion of the PDU.
| DtSignalPdu::DtSignalPdu | ( | DtBufferPtr | buffer = DtUSE_INTERNAL_BUFFER | ) |
Default constructor.
| DtSignalPdu::DtSignalPdu | ( | const DtNetSignalPdu * | initial, |
| DtBufferPtr | buffer = DtUSE_INTERNAL_BUFFER, |
||
| DtPduFactory * | pduFactory = 0 |
||
| ) |
Constructor that creates a DtSignalPdu based on a network layout PDU.
|
static |
Add (register) function to be called when pdu is received.
|
static |
Create a DtIntercomSignalPdu.
Caller is responsible for deletion.
| void* DtSignalPdu::data | ( | ) | const |
Set/get multiple data bytes.
Provide a pointer and data is copied to and from that memory. Check numDataBytes() to make sure that you provide enough room in the buffer. The data portion of the PDU may contain different things for different types of radio signals. HLA methods exist for some of the following items that should be included in the data portion of the PDU for DIS:
| unsigned char DtSignalPdu::dataByte | ( | int | byteNum | ) | const |
Set/get signal a data byte.
| DtEncodingClass DtSignalPdu::encodingClass | ( | ) | const |
Set/get signal encoding class.
| unsigned int DtSignalPdu::encodingType | ( | ) | const |
Set/get signal encoding type.
This may also contain the number of TDL messages.
| const DtEntityIdentifier& DtSignalPdu::entityId | ( | ) | const |
Set/get signal entity identifier.
| void DtSignalPdu::getData | ( | unsigned char * | buff | ) | const |
Set/get multiple data bytes.
Provide a pointer and data is copied to and from that memory. Check numDataBytes() to make sure that you provide enough room in the buffer. The data portion of the PDU may contain different things for different types of radio signals. HLA methods exist for some of the following items that should be included in the data portion of the PDU for DIS:
|
inlineprotectedvirtual |
Returns the PDU kind associated with the derived PDU class.
Implements DtPdu.
References DtSignalPduKind.
| int DtSignalPdu::numDataBits | ( | ) | const |
Set/get signal number of bits in message.
| int DtSignalPdu::numDataBytes | ( | ) | const |
Set/get signal number of bytes in message.
| int DtSignalPdu::numSamples | ( | ) | const |
Set/get signal number of samples in message.
|
virtual |
Prints the signal's data to DtInfo.
Reimplemented from DtPdu.
|
virtual |
Prints the signal's data to the specified stream.
Reimplemented from DtPdu.
| unsigned int DtSignalPdu::radioId | ( | ) | const |
Set/get signal radio identifier.
It should be noted that the Radio ID differs from HLA, in that here a radio is identified through both the entity ID and radio ID, which is an integer. In HLA, the radio ID is simply a string that describes the object name of the radio object.
|
static |
Remove function to be called when a signal PDU is received.
| long DtSignalPdu::sampleRate | ( | ) | const |
Set/get signal sample rate.
| void DtSignalPdu::setData | ( | unsigned char * | data, |
| int | numBytes | ||
| ) |
Set/get multiple data bytes.
Provide a pointer and data is copied to and from that memory. Check numDataBytes() to make sure that you provide enough room in the buffer. The data portion of the PDU may contain different things for different types of radio signals. HLA methods exist for some of the following items that should be included in the data portion of the PDU for DIS:
| void DtSignalPdu::setDataByte | ( | int | byteNum, |
| unsigned char | data | ||
| ) |
Set/get signal a data byte.
| void DtSignalPdu::setEncodingClass | ( | DtEncodingClass | encodingClass | ) |
Set/get signal encoding class.
| void DtSignalPdu::setEncodingType | ( | unsigned int | codeType | ) |
Set/get signal encoding type.
This may also contain the number of TDL messages.
| void DtSignalPdu::setEntityId | ( | const DtEntityIdentifier & | id | ) |
Set/get signal entity identifier.
| void DtSignalPdu::setNumDataBits | ( | int | lengthInBits | ) |
Set/get signal number of bits in message.
| void DtSignalPdu::setNumDataBytes | ( | int | lengthInBytes | ) |
Set/get signal number of bytes in message.
| void DtSignalPdu::setNumSamples | ( | int | numSamples | ) |
Set/get signal number of bytes in message.
| void DtSignalPdu::setRadioId | ( | unsigned int | id | ) |
Set/get signal radio identifier.
It should be noted that the Radio ID differs from HLA, in that here a radio is identified through both the entity ID and radio ID, which is an integer. In HLA, the radio ID is simply a string that describes the object name of the radio object.
| void DtSignalPdu::setSampleRate | ( | long | rate | ) |
Set/get signal sample rate.
| void DtSignalPdu::setTdlType | ( | int | type | ) |
Set/get signal TDL type.
| int DtSignalPdu::tdlType | ( | ) | const |
Set/get signal TDL type.
|
protected |