VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simLocalControlObjectNetInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
14 
15 #pragma once
16 
19 #include <vlutil/vlString.h>
20 #include <vlutil/vlList.h>
21 #include <vl/globalObjectDesignator.h>
23 
25 class DtObjectPublisher;
26 
34 namespace makVrf
35 {
36  class DtEnvironmentalStateComponent;
37  class DtEnvironmentalLocationStateComponent;
38  class DtVrfStateComponent;
39  class DtVrfGeometryStateComponent;
40 }
41 
42 namespace makVrf
43 {
45  {
46  private:
50  const DtSimLocalControlObjectNetInterface & operator=(const
52 
53  public:
54 
57  bool publishObject = true);
58 
60  virtual ~DtSimLocalControlObjectNetInterface() override;
61 
65  virtual void onTick() override;
66 
68  virtual void forceUpdate() override;
69 
71  virtual DtControlObjectRepository* controlObjectNetworkState() const override;
72 
74  virtual void updatePublisher() override;
75 
78  virtual bool createPublisher(const DtEntityIdentifier& id = DtEntityIdentifier::nullId()) override;
79 
82  virtual void destroyPublisher() override;
83 
85  virtual DtObjectPublisher* publisher() override;
86 
96  virtual bool setEntityPublisher(DtVrfExtControlObjectPublisher* publisher);
97 
99  virtual DtVrfExtControlObjectPublisher* controlObjectPublisher() const;
100 
102  virtual void updateUuid() override;
103 
105  virtual DtString type() const override;
106 
107  static DtSimObjectNetInterface* creator(DtStateData* vrfObject, DtVrlinkNetworkInterface* mgr,
108  bool publishObject);
109 
113  static void SetProfilePdus(bool onOf, double pduTimeCheck = 1.0, int numberOfPacketsOverTime = 0);
114 
115  protected:
116  virtual int minRecords() const;
117  virtual int numberOfConsecutivePoints() const;
118 
121  virtual bool updateGeometry();
122 
124  virtual bool updateBoundingGeometry();
125 
127  virtual bool updateObjectState();
128 
129  virtual bool updateEnvModelType();
130 
133  virtual bool updateVrfDataAsSeenByRemote();
134 
135  virtual DtEnvironmentProcessRepository* _createSR() const override;
136 
137  virtual const makVrf::DtEnvironmentalStateComponent* environmentalStateComponent();
138  virtual const makVrf::DtEnvironmentalLocationStateComponent* environmentalLocationStateComponent();
139  virtual const makVrf::DtVrfStateComponent* vrfStateComponent();
140  virtual const makVrf::DtVrfGeometryStateComponent* vrfGeometryStateComponent();
141  virtual void firstTimeInitialize();
142 
143  virtual bool wantsToCreatePublisher() const override;
144 
145  virtual DtVrfExtControlObjectPublisher* _createVrfExtPublisher();
146 
147  protected:
148 
150 
152 
153  std::vector<char> myPropertyBuffer;
163  int myNumberOfPdusSent = 0;
164  double myFirstTimePduSent = 0;
165 
166 #if DtHLA
167  int myNumberOfAttributesPdusSent = 0;
168  double myFirstTimeAttributePduSent = 0;
169 #endif
170  };
171 }
DtVector myLastParentPosition
Definition: simLocalControlObjectNetInterface.h:162
Contains the DtSimEnvironmentalModelType class declaration.
bool myPublisherUserSupplied
Definition: simLocalControlObjectNetInterface.h:149
bool myFirstTimeInitialize
Definition: simLocalControlObjectNetInterface.h:161
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
std::vector< char > myPropertyBuffer
Definition: simLocalControlObjectNetInterface.h:153
const makVrf::DtVrfGeometryStateComponent * myVrfGeometryStateComponent
Definition: simLocalControlObjectNetInterface.h:160
DtControlObjectRepository class extends the DtControlObjectBaseRepository to be able to handle extend...
Definition: controlObjectRepository.h:27
Definition: simLocalControlObjectNetInterface.h:44
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
const makVrf::DtEnvironmentalLocationStateComponent * myEnvironmentalLocationStateComponent
Definition: simLocalControlObjectNetInterface.h:158
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
const makVrf::DtVrfStateComponent * myVrfStateComponent
Definition: simLocalControlObjectNetInterface.h:159
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:50
bool myNeedsFullUpdate
Definition: simLocalControlObjectNetInterface.h:156
DtVrfExtControlObjectPublisher * myControlObjectPublisher
Definition: simLocalControlObjectNetInterface.h:151
This class extends DtVrfControlObjectPublisher to support the publishing of VR-Forces state propertie...
Definition: vrfExtControlObjectPublisher.h:16
const makVrf::DtEnvironmentalStateComponent * myEnvironmentalStateComponent
Definition: simLocalControlObjectNetInterface.h:157
DtClock myClock
Definition: simLocalControlObjectNetInterface.h:154
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: environmentalLocationStateComponent.h:44
Definition: simLocalEnvironmentalNetInterface.h:40
DtTime myLastTimeUpdated
Definition: simLocalControlObjectNetInterface.h:155
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: environmentalStateComponent.h:103

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)