VR-Exchange 2.2 API Documentation
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::DtRprBroker::DtRprBroker *broker)
 CTOR.
virtual ~DtTimeManagementTranslator ()
 Virtual DTOR.
virtual void enableTranslator (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.
- Public Member Functions inherited from MAKVrExchange::DtRprBroker::DtObjectTranslator
 DtObjectTranslator (DtRprBroker *broker, const DtString &name, DtPortalMessageKind kind)
 The Default CTOR.
virtual ~DtObjectTranslator ()
 The Default DTOR.
virtual DtBrokerObjectreleaseBrokerObject (const DtReflectedObject *reflectedObj)
 returns the BrokerObject associated with the reflectedObj.
virtual DtBrokerObjectreleaseBrokerObject (const DtPortalReflectedObject *reflectedObj)
virtual DtBrokerObjectfindBrokerObject (const DtReflectedObject *reflectedObj)
 Find the BrokerObjectStateRepository for this reflectedObject.
virtual DtBrokerObjectfindBrokerObject (const DtPortalReflectedObject *reflectedObj)
virtual DtBrokerObjectcreateBrokerObject (const DtReflectedObject *reflectedObj)
 Creates a brokerObject to represent a reflectedObject reported by VR-Link.
virtual DtBrokerObjectcreateBrokerObject (const DtPortalReflectedObject *reflectedObj)
virtual bool isHlaDiscoverable (const DtReflectedObject *reflectedObj)
 Checks if this HLA object is discoverable.
virtual bool isPortalDiscoverable (const DtPortalReflectedObject *reflectedObj)
 Checks if this portalObject is discoverable.
virtual void removeHlaObject (const DtReflectedObject *reflectedObj)
 Called when an HLA object is removed from a reflected list.
virtual void printIncomingOutgoingStateReps (const DtPortalObject &incoming, const DtStateRepository &outgoing)
virtual void printIncomingOutgoingStateReps (const DtStateRepository &incoming, const DtPortalObject &outgoing)
virtual void performPortalDebugging (const DtPortalObject &incoming, const DtStateRepository &outgoing)
virtual void performPortalDebugging (const DtStateRepository &incoming, const DtPortalObject &outgoing)
virtual void addObjectDiscoveredCallback (BrokerObjectCbPtr funcPtr, void *userData)
virtual void addObjectUpdatedCallback (BrokerObjectCbPtr funcPtr, void *userData)
virtual void addObjectRemovedCallback (BrokerObjectCbPtr funcPtr, void *userData)
virtual unsigned int numObjects () const
 Returns the current number of objects.
- 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.
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 (DtBrokerObject *brokerObject)
 create a publisher for this reflected object.
virtual void createHlaPublisher (DtBrokerObject *brokerObject)
virtual void deletePortalPublisher (DtBrokerObject *brokerObject)
 remove the publisher for this brokerObject.
virtual void deleteHlaPublisher (DtBrokerObject *brokerObject)
virtual bool isPortalPublishable (const DtBrokerObject *brokerObject) const
 Checks if a Portal object would be publishable for the HLA Reflected Object.
virtual bool isHlaPublishable (const DtBrokerObject *brokerObject) const
 Checks if an HLA object would be publishable for the Portal Reflected Object.
- Protected Member Functions inherited from MAKVrExchange::DtRprBroker::DtObjectTranslator
virtual void requestTransDiagCb (const DtRequestTranslationDiagnosticMessage &msg)
 Virtual translation diagnostic request callback.
virtual void callObjectDiscoverCallbacks (const DtBrokerObject *brokerObject)
 called when a Portal or HLA Object is Created
virtual void callObjectUpdateCallbacks (const DtBrokerObject *brokerObject)
 Called when a Portal or HLA Object is updated.
virtual void callObjectRemoveCallbacks (const DtBrokerObject *brokerObject)
 Called when a Portal or HLA Object is Deleted.
virtual void removePortalObject (const DtPortalReflectedObject *reflectedObj)
 Called when a Portal Object is removed from a reflected list.

Static Protected Member Functions

static bool portalDiscoveryCriteria (const MAKVrExchange::DtPortalReflectedObject *reflectedObject, void *object)
static void portalAdditionCallback (const DtPortalReflectedTimeMgmtObject &object, void *userData)
static void portalUpdateCallback (const DtPortalReflectedTimeMgmtObject &object, void *userData)
static void portalRemovalCallback (const DtPortalReflectedTimeMgmtObject &object, void *userData)
- Static Protected Member Functions inherited from MAKVrExchange::DtRprBroker::DtObjectTranslator
static void requestTransDiagCb (const DtRequestTranslationDiagnosticMessage &msg, void *usr)
 Static translation diagnostic request callback.

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::DtRprBroker::DtObjectTranslator
TransDebugObjectNamesSet myTransDebugNames
CallbackPairList myDiscoverCallbacks
CallbackPairList myUpdateCallbacks
CallbackPairList myRemoveCallbacks
HlaToPortalReflectedMap myPortalPublisherMap
PortalToHlaReflectedMap myHlaPublisherMap
DtRprBrokermyHlaBroker
- Protected Attributes inherited from MAKVrExchange::DtTranslator
DtString myTranslatorName
DtPortalMessageKind myPortalMessageKind
DtBrokermyBroker
bool myEnabled

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::DtRprBroker::DtObjectTranslator
enum  UpdateType { none = 0, discover = 1, update = 2, remove = 3 }
 Enums used with the ObjectAction callback. More...
typedef void(* BrokerObjectCbPtr )(const DtBrokerObject *brokerObjectPointer, void *userData)
- Protected Types inherited from MAKVrExchange::DtRprBroker::DtObjectTranslator
typedef std::map< const
DtReflectedObject
*, DtBrokerObject * > 
HlaToPortalReflectedMap
typedef std::map< const
DtPortalReflectedObject
*, DtBrokerObject * > 
PortalToHlaReflectedMap
typedef std::list< CallbackPairCallbackPairList
typedef std::set< DtStringTransDebugObjectNamesSet

Detailed Description

Provides time synchronization between HLA brokers.

Constructor & Destructor Documentation

DtTimeManagementTranslator::DtTimeManagementTranslator ( MAKVrExchange::DtRprBroker::DtRprBroker broker)

CTOR.

virtual DtTimeManagementTranslator::~DtTimeManagementTranslator ( )
virtual

Virtual DTOR.

DtTimeManagementTranslator::DtTimeManagementTranslator ( const DtTimeManagementTranslator original)
private

Copy constructor not implemented.

Member Function Documentation

DtTimeManagementTranslator::Dt_DEF_TRANSLATOR_NAME ( "Time Management"  )

Static translatorName method returns the translator name.

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

Assignment operator not implemented.

virtual void DtTimeManagementTranslator::enableTranslator ( bool  enabled)
virtual

enables or disables this translator.

Reimplemented from MAKVrExchange::DtTranslator.

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.

Implements MAKVrExchange::DtRprBroker::DtObjectTranslator.

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.

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.

virtual void DtTimeManagementTranslator::advanceTime ( )
protectedvirtual

Requests a time advance.

static bool DtTimeManagementTranslator::portalDiscoveryCriteria ( const MAKVrExchange::DtPortalReflectedObject reflectedObject,
void *  object 
)
staticprotected
static void DtTimeManagementTranslator::portalAdditionCallback ( const DtPortalReflectedTimeMgmtObject object,
void *  userData 
)
staticprotected
static void DtTimeManagementTranslator::portalUpdateCallback ( const DtPortalReflectedTimeMgmtObject object,
void *  userData 
)
staticprotected
static void DtTimeManagementTranslator::portalRemovalCallback ( const DtPortalReflectedTimeMgmtObject object,
void *  userData 
)
staticprotected
virtual void DtTimeManagementTranslator::discoverPortalObject ( const DtPortalReflectedTimeMgmtObject object)
protectedvirtual
virtual void DtTimeManagementTranslator::receivePortalUpdate ( const DtPortalReflectedTimeMgmtObject object)
protectedvirtual
virtual void DtTimeManagementTranslator::createPortalPublisher ( DtBrokerObject brokerObject)
protectedvirtual

create a publisher for this reflected object.

Implements MAKVrExchange::DtRprBroker::DtObjectTranslator.

virtual void DtTimeManagementTranslator::createHlaPublisher ( DtBrokerObject brokerObject)
protectedvirtual
virtual void DtTimeManagementTranslator::deletePortalPublisher ( DtBrokerObject brokerObject)
protectedvirtual

remove the publisher for this brokerObject.

It must leave the brokerObject in a state where the publisher can be re-created.

Implements MAKVrExchange::DtRprBroker::DtObjectTranslator.

virtual void DtTimeManagementTranslator::deleteHlaPublisher ( DtBrokerObject brokerObject)
protectedvirtual
virtual bool DtTimeManagementTranslator::isPortalPublishable ( const DtBrokerObject brokerObject) const
protectedvirtual

Checks if a Portal object would be publishable for the HLA Reflected Object.

For this to work its required that the brokerObject->protocol() == hla

Implements MAKVrExchange::DtRprBroker::DtObjectTranslator.

virtual bool DtTimeManagementTranslator::isHlaPublishable ( const DtBrokerObject brokerObject) const
protectedvirtual

Checks if an HLA object would be publishable for the Portal Reflected Object.

I.e Is there enough information to publish this object For this to work its required that the brokerObject->protocol() == portal

Implements MAKVrExchange::DtRprBroker::DtObjectTranslator.

Member Data Documentation

MAKVrExchange::DtRprBroker::DtRprBroker* DtTimeManagementTranslator::myRprBroker
protected
DtPortalReflectedTimeMgmtObjectManager* DtTimeManagementTranslator::myPortalReflectedList
protected
DtPortalTimeMgmtObjectPublisher* DtTimeManagementTranslator::myPortalPublisher
protected
double DtTimeManagementTranslator::myLookahead
protected

The lookahead value for time regulation.

double DtTimeManagementTranslator::myCurrentLbts
protected

The current LBTS/GALT of this broker.

double DtTimeManagementTranslator::myCurrentTime
protected

The current logical time of this broker.

bool DtTimeManagementTranslator::myIsTimeRegulating
protected

Whether time regulation has yet been enabled.

bool DtTimeManagementTranslator::myIsTimeConstrained
protected

Whether time constrained has yet been enabled.

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

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

bool DtTimeManagementTranslator::myRequestTime
protected

Indicates that a time advance should be requested.


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

Document ID: Generated on Mon Apr 15 17:15:50 EDT 2013 from SVN revision 126154
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)