MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
MAKLogger::DtLgrHlaSimOutput Class Reference

Hla specific simulation output responsible for sending messages converted from packets. More...

+ Inheritance diagram for MAKLogger::DtLgrHlaSimOutput:
+ Collaboration diagram for MAKLogger::DtLgrHlaSimOutput:

Public Member Functions

virtual ~DtLgrHlaSimOutput ()
 
virtual
DtLgrSimOutput::PacketSenderType 
packetSenderType (const DtPacket &) const
 Return the packet sender type of the specified packet. More...
 
virtual void disconnecting ()
 Called when the connection is being lost. More...
 
virtual void activateImplementation ()
 Perform protocol-specific activation. More...
 
virtual void deactivateImplementation ()
 Perform protocol-specific deactivation. More...
 
virtual void flush ()
 Flush output. More...
 
virtual const DtMessageIOInfoinfo () const
 Return the output's ioinfo. More...
 
virtual void setOutputScaling (double scaling, bool enableStatic, bool isPaused=false)
 Set an output scaling value and static indicator. More...
 
virtual void filterMessage (DtPacket *packet)
 Apply filter flags to message buffer. More...
 
virtual bool applyTrafficAnalyzerFilter (DtHLAGenericPublisher &genPub)
 Apply the Traffic Analyzer filters on the given publisher Return bool: given publisher matches a Traffic Analyzer filter (i.e., should not be published)? More...
 
virtual void removeEntity (const DtLgrHlaHandle handle)
 Remove an entity using its handle. More...
 
virtual unsigned int getInteractionConveyedRegionSet (const DtConstLgrHlaMessage &info, DtDDMRegionSet &regionSet)
 Get the interaction conveyed region set from the packet Return the number of regions in the set. More...
 
virtual unsigned int getInteractionRegionSetFromData (const DtConstLgrHlaMessage &info, const DtInteraction *interaction, DtDDMRegionSet &regionSet)
 Get and modify the interaction region set using the interaction data Return the number of regions in the set. More...
 
virtual unsigned int getInteractionRegionSet (const DtConstLgrHlaMessage &info, DtInteraction *interaction, DtDDMRegionSet &regionSet)
 Get the interaction region set for the interaction Return the number of regions in the set. More...
 
virtual bool getPublisherRegionSetFromData (const DtPacket &info, DtDDMRegionSet &regionSet)
 Get region set for this packet's entity publisher (when using playback region uses sim data). More...
 
virtual unsigned int getObjectConveyedRegionSet (const DtConstLgrHlaMessage &info, DtDDMRegionSet &regionSet)
 Get the object conveyed region set from the packet Return the number of regions in the set. More...
 
virtual DtExerciseConnexerciseConn ()
 The manager's exercise connection. More...
 
virtual const DtExerciseConnexerciseConn () const
 The manager's exercise connection const. More...
 
bool cacheInteractionRegionsEnabled () const
 Accessor/Mutator for the caching interaction region sets. More...
 
void setCacheInteractionRegionsEnabled (bool val)
 Accessor/Mutator for the caching interaction region sets. More...
 
bool cacheObjectRegionsEnabled () const
 Accessor/Mutator for the caching object region sets. More...
 
void setCacheObjectRegionsEnabled (bool val)
 Accessor/Mutator for the caching object region sets. More...
 
virtual void setExConnSimTime (DtTime time)
 Set/Get the exercise connection simTime. More...
 
virtual DtTime exConnSimTime () const
 Set/Get the exercise connection simTime. More...
 
- Public Member Functions inherited from MAKLogger::DtLgrSimOutput
 DtLgrSimOutput (DtLgrSimManager &manager)
 CTOR. More...
 
virtual ~DtLgrSimOutput ()
 DTOR. More...
 
virtual void activate (const DtMessageInput *msgInput)
 Activate the output. More...
 
virtual bool isActivated () const
 Get whether the output is active. More...
 
virtual void deactivate ()
 Deactivate the output. More...
 
virtual bool outputPacket (const DtPacket &packet)
 Apply filter flags to message buffer. More...
 
virtual void filterMessageAllowingCheckpoints (DtPacket *packet)
 Apply filter flags to message buffer, allowing checkpoints. More...
 
virtual bool sentPackets ()
 Has the output sent packets since last call to sentPackets. More...
 
