VR-Link API Documentation for DIS
 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
DtRelativeLocationPdu Class Reference

Instances of DtRelativeLocationPdu are used to convey the fact that one unit is located at a position relative to another unit's world location. More...

+ Inheritance diagram for DtRelativeLocationPdu:
+ Collaboration diagram for DtRelativeLocationPdu:

Public Member Functions

 DtRelativeLocationPdu (DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER)
 The blank constructor creates a blank DtRelativeLocationPdu ready to be filled out and sent by application code.
 DtRelativeLocationPdu (const DtNetRelativeLocationPdu *initial, DtBufferPtr buffer=DtUSE_INTERNAL_BUFFER, DtPduFactory *pduFactory=0)
 The from-network-representation constructor makes a PDU from an already filled out buffer containing the exact bytes that represent this type of PDU.
virtual ~DtRelativeLocationPdu ()
 Destructor.
 DtRelativeLocationPdu (const DtRelativeLocationPdu &orig)
 Copy Constructor.
DtRelativeLocationPduoperator= (const DtRelativeLocationPdu &orig)
 Assignment operator.
virtual void printData () const
 Print data function override prints out readable text representing the PDU instead of the raw hex.
virtual void printDataToStream (std::ostream &stream) const
 Print the data to a stream.
virtual DtNetRelativeLocationPdunetworkRepresentation ()
 To make writing inspector/mutator functions easier these next two functions return a pointer to the PDU's network representation by casting the value returned by the base class' packet() function into a DtNetRelativeLocationPdu.
virtual const
DtNetRelativeLocationPdu
networkRepresentation () const
virtual void setId (const DtEntityIdentifier &id)
 Set/Get Object Identifier of issuing unit.
virtual const DtEntityIdentifierid () const
virtual void setHostId (const DtEntityIdentifier &id)
 Set/Get Object Identifier of host unit.
virtual const DtEntityIdentifierhostId () const
virtual void setRelativeAlgorithm (DtDeadReckonTypes alg)
 Set/Get dead reckoning algorithm.
virtual DtDeadReckonTypes relativeAlgorithm () const
virtual void setRelativeLocation (const DtVector &loc)
 Set/Get the unit's world location.
virtual const DtVectorrelativeLocation () const
virtual void setRelativeVelocity (const DtVector &vel)
 Set/Get the unit's velocity.
virtual const DtVectorrelativeVelocity () const
virtual void setRelativeAcceleration (const DtVector &accel)
 Set/Get the unit's acceleration.
virtual const DtVectorrelativeAcceleration () const
virtual void setRelativeOrientation (const DtTaitBryan &orient)
 Set/Get the unit's orientation.
virtual const DtTaitBryanrelativeOrientation () const
virtual void setRelativeRotationalVelocity (const DtVector &vel)
 Set/Get the unit's average acceleration.
virtual const DtVectorrelativeRotationalVelocity () const
virtual void setNature (DtNature value)
 Set/Get the units nature.
virtual DtNature nature () const
virtual void setPartPosition (DtPosition value)
 Set/Get the unit's position.
virtual DtPosition partPosition () const
virtual void setStationName (DtStationName value)
 Set/Get the unit's station name.
virtual DtStationName stationName () const
virtual void setStationNumber (DtU16 value)
 Set/Get the unit's station number.
virtual DtU16 stationNumber () const
- 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 DtPduWithAttributeRecordSets
 DtPduWithAttributeRecordSets ()
 Constructor.
 DtPduWithAttributeRecordSets (const DtPduWithAttributeRecordSets &orig)
 Constructor.
DtPduWithAttributeRecordSetsoperator= (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 std::vector
< DtStandardVariableRecord * > & 
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 std::vector
< DtStandardVariableRecord * > 
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 DtSimulationAddressattributePduSimulationAddress () 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)
- 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 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.
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 buiffer=DtUSE_INTERNAL_BUFFER, DtPduFactory *pduFactory=0)
 Create and return a new DtRelativeLocationPdu.
static void addCallback (DtExerciseConn *conn, DtRelativeLocationPduCb cb, void *usr)
 Wrappers around DtExerciseConn's add/removeCallback functions.
static void removeCallback (DtExerciseConn *conn, DtRelativeLocationPduCb cb, void *usr)

Protected Member Functions

virtual DtPduKind internalGetPduKind () const
 Returns the PDU kind associated with the PDU class.
DtRelativeLocationPduself () const
 Casts the 'this' pointer for changing elements in a const function.

Protected Attributes

DtEntityIdentifier myEntityId
 These objects are for "reference returns".
DtEntityIdentifier myHostId
DtVector myRelativeLocation
DtVector myRelativeVelocity
DtVector myRelativeAcceleration
DtTaitBryan myRelativeOrientation
DtVector myRelativeRotationalVelocity

Detailed Description

Instances of DtRelativeLocationPdu are used to convey the fact that one unit is located at a position relative to another unit's world location.

Useful for having units mounted on other units etc.

Constructor & Destructor Documentation

DtRelativeLocationPdu::DtRelativeLocationPdu ( DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER)

The blank constructor creates a blank DtRelativeLocationPdu ready to be filled out and sent by application code.

DtRelativeLocationPdu::DtRelativeLocationPdu ( const DtNetRelativeLocationPdu initial,
DtBufferPtr  buffer = DtUSE_INTERNAL_BUFFER,
DtPduFactory pduFactory = 0 
)

The from-network-representation constructor makes a PDU from an already filled out buffer containing the exact bytes that represent this type of PDU.

This constructor is used by VR-Link to create an instance of this class from PDU data received from the network.

virtual DtRelativeLocationPdu::~DtRelativeLocationPdu ( )
virtual

Destructor.

