VR-Forces 4.10 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  virtual RTI::ObjectClassHandle objectClassHandle() const;
168 #endif
169 
173  static DtSimLocalEnvironmentalNetInterface* isLocalEnvironmentalNetInterface(
174  const DtSimObjectNetInterface * objNetInterface);
175 
176  static void verticesChanged(const DtVrfObject*, void* usr);
177  virtual void processVerticesChanged(const DtVrfObject*);
178 
179 #ifdef DtDIS
180  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 };
DtEnvironmentProcessPublisher * myEnvironmentalPublisher
Definition: simLocalEnvironmentalNetInterface.h:199
Contains the DtSimEnvironmentalModelType class declaration.
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual bool isLocal() const
This network interface is for local entities.
Definition: simLocalEnvironmentalNetInterface.h:162
const DtSimEnvironmentalNetInterface & operator=(const DtSimEnvironmentalNetInterface &orig)
assignment operator
virtual RTI::ObjectClassHandle objectClassHandle() const =0
Returns the HLA object class handle of the published or reflected object.
double myNextTickTime
Definition: simLocalEnvironmentalNetInterface.h:206
virtual void onTick()=0
Depending on the whether or not the entity is local or remote, this will cause the VR-Link network re...
Definition: readerWriterRegistry.h:39
virtual DtString type() const =0
Returns the type of net interface object.
bool myPublisherUserSupplied
Definition: simLocalEnvironmentalNetInterface.h:197
bool myPublishObject
Definition: simLocalEnvironmentalNetInterface.h:200
static double theHeartbeatVariance
Definition: simLocalEnvironmentalNetInterface.h:211
Class Description: DtSimLocalEnvironmentalNetInterface.
Definition: simLocalEnvironmentalNetInterface.h:42
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
bool myVerticesChanged
Definition: simLocalEnvironmentalNetInterface.h:208
double myMinTickPeriodVariance
Definition: simLocalEnvironmentalNetInterface.h:205
bool myVerticesChangedCallbackRegistered
Definition: simLocalEnvironmentalNetInterface.h:209
virtual bool init()
override of base class init(), calls create&lt;...&gt;Record() functions
Class Description: DtSimEnvironmentalNetInterface.
Definition: simEnvironmentalNetInterface.h:30
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:37
Definition: vrfOverlayObjectStateRepository.h:29
virtual bool isEnvironmental() const
Definition: simLocalEnvironmentalNetInterface.h:163
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
virtual void tick()
Clears the changed flag for the tick, then calls onTick().
DtSimManager * mySimManager
Obtained from our DtVrfObject, and cached for use in sendVrfObject().
Definition: simLocalEnvironmentalNetInterface.h:202
double myMinTickPeriod
Definition: simLocalEnvironmentalNetInterface.h:204

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)