VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simLocalEnvironmentalNetInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 
9 
15 
16 
17 #pragma once
18 
20 #include <vlutil/vlString.h>
21 #include <vlutil/vlList.h>
22 #include <vl/globalObjectDesignator.h>
24 
25 class DtVrfObject;
29 
30 class DtSimManager;
31 
32 class DtObjectPublisher;
33 
44 {
45 protected:
48 
49 public:
50 
53  DtVrfObject* vrfObject,
54  DtReaderWriterRegistry* parentRegistry = 0,
55  bool publishObject = true);
56 
63  DtReaderWriterRegistry * parentRegistry = 0);
64 
68 
71 
73  virtual bool init(const DtEntityIdentifier& id = DtEntityIdentifier::nullId());
74 
76  virtual DtString type() const = 0;
77 
83  virtual void tick();
84 
87  virtual void setMinTickPeriod(double minTickPeriod);
88 
90  virtual double minTickPeriod() const;
91 
93  virtual void setMinTickPeriodVariance(double minTickPeriodVariance);
94 
96  virtual double minTickPeriodVariance() const;
97 
101  virtual void setNextTickTime(double nextTickTime);
102 
104  virtual double nextTickTime() const;
105 
111  virtual double calculateNextTickTime() const;
112 
116  virtual void onTick();
117 
120  virtual bool publisherUserSupplied() const;
121 
124  virtual void updatePublisher() = 0;
125 
128  virtual bool createPublisher(const DtEntityIdentifier& id = DtEntityIdentifier::nullId());
129 
132  virtual void destroyPublisher();
133 
135  virtual DtObjectPublisher* publisher();
136 
146  virtual bool setEntityPublisher(DtEnvironmentProcessPublisher* publisher);
147 
148  virtual DtEnvironmentProcessPublisher* environmentalPublisher() const;
149 
154  virtual void setupNetworkRepository();
155 
157  virtual void updateUuid() = 0;
158 
159  DtVrfObject* vrfObject() const;
160 
162  virtual bool isLocal() const { return true; }
163  virtual bool isEnvironmental() const { return true; }
164 
165 #if DtHLA
166 
167  virtual RTI::ObjectClassHandle objectClassHandle() const;
168 #endif
169 
173  static DtSimLocalEnvironmentalNetInterface* isLocalEnvironmentalNetInterface(
174  const DtSimObjectNetInterface * objNetInterface);
175 
176  static void verticesChanged(DtVrfObject*, void* usr);
177  virtual void processVerticesChanged(DtVrfObject*);
178 
179 #ifdef DtDIS
180 
181 
182 
183  static void setHeartbeatVariance(double variance);
184  static double heartbeatVariance();
185 #endif
186 
187 protected:
188 
190  virtual DtEnvironmentProcessPublisher* _createPublisher(const DtEntityIdentifier& id = DtEntityIdentifier::nullId()) const;
191 
193  virtual DtEnvironmentProcessRepository* _createSR() const;
194 
196 protected:
198 
203 
207 
210 
211  static double theHeartbeatVariance;
212 };

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)