virtual bool isDynamicMetaData (DtPacket *packet)
 Returns true of the packet is a checkpoint, pause, or unpause packet. More...
 
virtual void setOutputScaling (double scale)
 Set/Get the output scaling. More...
 
virtual double outputScaling () const
 Set/Get the output scaling. More...
 
virtual void setOutputStatic (bool isStatic)
 Set/Get the output static. More...
 
virtual bool isOutputStatic () const
 Set/Get the output static. More...
 
virtual void setOutputPaused (bool isPaused)
 Set/Get the output paused. More...
 
virtual bool isOutputPaused () const
 Set/Get the output paused. More...
 
- Public Member Functions inherited from MAKLogger::DtMessageOutput
 DtMessageOutput ()
 CTOR. More...
 
virtual ~DtMessageOutput ()
 DTOR. More...
 
virtual bool sourceTimeInclusive () const
 Get the whether input time was inclusive. More...
 
virtual void outputMessages (const DtMessageBuffer &buffer)
 Apply filter flags to message buffer. More...
 
virtual void outputMessage (const DtPacket *packet)
 Output a single message. More...
 
virtual void filterMessages (DtMessageBuffer &buffer)
 Apply filter flags to message buffer. More...
 
virtual void setSendImmediate (bool enable)
 Turn on and off sending immediate messages. More...
 
virtual void setSendRetained (bool enable)
 Turn on and off sending retained messages. More...
 
virtual void setSendInitial (bool enable)
 Turn on and off sending initial state messages. More...
 
void attachFilter (DtMessageFilter *)
 Attach a filter to the output. More...
 
void detachFilter (DtMessageFilter *)
 Detach a filter from the output. More...
 
void filters (DtCollector< DtMessageFilter * > filterCollection) const
 Return the filters associated with the output. More...
 
DtObserveEvent< DtPacket > * preOutputPacketEvent ()
 Get the event signaled before a packet is output. More...
 
DtObserveEvent< DtPacket > * postOutputPacketEvent ()
 Get the event signaled after a packet is output. More...
 
DtObserveEvent< DtPacket > * packetFilteredEvent ()
 Get the event signaled if a packet is filtered. More...
 
virtual void setSourceTime (const DtAbsoluteTime &sourceTime, bool inclusive)
 Set/Get the time boundary used to collect the the source to be processed for output. More...
 
virtual DtAbsoluteTime sourceTime () const
 Set/Get the time boundary used to collect the the source to be processed for output. More...
 

Static Public Member Functions

static void encodeIsPartOf_RPR_20014 (const DtBaseEntityStateRepository &stateRep, RTI::AttributeHandleValuePairSet *pAvList, RTI::AttributeHandle attrHandle)
 Function that does encoding specific to RPR FOM 2.0. More...
 

Protected Types

typedef std::map< DtString,
DtLgrHlaHandle
DtObjectNameMap
 Map of named handles,. More...
 
typedef std::map
< DtLgrHlaHandle,
DtLgrPublisherInterface * > 
DtObjectPublisherMap
 

Protected Member Functions

virtual void retainedSend (const DtPacket &)
 Retained message send, aka Object updates. More...
 
virtual void immediateSend (const DtPacket &) const
 Immediate send aka Interactions. More...
 
const DtLgrOnlineFomDescfom () const
 Get the fom the output is using. More...
 
virtual void sendInteractionWithRegion (const DtInteraction &interaction, const DtDDMRegionSet &regionSet) const
 Send the interaction using the given region set. More...
 
virtual void updateEntity (const DtPacket &)
 Update an entity using the packet. More...
 
virtual void removeEntity (const DtPacket &)
 Remove an entity using the packet. More...
 
virtual void tick ()
 Tick each publisher. More...
 
virtual void clearPublishers ()
 Clear any publishers from output. More...
 
virtual void getUpdates (DtMessageBuffer &stateBuffer, const DtAbsoluteTime &time)
 Fill the provided message buffer with updates using the given time from current object publishers. More...
 
virtual DtLgrPublisherInterfacecreatePublisher (const DtPacket &info)
 Create a publisher using the packet info. More...
 
