VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtTimeManagementTranslator Class Reference

Provides time synchronization between HLA brokers. More...

Inheritance diagram for DtTimeManagementTranslator:
Inheritance graph
[legend]

Public Member Functions

 Dt_DEF_TRANSLATOR_NAME ("Time Management")
 Static translatorName method returns the translator name.
 DtTimeManagementTranslator (MAKVrExchange::DtBroker *broker)
 CTOR.
virtual ~DtTimeManagementTranslator ()
 Virtual DTOR.
virtual void enableReflectTranslator (bool enabled)
 enables or disables this translator.
virtual void tick ()
 Needs to be implemented for every translator, this is called every frame to allow the translator to do any needed processing.
virtual unsigned int numObjects () const
 Returns the current number of objects. Which is always 1 in this case - the TimeMgmtObject.
- Public Member Functions inherited from MAKVrExchange::DtBaseObjectTranslator< DtPortalTimeMgmtObject, DtPortalReflectedTimeMgmtObject >
 DtBaseObjectTranslator (DtBroker *broker, const DtString &name, DtPortalMessageKind kind)
 CTOR.
virtual ~DtBaseObjectTranslator ()
 Virtual CTOR.
virtual void enablePublishTranslator (bool enabled)
 Enables or disables translation coming from the Portal.
virtual void shutdown ()
 Performs any virtual shutdown logic prior to deletion.
virtual void initializePortalCallbacks ()
virtual void removePortalCallbacks ()
- Public Member Functions inherited from MAKVrExchange::DtObjectTranslator
 DtObjectTranslator (DtBroker *broker, const DtString &name, DtPortalMessageKind kind)
 CTOR.
virtual ~DtObjectTranslator ()
 Virtual DTOR.
virtual void forceUpdateAll ()
 Forces an update for all objects on the next tick.
virtual void addObjectDiscoveredCallback (BrokerObjectCbPtr funcPtr, void *usr)
virtual void addObjectUpdatedCallback (BrokerObjectCbPtr funcPtr, void *usr)
virtual void addObjectRemovedCallback (BrokerObjectCbPtr funcPtr, void *usr)
virtual void callObjectDiscoverCallbacks (const DtBrokerObject *obj)
virtual void callObjectUpdateCallbacks (const DtBrokerObject *obj)
virtual void callObjectRemoveCallbacks (const DtBrokerObject *obj)
virtual bool isPortalDiscoverable (const DtPortalReflectedObject *obj)
 Tests whether the Portal object is discoverable.
virtual bool isPortalPublishable (const DtBrokerObject *obj)
 Tests whether the Portal object is publishable.
- Public Member Functions inherited from MAKVrExchange::DtTranslator
 DtTranslator (DtBroker *broker, const DtString &name, DtPortalMessageKind kind)
 CTOR.
virtual ~DtTranslator ()
 Virtual DTOR.
virtual DtString name () const
 Accessor for the translator's name.
virtual bool isReflectEnabled () const
virtual bool isPublishEnabled () const
DtBrokerbroker () const
 Broker Accessor.

Protected Member Functions

virtual void advanceTime ()
 Requests a time advance.
virtual void discoverPortalObject (const DtPortalReflectedTimeMgmtObject &object)
virtual void receivePortalUpdate (const DtPortalReflectedTimeMgmtObject &object)
virtual void createPortalPublisher (MAKVrExchange::DtBrokerObject *brokerObj)
virtual void removePortalObject (const DtPortalReflectedTimeMgmtObject &object)
virtual void createHlaPublisher (MAKVrExchange::DtBrokerObject *brokerObj)
virtual void deletePortalPublisher (MAKVrExchange::DtBrokerObject *brokerObj)
virtual void deleteHlaPublisher (MAKVrExchange::DtBrokerObject *brokerObj)
virtual bool isPortalPublishable (const MAKVrExchange::DtBrokerObject *brokerObj) const
virtual bool isHlaPublishable (const MAKVrExchange::DtBrokerObject *brokerObj, const DtPortalReflectedTimeMgmtObject *refObj) const
Virtual Portal Callbacks

These functions are required for a translator to correctly publish objects from the portal to your protocol.

If you do not fill them out this translator will simply not publish.

Static Protected Member Functions

static bool portalDiscoveryCriteria (const MAKVrExchange::DtPortalReflectedObject *reflectedObject, void *usr)
 The Portal reflected list's discovery condition callback.
static void portalAdditionCallback (const DtPortalReflectedTimeMgmtObject &object, void *usr)
static void portalUpdateCallback (const DtPortalReflectedTimeMgmtObject &object, void *usr)
static void portalRemovalCallback (const DtPortalReflectedTimeMgmtObject &object, void *usr)

Protected Attributes

