VR-Exchange 2.5 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
timeMgmtTrans.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2015 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "pTimeMgmtObj.h"
13 
15 #include "pTimeMgmtObj.h"
16 
17 #include <vl/rtiCompatibility.h>
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  : public MAKVrExchange::DtBaseObjectTranslator<DtPortalTimeMgmtObject,
39  DtPortalReflectedTimeMgmtObject>
40 {
41 public:
42 
44  Dt_DEF_TRANSLATOR_NAME( "Time Management" );
45 
48 
51 
55  virtual void enableReflectTranslator( bool enabled );
56 
57  virtual void tick();
58 
60  virtual unsigned int numObjects() const { return 1; }
61 
64 
65  static void processTimeGrant(
66 #if DtHLA_1516
67  const RTI::LogicalTime& fedTime,
68 #else
69  const RTI::FedTime& fedTime,
70 #endif
71  void* usr );
72 
73  void processTimeGrant(
74 #if DtHLA_1516
75  const RTI::LogicalTime& fedTime );
76 #else
77  const RTI::FedTime& fedTime );
78 #endif
79 
81 
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 
94 #if DtHLA_1516
95  const RTI::LogicalTime& fedTime );
96 #else
97  const RTI::FedTime& fedTime );
98 #endif
99 
101 
104 
105  static void processTimeConstrained(
106 #if DtHLA_1516
107  const RTI::LogicalTime& fedTime,
108 #else
109  const RTI::FedTime& fedTime,
110 #endif
111  void* usr );
112 
114 #if DtHLA_1516
115  const RTI::LogicalTime& fedTime );
116 #else
117  const RTI::FedTime& fedTime );
118 #endif
119 
121 
122 protected:
123 
125  virtual void advanceTime();
126 
127  static bool portalDiscoveryCriteria(
128  const MAKVrExchange::DtPortalReflectedObject* reflectedObject, void* usr );
129  static void portalAdditionCallback( const DtPortalReflectedTimeMgmtObject& object,
130  void* usr );
131  static void portalUpdateCallback( const DtPortalReflectedTimeMgmtObject& object,
132  void* usr );
133  static void portalRemovalCallback( const DtPortalReflectedTimeMgmtObject& object,
134  void* usr );
135 
136  virtual void discoverPortalObject( const DtPortalReflectedTimeMgmtObject& object );
137  virtual void receivePortalUpdate( const DtPortalReflectedTimeMgmtObject& object );
138  virtual void createPortalPublisher( MAKVrExchange::DtBrokerObject* brokerObj );
139  virtual void removePortalObject( const DtPortalReflectedTimeMgmtObject& object );
140  virtual void createHlaPublisher( MAKVrExchange::DtBrokerObject* brokerObj );
141  virtual void deletePortalPublisher( MAKVrExchange::DtBrokerObject* brokerObj );
142  virtual void deleteHlaPublisher( MAKVrExchange::DtBrokerObject* brokerObj );
143  virtual bool isPortalPublishable( const MAKVrExchange::DtBrokerObject* brokerObj ) const;
144 
145  virtual bool isHlaPublishable( const MAKVrExchange::DtBrokerObject* brokerObj,
146  const DtPortalReflectedTimeMgmtObject* refObj ) const;
147 
148 private:
149 
152 
155 
156 protected:
157 
159 
161 
163 
165  double myLookahead;
166 
169 
172 
175 
178 
180  std::map<DtString,double> myLbtsValues;
181 
184 
185 };

Document ID: Generated on Wed Dec 21 15:05:11 EST 2016 from SVN revision 171891
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)