virtual DtLgrPublisherInterfacedoPublish (DtLgrHlaHandle loggerObjectId, DtLgrHlaHandle loggerClassHandle, RTI::ObjectClassHandle classHandle, const char *objName, const DtDDMRegionSet *regionSetToUse, bool silent)
 Do the publish and recover when name in use / not reserved exception by letting RTI choose name. More...
 
virtual void printRegion (DtDDMRegionSP region) const
 Print out the region information. More...
 
- Protected Member Functions inherited from MAKLogger::DtLgrSimOutput
virtual void initialSend (const DtPacket &)
 Send data for an initial packet; involves decoding initial packet and passing resulting initial state messages through output process. More...
 
virtual void sendPacket (const DtPacket &)
 Send a packet. More...
 

Protected Attributes

DtLgrHlaSimulationManagermyHlaManager
 
DtObjectNameMap myObjectNameMap
 
DtObjectPublisherMap myObjectPublisherMap
 
DtLgrHlaMessageIOInfomyMessageInfo
 
double myPublisherScaling
 
bool myPublisherStatic
 
bool myIsPaused
 
DtInteractionFactory * myFactory
 
DtIDRegionMap myRegionHandleMap
 
bool myCacheInteractionRegionsEnabled
 
bool myCacheObjectRegionsEnabled
 
std::set
< DtLgrPublisherInterface * > 
myFilteredPublishers
 
- Protected Attributes inherited from MAKLogger::DtLgrSimOutput
double myOutputScaling
 The value to scale output messages. More...
 
bool myIsPaused
 Output is paused. More...
 
bool myOutputStatic
 Whether output should be static. More...
 
bool mySendPacketFlag
 
bool mySentPacketsFlag
 
DtLgrSimManagermyManager
 
bool myActivateFlag
 
- Protected Attributes inherited from MAKLogger::DtMessageOutput
std::set< DtMessageFilter * > myFilters
 
DtObserveEvent< DtPacketmyPreOutputPacketEvent
 Event called before a packet is output. More...
 
DtObserveEvent< DtPacketmyPostOutputPacketEvent
 Event called after a packet is output. More...
 
DtObserveEvent< DtPacketmyFilteredPacketEvent
 Event called if a packet is filtered. More...
 
bool mySendImmediateFlag
 Whether to send immediate messages. More...
 
bool mySendRetainedFlag
 Whether to send retained messages. More...
 
bool mySendInitialFlag
 Whether to send initial state messages. More...
 
DtAbsoluteTime mySourceTime
 The time used for collecting input. More...
 
bool mySourceTimeBoundary
 Whether the input time was inclusive or exclusive. More...
 

Additional Inherited Members

- Public Types inherited from MAKLogger::DtLgrSimOutput
enum  PacketSenderType { Immediate, Retained, Initial, NotSent }
 

Detailed Description

Hla specific simulation output responsible for sending messages converted from packets.

Member Typedef Documentation

Map of named handles,.

Constructor & Destructor Documentation

virtual MAKLogger::DtLgrHlaSimOutput::~DtLgrHlaSimOutput ( )
virtual

Member Function Documentation

virtual void MAKLogger::DtLgrHlaSimOutput::activateImplementation ( )
virtual

Perform protocol-specific activation.

Implements MAKLogger::DtLgrSimOutput.

virtual bool MAKLogger::DtLgrHlaSimOutput::applyTrafficAnalyzerFilter ( DtHLAGenericPublisher genPub)
virtual

Apply the Traffic Analyzer filters on the given publisher Return bool: given publisher matches a Traffic Analyzer filter (i.e., should not be published)?

bool MAKLogger::DtLgrHlaSimOutput::cacheInteractionRegionsEnabled ( ) const

Accessor/Mutator for the caching interaction region sets.

Since interactions are sent only once, it is more efficient to cache the regions and simply update extents (in modifyInteractionRegion). Disabling cache will create new regions each time an interaction is sent.

bool MAKLogger::DtLgrHlaSimOutput::cacheObjectRegionsEnabled ( ) const

Accessor/Mutator for the caching object region sets.

Do not cache when each object should get its own region.

virtual void MAKLogger::DtLgrHlaSimOutput::clearPublishers ( )
protectedvirtual

Clear any publishers from output.

Implements MAKLogger::DtLgrSimOutput.

virtual DtLgrPublisherInterface* MAKLogger::DtLgrHlaSimOutput::createPublisher ( const DtPacket info)
protectedvirtual