DtRelativeLocationPdu::DtRelativeLocationPdu ( const DtRelativeLocationPdu orig)

Copy Constructor.

Member Function Documentation

static void DtRelativeLocationPdu::addCallback ( DtExerciseConn conn,
DtRelativeLocationPduCb  cb,
void *  usr 
)
static

Wrappers around DtExerciseConn's add/removeCallback functions.

The DtExerciseConn functions could be used instead but this keeps the non-typesafe cast limited to this one place. In addition within addCallback, this class' create function is registered with VR-Link, letting VR-Link know to create one of these to represent the right kind of PDU.

static DtPdu* DtRelativeLocationPdu::create ( const DtNetPacket initial,
DtBufferPtr  buiffer = DtUSE_INTERNAL_BUFFER,
DtPduFactory pduFactory = 0 
)
static

Create and return a new DtRelativeLocationPdu.

Basically a wrapper around a constructor. Necessary because pointers to static functions like this can be registered with a DtPduFactory (which tells VR-Link how to construct an instance of a particular kind of PDU) but constructors can not.

virtual const DtEntityIdentifier& DtRelativeLocationPdu::hostId ( ) const
virtual
virtual const DtEntityIdentifier& DtRelativeLocationPdu::id ( ) const
virtual
virtual DtPduKind DtRelativeLocationPdu::internalGetPduKind ( ) const
protectedvirtual

Returns the PDU kind associated with the PDU class.

This value goes in the header of all instances of this PDU class.

Implements DtPdu.

virtual DtNature DtRelativeLocationPdu::nature ( ) const
virtual
virtual DtNetRelativeLocationPdu* DtRelativeLocationPdu::networkRepresentation ( )
virtual

To make writing inspector/mutator functions easier these next two functions return a pointer to the PDU's network representation by casting the value returned by the base class' packet() function into a DtNetRelativeLocationPdu.

virtual const DtNetRelativeLocationPdu* DtRelativeLocationPdu::networkRepresentation ( ) const
virtual
DtRelativeLocationPdu& DtRelativeLocationPdu::operator= ( const DtRelativeLocationPdu orig)

Assignment operator.

virtual DtPosition DtRelativeLocationPdu::partPosition ( ) const
virtual
virtual void DtRelativeLocationPdu::printData ( ) const
virtual

Print data function override prints out readable text representing the PDU instead of the raw hex.

Reimplemented from DtPdu.

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

Print the data to a stream.

Reimplemented from DtPdu.

virtual const DtVector& DtRelativeLocationPdu::relativeAcceleration ( ) const
virtual
virtual DtDeadReckonTypes DtRelativeLocationPdu::relativeAlgorithm ( ) const
virtual
virtual const DtVector& DtRelativeLocationPdu::relativeLocation ( ) const
virtual
virtual const DtTaitBryan& DtRelativeLocationPdu::relativeOrientation ( ) const
virtual
virtual const DtVector& DtRelativeLocationPdu::relativeRotationalVelocity ( ) const
virtual
virtual const DtVector& DtRelativeLocationPdu::relativeVelocity ( ) const
virtual
static void DtRelativeLocationPdu::removeCallback ( DtExerciseConn conn,
DtRelativeLocationPduCb  cb,
void *  usr 
)
static
DtRelativeLocationPdu* DtRelativeLocationPdu::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 void DtRelativeLocationPdu::setHostId ( const DtEntityIdentifier id)
virtual

Set/Get Object Identifier of host unit.

virtual void DtRelativeLocationPdu::setId ( const DtEntityIdentifier id)
virtual

Set/Get Object Identifier of issuing unit.

virtual void DtRelativeLocationPdu::setNature ( DtNature  value)
virtual

Set/Get the units nature.

virtual void DtRelativeLocationPdu::setPartPosition ( DtPosition  value)
virtual

Set/Get the unit's position.

virtual void DtRelativeLocationPdu::setRelativeAcceleration ( const DtVector accel)
virtual

Set/Get the unit's acceleration.

virtual void DtRelativeLocationPdu::setRelativeAlgorithm ( DtDeadReckonTypes  alg)
virtual

Set/Get dead reckoning algorithm.

virtual void DtRelativeLocationPdu::setRelativeLocation ( const DtVector loc)
virtual

Set/Get the unit's world location.

virtual void DtRelativeLocationPdu::setRelativeOrientation ( const DtTaitBryan orient)
virtual

Set/Get the unit's orientation.

virtual void DtRelativeLocationPdu::setRelativeRotationalVelocity ( const DtVector vel)
virtual

Set/Get the unit's average acceleration.

virtual void DtRelativeLocationPdu::setRelativeVelocity ( const DtVector vel)
virtual

Set/Get the unit's velocity.

virtual void DtRelativeLocationPdu::setStationName ( DtStationName  value)
virtual

Set/Get the unit's station name.

virtual void DtRelativeLocationPdu::setStationNumber ( DtU16  value)
virtual

Set/Get the unit's station number.

virtual DtStationName DtRelativeLocationPdu::stationName ( ) const
virtual
virtual DtU16 DtRelativeLocationPdu::stationNumber ( ) const
virtual

Member Data Documentation

DtEntityIdentifier DtRelativeLocationPdu::myEntityId
protected

These objects are for "reference returns".

DtEntityIdentifier DtRelativeLocationPdu::myHostId
protected
DtVector DtRelativeLocationPdu::myRelativeAcceleration
protected
DtVector DtRelativeLocationPdu::myRelativeLocation
protected
DtTaitBryan DtRelativeLocationPdu::myRelativeOrientation
protected
DtVector DtRelativeLocationPdu::myRelativeRotationalVelocity
protected
DtVector DtRelativeLocationPdu::myRelativeVelocity
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)