MAKVrExchange::DtRprBroker::DtRprBrokermyRprBroker
DtPortalReflectedTimeMgmtObjectManagermyPortalReflectedList
DtPortalTimeMgmtObjectPublishermyPortalPublisher
double myLookahead
 The lookahead value for time regulation.
double myCurrentLbts
 The current LBTS/GALT of this broker.
double myCurrentTime
 The current logical time of this broker.
bool myIsTimeRegulating
 Whether time regulation has yet been enabled.
bool myIsTimeConstrained
 Whether time constrained has yet been enabled.
std::map< DtString, double > myLbtsValues
 Map of time management info ID's to LBTS values for each broker.
bool myRequestTime
 Indicates that a time advance should be requested.
- Protected Attributes inherited from MAKVrExchange::DtBaseObjectTranslator< DtPortalTimeMgmtObject, DtPortalReflectedTimeMgmtObject >
DtPortalReflectedObjectManager
< DtPortalReflectedTimeMgmtObject > * 
myPortalReflectedManager
- Protected Attributes inherited from MAKVrExchange::DtObjectTranslator
CallbackPairList myDiscoverCallbacks
CallbackPairList myUpdateCallbacks
CallbackPairList myRemoveCallbacks
- Protected Attributes inherited from MAKVrExchange::DtTranslator
DtString myTranslatorName
DtPortalMessageKind myPortalMessageKind
DtBrokermyBroker
bool myReflectEnabled
bool myPublishEnabled

Private Member Functions

 DtTimeManagementTranslator (const DtTimeManagementTranslator &original)
 Copy constructor not implemented.
DtTimeManagementTranslatoroperator= (const DtTimeManagementTranslator &original)
 Assignment operator not implemented.
void processTimeGrant (const RTI::FedTime &fedTime)
 Handles time grants.
static void processTimeGrant (const RTI::FedTime &fedTime, void *usr)
 Handles time grants.
void processTimeRegulating (const RTI::FedTime &fedTime)
 Handles becoming time regulating.
static void processTimeRegulating (const RTI::FedTime &fedTime, void *usr)
 Handles becoming time regulating.
void processTimeConstrained (const RTI::FedTime &fedTime)
 Handles becoming time constrained.
static void processTimeConstrained (const RTI::FedTime &fedTime, void *usr)
 Handles becoming time constrained.

Additional Inherited Members

- Public Types inherited from MAKVrExchange::DtBaseObjectTranslator< DtPortalTimeMgmtObject, DtPortalReflectedTimeMgmtObject >
typedef DtBaseObjectTranslator
< DtPortalTimeMgmtObject,
DtPortalReflectedTimeMgmtObject,
DtObjectTranslator
ParentClass
- Static Public Member Functions inherited from MAKVrExchange::DtBaseObjectTranslator< DtPortalTimeMgmtObject, DtPortalReflectedTimeMgmtObject >
static void portalObjectAddedCb (const DtPortalReflectedTimeMgmtObject &obj, void *usr)
 Callback called when an object is added to the reflected list.
static void portalObjectUpdatedCb (const DtPortalReflectedTimeMgmtObject &obj, void *usr)
 Callback called when an object in the reflected list is updated.
static void portalObjectDeletedCb (const DtPortalReflectedTimeMgmtObject &obj, void *usr)
 Callback called when an object in the reflected list is deleted.
- Protected Types inherited from MAKVrExchange::DtObjectTranslator
typedef std::list< CallbackPairCallbackPairList

Detailed Description

Provides time synchronization between HLA brokers.

Constructor & Destructor Documentation

DtTimeManagementTranslator::DtTimeManagementTranslator ( MAKVrExchange::DtBroker broker)

CTOR.

virtual DtTimeManagementTranslator::~DtTimeManagementTranslator ( )
virtual

Virtual DTOR.

DtTimeManagementTranslator::DtTimeManagementTranslator ( const DtTimeManagementTranslator original)
private

Copy constructor not implemented.

Member Function Documentation

virtual void DtTimeManagementTranslator::advanceTime ( )
protectedvirtual

Requests a time advance.

virtual void DtTimeManagementTranslator::createHlaPublisher ( MAKVrExchange::DtBrokerObject brokerObj)
protectedvirtual
virtual void DtTimeManagementTranslator::createPortalPublisher ( MAKVrExchange::DtBrokerObject brokerObj)
protectedvirtual
virtual void DtTimeManagementTranslator::deleteHlaPublisher ( MAKVrExchange::DtBrokerObject brokerObj)
protectedvirtual
virtual void DtTimeManagementTranslator::deletePortalPublisher ( MAKVrExchange::DtBrokerObject brokerObj)
protectedvirtual
virtual void DtTimeManagementTranslator::discoverPortalObject ( const DtPortalReflectedTimeMgmtObject object)
protectedvirtual
DtTimeManagementTranslator::Dt_DEF_TRANSLATOR_NAME ( "Time Management"  )

