VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simLocalEntityNetInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2000 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
14 
15 #pragma once
16 
19 #include <vl/globalObjectDesignator.h>
20 #include <tbb/spin_rw_mutex.h>
21 
22 class DtObjectPublisher;
23 
33 
34 namespace makVrf
35 {
36  class DtArticulatedPartStateComponent;
37  class DtStatePropertiesStateComponent;
38  class DtEntityStateComponent;
39  class DtEntityLocationStateComponent;
40  class DtVrfGeometryStateComponent;
41  class DtVrfStateComponent;
42  class DtHumanStateComponent;
43  class DtRangeItemsStateComponent;
44 
46  {
47  private:
51 
53  const DtSimLocalEntityNetInterface & operator=(const
55 
56  public:
57 
60  bool publishObject = true);
61 
64 
67  virtual void onTick();
68 
69  virtual bool publishObject() const
70  {
71  return myPublishObject;
72  }
73 
74  virtual bool init(const DtEntityIdentifier& id = DtEntityIdentifier::nullId());
75 
78  virtual bool publisherUserSupplied() const;
79 
82  virtual void updatePublisher() = 0;
83 
86  virtual bool createPublisher(const DtEntityIdentifier& id = DtEntityIdentifier::nullId()) = 0;
87 
90  virtual void destroyPublisher() = 0;
91 
93  virtual DtObjectPublisher* publisher() = 0;
94 
97  virtual void updateNet();
98 
103  virtual void setupNetworkRepository() = 0;
104 
106  virtual void updateUuid() = 0;
107 
111  static bool isVrfGlobalId(const DtGlobalObjectDesignator& identifier);
112 
114  virtual bool isLocal() const { return true; }
115 
116  virtual bool isAggregate() const = 0;
117 
121  static DtSimLocalEntityNetInterface * isLocalEntityNetInterface(const
122  DtSimObjectNetInterface * objNetInterface);
123 
128  static void setVrfDataTimeThreshold(DtTime time);
129 
130  #ifdef DtDIS
131  static void setHeartbeatVariance(double variance);
135  static double heartbeatVariance();
136  #endif
137 
138  protected:
139  virtual const makVrf::DtEntityStateComponent* entityStateComponent();
140  virtual const makVrf::DtEntityLocationStateComponent* entityLocationStateComponent();
141  virtual const makVrf::DtVrfStateComponent* vrfStateComponent();
142  virtual const makVrf::DtVrfGeometryStateComponent* vrfGeometryStateComponent();
143  virtual const makVrf::DtArticulatedPartStateComponent* articulatedPartStateComponent();
144  virtual const makVrf::DtStatePropertiesStateComponent* statePropertiesStateComponent();
145  virtual const makVrf::DtHumanStateComponent* humanStateComponent();
146  virtual const makVrf::DtRangeItemsStateComponent* rangeItemsStateComponent();
147 
148  protected:
150 
152 
153  static double theHeartbeatVariance;
154 
163  };
164 }
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: statePropertiesStateComponent.h:93
const makVrf::DtArticulatedPartStateComponent * myArticulatedPartStateComponent
Definition: simLocalEntityNetInterface.h:155
bool myPublishObject
Definition: simLocalEntityNetInterface.h:151
Definition: simLocalEntityNetInterface.h:45
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: entityStateComponent.h:70
2) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: entityLocationStateComponent.h:116
In order to be a well defined state component, you must:
Definition: articulatedPartStateComponent.h:59
const makVrf::DtEntityStateComponent * myEntityStateComponent
Definition: simLocalEntityNetInterface.h:157
const makVrf::DtVrfGeometryStateComponent * myVrfGeometryStateComponent
Definition: simLocalEntityNetInterface.h:159
const makVrf::DtVrfStateComponent * myVrfStateComponent
Definition: simLocalEntityNetInterface.h:160
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: rangeItemsStateComponent.h:64
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: vrfGeometryStateComponent.h:54
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: vrfStateComponent.h:55
const makVrf::DtHumanStateComponent * myHumanStateComponent
Definition: simLocalEntityNetInterface.h:161
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
const makVrf::DtEntityLocationStateComponent * myEntityLocationStateComponent
Definition: simLocalEntityNetInterface.h:158
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:48
Definition: simEntityNetInterface.h:34
virtual bool publishObject() const
Definition: simLocalEntityNetInterface.h:69
In order to be a well defined state component, you must:
Definition: humanStateComponent.h:25
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
static double theHeartbeatVariance
Definition: simLocalEntityNetInterface.h:153
virtual bool isLocal() const
This network interface is for local entities.
Definition: simLocalEntityNetInterface.h:114
const makVrf::DtStatePropertiesStateComponent * myStatePropertiesStateComponent
Definition: simLocalEntityNetInterface.h:156
bool myPublisherUserSupplied
Definition: simLocalEntityNetInterface.h:149
const makVrf::DtRangeItemsStateComponent * myRangeItemsStateComponent
Definition: simLocalEntityNetInterface.h:162

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)