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 Attributes
DtSignalInteraction Class Reference

Instances of DtSignalInteraction are used to represent RadioSignal RPR FOM Interactions. More...

+ Inheritance diagram for DtSignalInteraction:
+ Collaboration diagram for DtSignalInteraction:

Public Member Functions

 DtSignalInteraction ()
 Default constructor. More...
 
virtual ~DtSignalInteraction ()
 Destructor. More...
 
 DtSignalInteraction (const DtSignalInteraction &orig)
 Copy constructor. More...
 
DtSignalInteractionoperator= (const DtSignalInteraction &orig)
 Assignment operator. More...
 
virtual void printData () const
 Print the interaction's data. More...
 
virtual void printDataToStream (std::ostream &stream) const
 Print the interaction's data to a stream. More...
 
virtual void setNumSamples (DtU32 count)
 Set/Get sample count. More...
 
virtual DtU32 numSamples () const
 
virtual void setTdlType (DtTacticalDataLinkType link)
 Set/Get tactical data link. More...
 
virtual DtTacticalDataLinkType tdlType () const
 
virtual unsigned long streamTag (DtLongWordPortion upperLower=DtLowerWord) const
 Get either the upper or lower word of the 64 bit StreamTag. More...
 
virtual const char * name () const
 Name of the interaction. (Not necessarily the ClassName from the FOM.) More...
 
virtual void setRadioId (const DtGlobalObjectDesignator &id)
 Set/Get Host radio id. More...
 
virtual const
DtGlobalObjectDesignator
radioId () const
 Set/Get Host radio id. More...
 
virtual void setSampleRate (DtU32 rate)
 Set/Get sample rate. More...
 
virtual DtU32 sampleRate () const
 Set/Get sample rate. More...
 
virtual void setNumDataBytes (DtU16 len)
 Set/Get signal data length in bytes. More...
 
virtual DtU16 numDataBytes () const
 Set/Get signal data length in bytes. More...
 
virtual void setNumDataBits (DtU16 len)
 Set/Get signal data length in bits. More...
 
virtual DtU16 numDataBits () const
 Set/Get signal data length in bits. More...
 
virtual void setData (const void *data, int numBytes)
 Set/Get signal data. More...
 
virtual const void * data () const
 Set/Get signal data. More...
 
virtual DtU8 dataByte (int byteNum) const
 Set/Get the byteNum'th data byte. More...
 
virtual void setDataByte (int byteNum, DtU8 data)
 Set/Get the byteNum'th data byte. More...
 
virtual void setEncodingType (DtEncodingType encoding)
 Set/Get encoding type. More...
 
virtual DtEncodingType encodingType () const
 Set/Get encoding type. More...
 
virtual DtEncodingClass encodingClass () const
 Set/Get encoding class. More...
 
virtual void setEncodingClass (DtEncodingClass encodingClass)
 Set/Get encoding class. More...
 
virtual void setTdlMessageCount (DtU16 count)
 Set/Get TDL message count. More...
 
virtual DtU16 tdlMessageCount () const
 Set/Get TDL message count. More...
 
virtual void setProtocolId (DtUserProtocol id)
 Set/Get user protocol id. More...
 
virtual DtUserProtocol protocolId () const
 Set/Get user protocol id. More...
 
virtual void setDatabaseIndex (DtU32 index)
 Set/Get database index. More...
 
virtual DtU32 databaseIndex () const
 Set/Get database index. More...
 
virtual void setDuration (DtU32 duration)
 Set/Get duration. More...
 
virtual DtU32 duration () const
 Set/Get duration. More...
 
virtual void setStartOffset (DtU32 offset)
 Set/Get start offset. More...
 
virtual DtU32 startOffset () const
 Set/Get start offset. More...
 
virtual void setStreamTag (unsigned long upper, unsigned long lower)
 Set the Stream Tag, either as upper and lower word, or as full 64 bit integer. More...
 
virtual void setStreamTag (unsigned long st)
 Set the Stream Tag, either as upper and lower word, or as full 64 bit integer. More...
 
- Public Member Functions inherited from DtInteractionWithEncDec
 DtInteractionWithEncDec ()
 default constructor More...
 
virtual ~DtInteractionWithEncDec ()
 destructor More...
 
 DtInteractionWithEncDec (const DtInteractionWithEncDec &orig)
 copy constructor More...
 
DtInteractionWithEncDecoperator= (const DtInteractionWithEncDec &orig)
 assignment operator More...
 
