VR-Exchange 2.2 API Documentation
timeMgmtTrans.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2012 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <namespace.h>
13 #include "pTimeMgmtObj.h"
14 #include <vl/rtiCompatibility.h>
15 
17 using namespace MAKVrExchange::DtRprBroker;
18 
19 #ifdef DtHLA_1516_EVOLVED
20 #include <RTI/LogicalTime.h>
21 #elif defined DtHLA_1516
22 #include <RTI/LogicalTime.h>
23 #else // HLA 1.3
24 #include <fedtime.hh>
25 #endif
26 
27 namespace MAKVrExchange
28 {
29  namespace DtRprBroker
30  {
31  class DtRprBroker;
32  }
33 }
34 
38 {
39 public:
40 
42  Dt_DEF_TRANSLATOR_NAME( "Time Management" );
43 
46 
48  virtual ~DtTimeManagementTranslator();
49 
50 private:
51 
54 
56  DtTimeManagementTranslator &operator=( const DtTimeManagementTranslator& original );
57 
58 public:
59 
61  virtual void enableTranslator(bool enabled);
62 
63  virtual void tick();
64 
66 
67  static void processTimeGrant(
68 #if DtHLA_1516
69  const RTI::LogicalTime &fedTime,
70 #else
71  const RTI::FedTime &fedTime,
72 #endif
73  void *usr);
74 
75  void processTimeGrant(
76 #if DtHLA_1516
77  const RTI::LogicalTime &fedTime);
78 #else
79  const RTI::FedTime &fedTime);
80 #endif
81 
82 
84 
85  static void processTimeRegulating(
86 #if DtHLA_1516
87  const RTI::LogicalTime &fedTime,
88 #else
89  const RTI::FedTime &fedTime,
90 #endif
91  void *usr);
92 
93  void processTimeRegulating(
94 #if DtHLA_1516
95  const RTI::LogicalTime &fedTime);
96 #else
97  const RTI::FedTime &fedTime);
98 #endif
99 
100 
102 
103  static void processTimeConstrained(
104 #if DtHLA_1516
105  const RTI::LogicalTime &fedTime,
106 #else
107  const RTI::FedTime &fedTime,
108 #endif
109  void *usr);
110 
111  void processTimeConstrained(
112 #if DtHLA_1516
113  const RTI::LogicalTime &fedTime);
114 #else
115  const RTI::FedTime &fedTime);
116 #endif
117 
118 
119 protected:
120 
122  virtual void advanceTime();
123 
124  static bool portalDiscoveryCriteria( const MAKVrExchange::DtPortalReflectedObject* reflectedObject, void* object );
125  static void portalAdditionCallback( const DtPortalReflectedTimeMgmtObject& object,
126  void* userData );
127  static void portalUpdateCallback( const DtPortalReflectedTimeMgmtObject& object,
128  void* userData );
129  static void portalRemovalCallback( const DtPortalReflectedTimeMgmtObject& object,
130  void* userData );
131 
132  //Doxygen comments inherited from parent class
133  virtual void discoverPortalObject( const DtPortalReflectedTimeMgmtObject& object );
134 
135  //Doxygen comments inherited from parent class
136  virtual void receivePortalUpdate( const DtPortalReflectedTimeMgmtObject& object );
137 
138  //Doxygen comments inherited from parent class
139  virtual void createPortalPublisher( DtBrokerObject* brokerObject );
140 
141  virtual void createHlaPublisher(DtBrokerObject* brokerObject);
142  virtual void deletePortalPublisher(DtBrokerObject* brokerObject);
143  virtual void deleteHlaPublisher(DtBrokerObject* brokerObject);
144  virtual bool isPortalPublishable(const DtBrokerObject* brokerObject) const;
145  virtual bool isHlaPublishable(const DtBrokerObject* brokerObject) const;
146 
148 
150 
152 
154  double myLookahead;
155 
158 
161 
164 
167 
169  std::map<DtString, double> myLbtsValues;
170 
173 
174 };

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)