VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simRemoteEnvironmentalNetInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
14 
15 #pragma once
16 
18 #include <vl/environmentProcessRepository.h>
19 #include <vl/reflectedEnvironmentProcess.h>
20 #include <vlpi/disEnums.h>
21 
23 
33 namespace makVrf
34 {
35  class DtVrfStateComponent;
36  class DtStatePropertiesStateComponent;
37 
40  {
41  private:
44 
47 
49  const DtSimRemoteEnvironmentalNetInterface& operator=(
51 
52  public:
53 
56  DtStateData* simObject, DtVrlinkNetworkInterface*, bool publishObject = true);
57 
59  virtual ~DtSimRemoteEnvironmentalNetInterface() override;
60 
63  virtual bool init() override;
64 
66  virtual void onTick() override;
67 
70  virtual void updateFromReflectedObject();
71 
74  virtual DtReflectedObject* reflectedObject() const;
75 
78  virtual void setupFromNetworkRepository();
79 
83  virtual bool isValidReflectedObject(DtReflectedEnvironmentProcess*) const;
84 
89  virtual void setReflectedObject(DtReflectedEnvironmentProcess* reflectedObject);
90  virtual void clearReflectedObject();
91  virtual void toBeRemoved() override;
92 
93  virtual bool isLocal() const override { return false; }
94 
97  virtual DtString type() const override;
98 
101  virtual void setUpdateReceived(bool updateReceived);
102 
104  virtual bool updateReceived() const;
105 
106  #if DtHLA
107  virtual RTI::ObjectClassHandle objectClassHandle() const override;
109  #endif
110 
114  static DtSimRemoteEnvironmentalNetInterface* isRemoteEnvironmentalNetInterface(
115  const DtSimObjectNetInterface * objNetInterface);
116 
117  static void reflectedObjectUpdateCallbackFunction(DtReflectedObject* obj,
118  void* userData);
119 
120  static DtSimObjectNetInterface* creator(
121  DtStateData* simObject, DtVrlinkNetworkInterface*, bool publishObject);
122 
123  virtual bool wantsToCreatePublisher() const override {
124  return false;
125  }
126 
127  protected:
129  virtual void updateLocalGeometry();
130 
131  virtual void updateLocalBoundingGeometry();
132 
133  virtual void updateLocalObjectState();
134 
135  virtual void updateLocalObjectType();
136 
137  virtual void updateLocalModelType();
138 
140  virtual void updateUUIDIfNeeded();
141 
142  virtual DtVrfStateComponent* getOrCreateVrfStateComponent(DtControlObjectRepository* netState);
143  virtual DtStatePropertiesStateComponent* getOrCreateStatePropertiesStateComponent(DtControlObjectRepository* netState);
144  virtual void initializeRemoteStateComponents();
145 
146  protected:
147 
150 
154  bool myFirstNetworkUpdate = true;
155  };
156 }
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
DtReflectedEnvironmentProcess * myReflectedObject
Pointer to the VR-Link Reflected Object.
Definition: simRemoteEnvironmentalNetInterface.h:149
Definition: simRemoteEnvironmentalNetInterface.h:38
DtControlObjectRepository class extends the DtControlObjectBaseRepository to be able to handle extend...
Definition: controlObjectRepository.h:27
bool myUpdateReceived
Set to true by post-update callback; set to false after update has been processed.
Definition: simRemoteEnvironmentalNetInterface.h:153
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:62
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:50
Definition: simEnvironmentalNetInterface.h:33
virtual bool isLocal() const override
Is this network interface for a local (true) or remote (false) object? Local network interfaces shoul...
Definition: simRemoteEnvironmentalNetInterface.h:93
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
virtual bool wantsToCreatePublisher() const override
Returns true if this interface wants to create a publisher. This cannot be done in parallel...
Definition: simRemoteEnvironmentalNetInterface.h:123

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)