virtual void setExConn (DtExerciseConn *exConn, DtInterClassDesc *classDesc=NULL)
 Sets the interaction's ExerciseConn and class descriptor. More...
 
virtual const
RTI::ParameterHandleValuePairSet & 
phvps () const
 Get the parameter handle value pair set for the interaction. More...
 
virtual void setFromPhvps (const RTI::ParameterHandleValuePairSet &pvList)
 Set contents from a parameter handle value pair set. More...
 
virtual void useThese (DtInteractionEncoder *enc, DtInteractionDecoder *dec, DtInteractionRep *data)
 Specify an encoder, decoder, and interaction data repository to use in encoding and decoding. More...
 
virtual DtInteractionEncoderencoder () const
 Return the encoder we are using. More...
 
virtual DtInteractionDecoderdecoder () const
 Return the decoder we are using. More...
 
virtual void setParameterByHandle (const RTI::ParameterHandle &attrHdl, const char *attrValue, unsigned size)
 Set the Parameter with the given handle. More...
 
virtual const char * getParameterByHandle (const RTI::ParameterHandle &attrHdl, unsigned &size) const
 Get a pointer to Parameter value for the Parameter with the given handle. More...
 
virtual void setParameterByName (const DtString &name, const char *attrValue, unsigned size)
 Set the Parameter with the given name. More...
 
virtual const char * getParameterByName (const DtString &name, unsigned &size) const
 Get a pointer to Parameter value for the Parameter with the given name. More...
 
- Public Member Functions inherited from DtInteraction
 DtInteraction ()
 default constructor More...
 
virtual ~DtInteraction ()
 destructor More...
 
 DtInteraction (const DtInteraction &orig)
 copy constructor More...
 
DtInteractionoperator= (const DtInteraction &orig)
 assignment operator More...
 
virtual RTI::InteractionClassHandle interactionClassHandle () const
 Get the interaction class handle. Returns 0 if no classDesc. More...
 
virtual char * interactionClassName () const
 Get the interaction class name. Returns NULL if no classDesc. More...
 
virtual int numParameters () const
 Get the number of parameters. Returns 0 if no classDesc. More...
 
virtual bool neededByFederation () const
 Returns true if the interaction class is needed by the federation false otherwise. More...
 
virtual void print () const
 Print the interaction's host rep data, including header. More...
 
virtual void printToStream (std::ostream &stream) const
 Print the interaction to a stream. More...
 
virtual void printHeader () const
 Print the header info. More...
 
virtual void printHeaderToStream (std::ostream &stream) const
 Print the header info to a stream. More...
 
virtual void printDataToString (DtString &buff) const
 Print the interaction's data to the string provided. More...
 
virtual void printParams (bool withHex) const
 Print the header followed by the interaction's parameters. More...
 
virtual void printParamsToStream (std::ostream &stream, bool withHex) const
 Print the header followed by the interaction's parameters to a stream. More...
 
virtual DtExerciseConnexerciseConn () const
 Get the current exercise connection. More...
 
virtual DtInterClassDescclassDesc () const
 Get the current class descriptor we're using for this interaction. More...
 
virtual bool customTagSet () const
 Get whether a custom tag has been set on the interaction or not. More...
 
virtual void setCustomTag (const DtString &a_tag)
 Set the user-defined tag. More...
 
virtual void setTag (const DtString &tag)
 Set the user-defined tag. More...
 
virtual const DtStringtag () const
 Get the user-defined tag. More...
 
virtual const RTI::Region * conveyedRegion () const
 Get & Set the conveyed region of the reflected state message. More...
 
virtual void setConveyedRegion (const RTI::Region *region)
 
virtual void setTimeStamp (DtTime time, DtTimeStampType type=DtTimeStampRelative)
 Set the time of validity of the message, and whether this represents relative or absolute time. More...
 
virtual DtTime timeStamp () const
 Return the time of validity of the message (in seconds past an hour) as set by setTimeStamp. More...
 
virtual DtTimeStampType timeStampType () const
 Return the type of the time stamp. More...
 
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. More...
 
virtual void setFedTime (const RTI::FedTime &ft)
 This is used for TSO interactions. More...
 
virtual const RTI::FedTime * fedTime () const
 When the interaction is received, if the federate sending the interaction had TSO set then the fedTime will be set. More...
 
virtual void setEventRetractionHandle (const RTI::EventRetractionHandle &handle)
 Get/Set the EventRetractionHandle. More...
 
virtual RTI::EventRetractionHandle eventRetractionHandle () const
 Get the event retraction handle. For more info see setEventRetractionHandle. More...
 

