VR-Forces 4.0.4 Class Documentation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtHlaExerciseClock Class Reference

DtHlaClock is a clock that is capable of supporting HLA the time management concepts time-constrained and time-regulating. More...

Inheritance diagram for DtHlaExerciseClock:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DtHlaExerciseClock (DtSimManager *simManager, DtExerciseConn *exerciseConn)
 constructor
virtual ~DtHlaExerciseClock ()
 destructor
virtual void init ()
 Initializes the clock - must be called before any other member functions are called.
virtual void tick ()
 If in time constrained mode, call advanceFedTime() to advance federation (logical) time by my_dT.
virtual DtTime fedTime () const
 HLA federation (logical) time.
virtual DtTime lookahead () const
virtual DtTime effectiveSimTime () const
virtual void setInitialSimTime (DtTime time)
 Set the initial simulation time (time recorded in a scenario file).
virtual bool enableTimeManagementMode (DtTime lookaheadInterval)
 Returns whether or not exercise clock is in HLA time management mode (i.e.
virtual bool disableTimeManagementMode ()
virtual bool isInTimeManagementMode () const

Static Public Member Functions

static void timeAdvanceGrantedCb (DtHlaTimeManagementControl *tmControl, void *usr)
 Called when time advance request is granted by RTI.

Protected Member Functions

virtual bool startRegulatingTime (DtTime lookaheadInterval)
 HLA time regulating mode.
virtual bool stopRegulatingTime ()
virtual bool isTimeRegulating () const
virtual bool enableTimeConstrainedMode ()
 HLA time constrained mode.
virtual bool disableTimeConstrainedMode ()
virtual bool isTimeConstrained () const
virtual RTI::FedTime * createFederationTime (DtTime time=0.0) const
virtual RTI::FedTime * createFederationTimeInterval (DtTime time=0.0) const
virtual
DtHlaTimeManagementControl
createTimeManagementControl () const
 Called by init() to create myTimeManagementControl member.
virtual void processTimeAdvanceGrantedCb (DtHlaTimeManagementControl *tmControl)
 Updates myEffectiveFederationTime and sets this new time in the exercise connection.
virtual void processSetTimeMultiplier (const DtIfSetTimeMultiplier &timeMultiplerData)
 Sets time multiplier with value given in message.

Protected Attributes

DtExerciseConn * myExerciseConn
DtHlaTimeManagementControlmyTimeManagementControl
RTI::FedTime * myInitialFederationTime
 This time is set when simulation start time is set.
DtTime myInitialSimTime
RTI::FedTime * myFederationTime
RTI::FedTime * myEffectiveFederationTime
RTI::FedTime * myLookahead

Private Member Functions

 DtHlaExerciseClock (const DtHlaExerciseClock &orig)
 copy constructor - not implemented
DtHlaExerciseClockoperator= (const DtHlaExerciseClock &orig)
 assignment operator - not implemented

Detailed Description

DtHlaClock is a clock that is capable of supporting HLA the time management concepts time-constrained and time-regulating.


Constructor & Destructor Documentation

DtHlaExerciseClock::DtHlaExerciseClock ( DtSimManager simManager,
DtExerciseConn *  exerciseConn 
)

constructor

destructor

copy constructor - not implemented


Member Function Documentation

virtual void DtHlaExerciseClock::init ( ) [virtual]

Initializes the clock - must be called before any other member functions are called.

Reimplemented from DtExerciseClock.

virtual void DtHlaExerciseClock::tick ( ) [virtual]

If in time constrained mode, call advanceFedTime() to advance federation (logical) time by my_dT.

Reimplemented from DtExerciseClock.

virtual DtTime DtHlaExerciseClock::fedTime ( ) const [virtual]

HLA federation (logical) time.

virtual DtTime DtHlaExerciseClock::lookahead ( ) const [virtual]
virtual DtTime DtHlaExerciseClock::effectiveSimTime ( ) const [virtual]
Returns:
Effective sim time (the time that should be set in the DtExerciseConn). If in time-managed mode, this is the federation time plus the lookahead (it is related to simTime() by a fixed offset). If not in time-managed mode, returns simTime().
virtual void DtHlaExerciseClock::setInitialSimTime ( DtTime  time) [virtual]

Set the initial simulation time (time recorded in a scenario file).

Initializes myInitialSimTime and myInitialFederationTime (if in time management mode). Then calls down to base class setSimTime().

virtual bool DtHlaExerciseClock::enableTimeManagementMode ( DtTime  lookaheadInterval) [virtual]

Returns whether or not exercise clock is in HLA time management mode (i.e.

is time regulating and constrained).

virtual bool DtHlaExerciseClock::isInTimeManagementMode ( ) const [virtual]
static void DtHlaExerciseClock::timeAdvanceGrantedCb ( DtHlaTimeManagementControl tmControl,
void *  usr 
) [static]

Called when time advance request is granted by RTI.

Calls processTimeAdvanceGrantedCb().

virtual bool DtHlaExerciseClock::startRegulatingTime ( DtTime  lookaheadInterval) [protected, virtual]

HLA time regulating mode.

Applications that expect to send interactions in time management mode should be time regulating.

virtual bool DtHlaExerciseClock::stopRegulatingTime ( ) [protected, virtual]
virtual bool DtHlaExerciseClock::isTimeRegulating ( ) const [protected, virtual]
virtual bool DtHlaExerciseClock::enableTimeConstrainedMode ( ) [protected, virtual]

HLA time constrained mode.

virtual bool DtHlaExerciseClock::disableTimeConstrainedMode ( ) [protected, virtual]
virtual bool DtHlaExerciseClock::isTimeConstrained ( ) const [protected, virtual]
virtual RTI::FedTime* DtHlaExerciseClock::createFederationTime ( DtTime  time = 0.0) const [protected, virtual]
Returns:
New instance of a federation time object.
virtual RTI::FedTime* DtHlaExerciseClock::createFederationTimeInterval ( DtTime  time = 0.0) const [protected, virtual]
Returns:
New instance of a federation time object.

Called by init() to create myTimeManagementControl member.

Returns:
new instance of a DtHlaTimeManagementControl object.
virtual void DtHlaExerciseClock::processTimeAdvanceGrantedCb ( DtHlaTimeManagementControl tmControl) [protected, virtual]

Updates myEffectiveFederationTime and sets this new time in the exercise connection.

virtual void DtHlaExerciseClock::processSetTimeMultiplier ( const DtIfSetTimeMultiplier timeMultiplerData) [protected, virtual]

Sets time multiplier with value given in message.

Override to disable and re-enable time management mode if necessary.

Reimplemented from DtExerciseClock.

DtHlaExerciseClock& DtHlaExerciseClock::operator= ( const DtHlaExerciseClock orig) [private]

assignment operator - not implemented


Member Data Documentation

DtExerciseConn* DtHlaExerciseClock::myExerciseConn [protected]

This time is set when simulation start time is set.

Used to compute the current simulation time.

RTI::FedTime* DtHlaExerciseClock::myFederationTime [protected]
RTI::FedTime* DtHlaExerciseClock::myLookahead [protected]

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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)