Create a publisher using the packet info.

virtual void MAKLogger::DtLgrHlaSimOutput::deactivateImplementation ( )
virtual

Perform protocol-specific deactivation.

Implements MAKLogger::DtLgrSimOutput.

virtual void MAKLogger::DtLgrHlaSimOutput::disconnecting ( )
virtual

Called when the connection is being lost.

virtual DtLgrPublisherInterface* MAKLogger::DtLgrHlaSimOutput::doPublish ( DtLgrHlaHandle  loggerObjectId,
DtLgrHlaHandle  loggerClassHandle,
RTI::ObjectClassHandle  classHandle,
const char *  objName,
const DtDDMRegionSet *  regionSetToUse,
bool  silent 
)
protectedvirtual

Do the publish and recover when name in use / not reserved exception by letting RTI choose name.

static void MAKLogger::DtLgrHlaSimOutput::encodeIsPartOf_RPR_20014 ( const DtBaseEntityStateRepository &  stateRep,
RTI::AttributeHandleValuePairSet *  pAvList,
RTI::AttributeHandle  attrHandle 
)
static

Function that does encoding specific to RPR FOM 2.0.

This function overrides behavior present in VR-Link 3.13.1 that breaks backward compatibility in the logger with applications build against older versionse of VR-Link.

virtual DtTime MAKLogger::DtLgrHlaSimOutput::exConnSimTime ( ) const
virtual

Set/Get the exercise connection simTime.

Implements MAKLogger::DtLgrSimOutput.

virtual DtExerciseConn* MAKLogger::DtLgrHlaSimOutput::exerciseConn ( )
virtual

The manager's exercise connection.

virtual const DtExerciseConn* MAKLogger::DtLgrHlaSimOutput::exerciseConn ( ) const
virtual

The manager's exercise connection const.

virtual void MAKLogger::DtLgrHlaSimOutput::filterMessage ( DtPacket packet)
virtual

Apply filter flags to message buffer.

Reimplemented from MAKLogger::DtLgrSimOutput.

virtual void MAKLogger::DtLgrHlaSimOutput::flush ( )
virtual

Flush output.

Implements MAKLogger::DtMessageOutput.

const DtLgrOnlineFomDesc& MAKLogger::DtLgrHlaSimOutput::fom ( ) const
protected

Get the fom the output is using.

virtual unsigned int MAKLogger::DtLgrHlaSimOutput::getInteractionConveyedRegionSet ( const DtConstLgrHlaMessage info,
DtDDMRegionSet &  regionSet 
)
virtual

Get the interaction conveyed region set from the packet Return the number of regions in the set.

virtual unsigned int MAKLogger::DtLgrHlaSimOutput::getInteractionRegionSet ( const DtConstLgrHlaMessage info,
DtInteraction interaction,
DtDDMRegionSet &  regionSet 
)
virtual

Get the interaction region set for the interaction Return the number of regions in the set.

virtual unsigned int MAKLogger::DtLgrHlaSimOutput::getInteractionRegionSetFromData ( const DtConstLgrHlaMessage info,
const DtInteraction interaction,
DtDDMRegionSet &  regionSet 
)
virtual

Get and modify the interaction region set using the interaction data Return the number of regions in the set.

Reimplemented in MAKLogger::DtLgrHlaDdmSimOutput.

virtual unsigned int MAKLogger::DtLgrHlaSimOutput::getObjectConveyedRegionSet ( const DtConstLgrHlaMessage info,
DtDDMRegionSet &  regionSet 
)
virtual

Get the object conveyed region set from the packet Return the number of regions in the set.

virtual bool MAKLogger::DtLgrHlaSimOutput::getPublisherRegionSetFromData ( const DtPacket info,
DtDDMRegionSet &  regionSet 
)
virtual

Get region set for this packet's entity publisher (when using playback region uses sim data).

Publisher is initialized to silent (i.e., updates not sent) if a region mapping was not established or region not fully initialized. Return bool: Region set established and regions fully initialized?

Reimplemented in MAKLogger::DtLgrHlaDdmSimOutput.

virtual void MAKLogger::DtLgrHlaSimOutput::getUpdates ( DtMessageBuffer stateBuffer,
const DtAbsoluteTime time 
)
protectedvirtual