Static Public Member Functions

static DtInteractioncreate ()
 Create a DtSignalInteraction. More...
 
static void addCallback (DtExerciseConn *conn, DtSignalInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
 Add (register)/Remove (deregister) function to be called when interaction occurs. More...
 
static void removeCallback (DtExerciseConn *conn, DtSignalInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
 
- Static Public Member Functions inherited from DtInteraction
static void setTagIsAsciiTime (bool val)
 Set/Get flag that tells us whether we're using the RPR FOM convention that the UserDefinedTag in updates and interactions represents a DIS-style timestamp. More...
 
static bool tagIsAsciiTime ()
 
static void addCallback (DtExerciseConn *conn, const std::set< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
 Register/Deregister callback function cb with conn, on all interaction class name (char*) contained in classes. More...
 
static void removeCallback (DtExerciseConn *conn, const std::set< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
 
static void addCallback (DtExerciseConn *conn, const char *className, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
 Can be used instead of above for a single class. More...
 
static void removeCallback (DtExerciseConn *conn, const char *className, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
 

Protected Attributes

DtGlobalObjectDesignator myHostRadioId
 
DtU16 mySignalDataLength
 
DtU8mySignalData
 bits More...
 
DtTacticalDataLinkType myTacticalDataLink
 
DtU16 myTDLMessageCount
 
DtUserProtocol myUserProtocolId
 
DtU32 myDatabaseIndex
 
DtU32 myDuration
 
DtU32 myStartOffset
 
DtEncodingType myEncodingType
 
DtEncodingClass myEncodingClass
 
DtU32 mySampleRate
 
DtU32 mySampleCount
 
DtU32 myStreamTagHi
 Stream tag unsigned long long. More...
 
DtU32 myStreamTagLo
 
- Protected Attributes inherited from DtInteractionWithEncDec
DtInteractionDecodermyDecoder
 
DtInteractionEncodermyEncoder
 
DtInteractionRep * myData
 
std::map< RTI::ParameterHandle,
DtGenericParameterInfo * > 
myParametersByHandle
 parameters by handle. More...
 
- Protected Attributes inherited from DtInteraction
DtInterClassDescmyClassDesc
 
DtExerciseConnmyExConn
 
DtTime myTime
 
DtTimeStampType myTimeType
 
DtString myTag
 
RTI::ParameterHandleValuePairSet * myPvList
 
int myPvListMaxSize
 
RTI::FedTime * myFedTime
 
RTI::EventRetractionHandle myRetractionHandle
 
const RTI::Region * myConveyedRegion
 
bool myCustomTagSet
 

Additional Inherited Members

- Protected Member Functions inherited from DtInteractionWithEncDec
virtual DtInteractionDecodercreateDecoder (DtExerciseConn *exConn) const
 Called by decoderToUse to obtain a new'ed decoder. More...
 
virtual DtInteractionEncodercreateEncoder (DtExerciseConn *exConn) const
 Called by encoderToUse to obtain a new'ed encoder. More...
 
virtual DtInteractionDecoderdecoderToUse (DtExerciseConn *exConn) const
 Returns a decoder to use for decoding the interaction. More...
 
virtual DtInteractionEncoderencoderToUse (DtExerciseConn *exConn) const
 Returns an encoder to use for encoding the interaction. More...
 
- Protected Member Functions inherited from DtInteraction
virtual const char * interactionClassToUse (DtExerciseConn *exConn) const
 Returns the FOM interaction class name to use. More...
 
virtual
RTI::ParameterHandleValuePairSet * 
privPvList () const
 Returns a pointer to a private pvList that can be used as a return value by phvps. More...
 
DtInteractionself () const
 Get rid of const-ness on the "this" pointer in order to access non-const functions from const member functions (such as simple accessors). More...
 
- Static Protected Attributes inherited from DtInteraction
static bool theTagIsAsciiTime
 

Detailed Description

Instances of DtSignalInteraction are used to represent RadioSignal RPR FOM Interactions.

The particular type of Signal interaction that is sent (Application Specific, Database Index, Encoded Audio, or Raw Binary) is determined by the encoding class.

Constructor & Destructor Documentation

DtSignalInteraction::DtSignalInteraction ( )

Default constructor.

virtual DtSignalInteraction::~DtSignalInteraction ( )
virtual

Destructor.

DtSignalInteraction::DtSignalInteraction ( const DtSignalInteraction orig)

Copy constructor.

Member Function Documentation

static void DtSignalInteraction::addCallback ( DtExerciseConn conn,
DtSignalInteractionCb  cb,
void *  usr,
DtDDMRegionSP  region = DtDDMRegionSP() 
)
static

Add (register)/Remove (deregister) function to be called when interaction occurs.

static DtInteraction* DtSignalInteraction::create ( )
static

Create a DtSignalInteraction.

Caller is responsible for deletion.

virtual const void* DtSignalInteraction::data ( ) const
virtual

Set/Get signal data.

virtual DtU32 DtSignalInteraction::databaseIndex ( ) const
virtual

Set/Get database index.

This is only applicable to Database Index radio signals. In DIS, this value is packed into data bytes 0-3 of the signal data. These methods are not protocol-independent: they only exist in HLA, as this is set in the data portion of a DIS radio signal PDU.

virtual DtU8 DtSignalInteraction::dataByte ( int  byteNum) const
virtual

Set/Get the byteNum'th data byte.

virtual DtU32 DtSignalInteraction::duration ( ) const
virtual

Set/Get duration.

This is only applicable to Database Index radio signals. In DIS, this value is packed into data bytes 8-11 of the signal data. These methods are not protocol-independent: they only exist in HLA, as this is set in the data portion of a DIS radio signal PDU.

virtual DtEncodingClass DtSignalInteraction::encodingClass ( ) const
virtual

Set/Get encoding class.

This determines the particular type of RPR FOM radio signal sent, if using the default RPR FOM Mapper.

virtual DtEncodingType DtSignalInteraction::encodingType ( ) const
virtual

Set/Get encoding type.

virtual const char* DtSignalInteraction::name ( ) const
virtual
virtual DtU16 DtSignalInteraction::numDataBits ( ) const
virtual

Set/Get signal data length in bits.

virtual DtU16 DtSignalInteraction::numDataBytes ( ) const
virtual

Set/Get signal data length in bytes.

virtual DtU32 DtSignalInteraction::numSamples ( ) const
virtual
DtSignalInteraction& DtSignalInteraction::operator= ( const DtSignalInteraction orig)

Assignment operator.

virtual void DtSignalInteraction::printData ( ) const
virtual

Print the interaction's data.

Reimplemented from DtInteraction.

virtual void DtSignalInteraction::printDataToStream ( std::ostream &  stream) const
virtual
virtual DtUserProtocol DtSignalInteraction::protocolId ( ) const
virtual

Set/Get user protocol id.

This is only applicable to Application Specific radio signals. In DIS, this value is contained in the first 32 bits of the signal data. These methods are not protocol-independent: they only exist in HLA, as this is set in the data portion of a DIS radio signal PDU.

virtual const DtGlobalObjectDesignator& DtSignalInteraction::radioId ( ) const
virtual

Set/Get Host radio id.

It should be noted that this is not protocol independent. In DIS, the radio a signal is associated with is determined through the entity ID and radio ID (which is an integer in DIS), as opposed to a string in HLA.

static void DtSignalInteraction::removeCallback ( DtExerciseConn conn,
DtSignalInteractionCb  cb,
void *  usr,
DtDDMRegionSP  region = DtDDMRegionSP() 
)
static
virtual DtU32 DtSignalInteraction::sampleRate ( ) const
virtual

Set/Get sample rate.

virtual void DtSignalInteraction::setData ( const void *  data,
int  numBytes 
)
virtual

Set/Get signal data.

virtual void DtSignalInteraction::setDatabaseIndex ( DtU32  index)
virtual

Set/Get database index.

This is only applicable to Database Index radio signals. In DIS, this value is packed into data bytes 0-3 of the signal data. These methods are not protocol-independent: they only exist in HLA, as this is set in the data portion of a DIS radio signal PDU.

virtual void DtSignalInteraction::setDataByte ( int  byteNum,
DtU8  data 
)
virtual

Set/Get the byteNum'th data byte.

virtual void DtSignalInteraction::setDuration ( DtU32  duration)
virtual

Set/Get duration.

This is only applicable to Database Index radio signals. In DIS, this value is packed into data bytes 8-11 of the signal data. These methods are not protocol-independent: they only exist in HLA, as this is set in the data portion of a DIS radio signal PDU.

virtual void DtSignalInteraction::setEncodingClass ( DtEncodingClass  encodingClass)
virtual

Set/Get encoding class.

This determines the particular type of RPR FOM radio signal sent, if using the default RPR FOM Mapper.

virtual void DtSignalInteraction::setEncodingType ( DtEncodingType  encoding)
virtual

Set/Get encoding type.

virtual void DtSignalInteraction::setNumDataBits ( DtU16  len)
virtual

Set/Get signal data length in bits.

virtual void DtSignalInteraction::setNumDataBytes ( DtU16  len)
virtual

Set/Get signal data length in bytes.

virtual void DtSignalInteraction::setNumSamples ( DtU32  count)
virtual

Set/Get sample count.

virtual void DtSignalInteraction::setProtocolId ( DtUserProtocol  id)
virtual

Set/Get user protocol id.

This is only applicable to Application Specific radio signals. In DIS, this value is contained in the first 32 bits of the signal data. These methods are not protocol-independent: they only exist in HLA, as this is set in the data portion of a DIS radio signal PDU.

virtual void DtSignalInteraction::setRadioId ( const DtGlobalObjectDesignator id)
virtual

Set/Get Host radio id.

It should be noted that this is not protocol independent. In DIS, the radio a signal is associated with is determined through the entity ID and radio ID (which is an integer in DIS), as opposed to a string in HLA.

virtual void DtSignalInteraction::setSampleRate ( DtU32  rate)
virtual

Set/Get sample rate.

virtual void DtSignalInteraction::setStartOffset ( DtU32  offset)
virtual

Set/Get start offset.

This is only applicable to Database Index radio signals. In DIS, this value is packed into data bytes 4-7 of the signal data. These methods are not protocol-independent: they only exist in HLA, as this is set in the data portion of a DIS radio signal PDU.

virtual void DtSignalInteraction::setStreamTag ( unsigned long  upper,
unsigned long  lower 
)
virtual

Set the Stream Tag, either as upper and lower word, or as full 64 bit integer.

This is used in the RPR 2 draft 17 encoding of the AudioData attribute of EncodedAudio radio signals.

virtual void DtSignalInteraction::setStreamTag ( unsigned long  st)
virtual

Set the Stream Tag, either as upper and lower word, or as full 64 bit integer.

This is used in the RPR 2 draft 17 encoding of the AudioData attribute of EncodedAudio radio signals.

virtual void DtSignalInteraction::setTdlMessageCount ( DtU16  count)
virtual

Set/Get TDL message count.

This is applicable to DatabaseIndex radio signals in HLA, and is contained in the Encoding Type of DIS radio signals.

virtual void DtSignalInteraction::setTdlType ( DtTacticalDataLinkType  link)
virtual

Set/Get tactical data link.

virtual DtU32 DtSignalInteraction::startOffset ( ) const
virtual

Set/Get start offset.

This is only applicable to Database Index radio signals. In DIS, this value is packed into data bytes 4-7 of the signal data. These methods are not protocol-independent: they only exist in HLA, as this is set in the data portion of a DIS radio signal PDU.

virtual unsigned long DtSignalInteraction::streamTag ( DtLongWordPortion  upperLower = DtLowerWord) const
virtual

Get either the upper or lower word of the 64 bit StreamTag.

This is used in the RPR 2 draft 17 encoding of the AudioData attribute of EncodedAudio radio signals.

virtual DtU16 DtSignalInteraction::tdlMessageCount ( ) const
virtual

Set/Get TDL message count.

This is applicable to DatabaseIndex radio signals in HLA, and is contained in the Encoding Type of DIS radio signals.

virtual DtTacticalDataLinkType DtSignalInteraction::tdlType ( ) const
virtual

Member Data Documentation

DtU32 DtSignalInteraction::myDatabaseIndex
protected
DtU32 DtSignalInteraction::myDuration
protected
DtEncodingClass DtSignalInteraction::myEncodingClass
protected
DtEncodingType DtSignalInteraction::myEncodingType
protected
DtGlobalObjectDesignator DtSignalInteraction::myHostRadioId
protected
DtU32 DtSignalInteraction::mySampleCount
protected
DtU32 DtSignalInteraction::mySampleRate
protected
DtU8* DtSignalInteraction::mySignalData
protected

bits

DtU16 DtSignalInteraction::mySignalDataLength
protected
DtU32 DtSignalInteraction::myStartOffset
protected
DtU32 DtSignalInteraction::myStreamTagHi
protected

Stream tag unsigned long long.

DtU32 DtSignalInteraction::myStreamTagLo
protected
DtTacticalDataLinkType DtSignalInteraction::myTacticalDataLink
protected
DtU16 DtSignalInteraction::myTDLMessageCount
protected
DtUserProtocol DtSignalInteraction::myUserProtocolId
protected

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

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)