Static translatorName method returns the translator name.

virtual void DtTimeManagementTranslator::enableReflectTranslator ( bool  enabled)
virtual

enables or disables this translator.

Note that this translator never publishes anything, so it is only enabled on the reflect side.

Reimplemented from MAKVrExchange::DtTranslator.

virtual bool DtTimeManagementTranslator::isHlaPublishable ( const MAKVrExchange::DtBrokerObject brokerObj,
const DtPortalReflectedTimeMgmtObject refObj 
) const
protectedvirtual
virtual bool DtTimeManagementTranslator::isPortalPublishable ( const MAKVrExchange::DtBrokerObject brokerObj) const
protectedvirtual
virtual unsigned int DtTimeManagementTranslator::numObjects ( ) const
inlinevirtual

Returns the current number of objects. Which is always 1 in this case - the TimeMgmtObject.

Implements MAKVrExchange::DtObjectTranslator.

DtTimeManagementTranslator& DtTimeManagementTranslator::operator= ( const DtTimeManagementTranslator original)
private

Assignment operator not implemented.

static void DtTimeManagementTranslator::portalAdditionCallback ( const DtPortalReflectedTimeMgmtObject object,
void *  usr 
)
staticprotected
static bool DtTimeManagementTranslator::portalDiscoveryCriteria ( const MAKVrExchange::DtPortalReflectedObject obj,
void *  usr 
)
staticprotected

The Portal reflected list's discovery condition callback.

Returns
whether the given reflected object is discoverable.

Reimplemented from MAKVrExchange::DtBaseObjectTranslator< DtPortalTimeMgmtObject, DtPortalReflectedTimeMgmtObject >.

static void DtTimeManagementTranslator::portalRemovalCallback ( const DtPortalReflectedTimeMgmtObject object,
void *  usr 
)
staticprotected
static void DtTimeManagementTranslator::portalUpdateCallback ( const DtPortalReflectedTimeMgmtObject object,
void *  usr 
)
staticprotected
static void DtTimeManagementTranslator::processTimeConstrained ( const RTI::FedTime &  fedTime,
void *  usr 
)
static

Handles becoming time constrained.

void DtTimeManagementTranslator::processTimeConstrained ( const RTI::FedTime &  fedTime)

Handles becoming time constrained.

static void DtTimeManagementTranslator::processTimeGrant ( const RTI::FedTime &  fedTime,
void *  usr 
)
static

Handles time grants.

void DtTimeManagementTranslator::processTimeGrant ( const RTI::FedTime &  fedTime)

Handles time grants.

static void DtTimeManagementTranslator::processTimeRegulating ( const RTI::FedTime &  fedTime,
void *  usr 
)
static

Handles becoming time regulating.

void DtTimeManagementTranslator::processTimeRegulating ( const RTI::FedTime &  fedTime)

Handles becoming time regulating.

virtual void DtTimeManagementTranslator::receivePortalUpdate ( const DtPortalReflectedTimeMgmtObject object)
protectedvirtual
virtual void DtTimeManagementTranslator::removePortalObject ( const DtPortalReflectedTimeMgmtObject object)
protectedvirtual
virtual void DtTimeManagementTranslator::tick ( )
virtual

Needs to be implemented for every translator, this is called every frame to allow the translator to do any needed processing.

Reimplemented from MAKVrExchange::DtTranslator.

Member Data Documentation

double DtTimeManagementTranslator::myCurrentLbts
protected

The current LBTS/GALT of this broker.

double DtTimeManagementTranslator::myCurrentTime
protected

The current logical time of this broker.

bool DtTimeManagementTranslator::myIsTimeConstrained
protected

Whether time constrained has yet been enabled.

bool DtTimeManagementTranslator::myIsTimeRegulating
protected

Whether time regulation has yet been enabled.

std::map<DtString,double> DtTimeManagementTranslator::myLbtsValues
protected

Map of time management info ID's to LBTS values for each broker.

double DtTimeManagementTranslator::myLookahead
protected

The lookahead value for time regulation.

DtPortalTimeMgmtObjectPublisher* DtTimeManagementTranslator::myPortalPublisher
protected
DtPortalReflectedTimeMgmtObjectManager* DtTimeManagementTranslator::myPortalReflectedList
protected
bool DtTimeManagementTranslator::myRequestTime
protected

Indicates that a time advance should be requested.

MAKVrExchange::DtRprBroker::DtRprBroker* DtTimeManagementTranslator::myRprBroker
protected

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

Document ID: Generated on Thu Jul 23 10:25:22 EDT 2015 from SVN revision 155065
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)