Fill the provided message buffer with updates using the given time from current object publishers.

Implements MAKLogger::DtLgrSimOutput.

virtual void MAKLogger::DtLgrHlaSimOutput::immediateSend ( const DtPacket ) const
protectedvirtual

Immediate send aka Interactions.

Implements MAKLogger::DtLgrSimOutput.

virtual const DtMessageIOInfo* MAKLogger::DtLgrHlaSimOutput::info ( ) const
virtual

Return the output's ioinfo.

Implements MAKLogger::DtMessageOutput.

virtual DtLgrSimOutput::PacketSenderType MAKLogger::DtLgrHlaSimOutput::packetSenderType ( const DtPacket ) const
virtual

Return the packet sender type of the specified packet.

Implements MAKLogger::DtLgrSimOutput.

virtual void MAKLogger::DtLgrHlaSimOutput::printRegion ( DtDDMRegionSP  region) const
protectedvirtual

Print out the region information.

virtual void MAKLogger::DtLgrHlaSimOutput::removeEntity ( const DtLgrHlaHandle  handle)
virtual

Remove an entity using its handle.

virtual void MAKLogger::DtLgrHlaSimOutput::removeEntity ( const DtPacket )
protectedvirtual

Remove an entity using the packet.

virtual void MAKLogger::DtLgrHlaSimOutput::retainedSend ( const DtPacket )
protectedvirtual

Retained message send, aka Object updates.

Implements MAKLogger::DtLgrSimOutput.

virtual void MAKLogger::DtLgrHlaSimOutput::sendInteractionWithRegion ( const DtInteraction interaction,
const DtDDMRegionSet &  regionSet 
) const
protectedvirtual

Send the interaction using the given region set.

void MAKLogger::DtLgrHlaSimOutput::setCacheInteractionRegionsEnabled ( bool  val)

Accessor/Mutator for the caching interaction region sets.

Since interactions are sent only once, it is more efficient to cache the regions and simply update extents (in modifyInteractionRegion). Disabling cache will create new regions each time an interaction is sent.

void MAKLogger::DtLgrHlaSimOutput::setCacheObjectRegionsEnabled ( bool  val)

Accessor/Mutator for the caching object region sets.

Do not cache when each object should get its own region.

virtual void MAKLogger::DtLgrHlaSimOutput::setExConnSimTime ( DtTime  time)
virtual

Set/Get the exercise connection simTime.

Implements MAKLogger::DtLgrSimOutput.

virtual void MAKLogger::DtLgrHlaSimOutput::setOutputScaling ( double  scaling,
bool  enableStatic,
bool  isPaused = false 
)
virtual

Set an output scaling value and static indicator.

Implements MAKLogger::DtMessageOutput.

virtual void MAKLogger::DtLgrHlaSimOutput::tick ( )
protectedvirtual

Tick each publisher.

virtual void MAKLogger::DtLgrHlaSimOutput::updateEntity ( const DtPacket )
protectedvirtual

Update an entity using the packet.

Member Data Documentation

bool MAKLogger::DtLgrHlaSimOutput::myCacheInteractionRegionsEnabled
protected
bool MAKLogger::DtLgrHlaSimOutput::myCacheObjectRegionsEnabled
protected
DtInteractionFactory* MAKLogger::DtLgrHlaSimOutput::myFactory
protected
std::set<DtLgrPublisherInterface*> MAKLogger::DtLgrHlaSimOutput::myFilteredPublishers
protected
DtLgrHlaSimulationManager& MAKLogger::DtLgrHlaSimOutput::myHlaManager
protected
bool MAKLogger::DtLgrHlaSimOutput::myIsPaused
protected
DtLgrHlaMessageIOInfo* MAKLogger::DtLgrHlaSimOutput::myMessageInfo
protected
DtObjectNameMap MAKLogger::DtLgrHlaSimOutput::myObjectNameMap
protected
DtObjectPublisherMap MAKLogger::DtLgrHlaSimOutput::myObjectPublisherMap
protected
double MAKLogger::DtLgrHlaSimOutput::myPublisherScaling
protected
bool MAKLogger::DtLgrHlaSimOutput::myPublisherStatic
protected
DtIDRegionMap MAKLogger::DtLgrHlaSimOutput::myRegionHandleMap
protected

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

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)