VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfVrvExtensions.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 
16 
17 
18 class DtDIGuyObjectStateRepository;
19 
21 #include <vl/diGuyObjectStateRepository.h>
35 
38 
39 
44 
45 #include <vrfutil/rwUUID.h>
46 
47 #include <vlpi/entityType.h>
48 #include <matrix/vlVector.h>
49 
50 #if DtHLA
52 #else
54 #endif
55 #include "vrfutil/rwColor.h"
56 
58 
59 namespace makVrv
60 {
61  class DtVrlinkElement;
62  class DtEmbarkationUpdaterAgent;
63 
64  namespace DT_PROTOCOL_NAMESPACE
65  {
66  class DtEntitySimDataProcessor;
67  class DtVrlinkAggregateElement;
68  class DtVrlinkTacticalGraphicStateListener;
70  }
71 }
72 
73 namespace makVrf
74 {
75  class DtRangeItemsStateComponent;
76  class DtStateData;
77 
78  namespace VRF_PROTOCOL_NAMESPACE
79  {
81  {
82  public:
83  static DtAggregateStateInterceptorCreator& instance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim);
84 
86  virtual ~DtVrfAggregateStateInterceptorCreator() override;
87 
88  virtual DtAggregateStateRepository* create(
90 
92  };
93 
96  {
97  public:
99 
101  virtual ~DtVrfVrlinkEntityStateListener() override;
102 
104  {
105  return myBlockAnimationChange;
106  }
107 
108  bool gestureChangeBlocked() const
109  {
110  return myBlockGestureChange;
111  }
112 
113  virtual void setBlockAnimationChange(bool b, double speed = 0.);
114  virtual void setBlockGestureChange(bool b);
115  virtual void setFrozen(bool);
116  virtual void queueRangeItemsModified(const DtStateData* sd);
117 
118  virtual void reflectedEntityPostUpdate() override;
119 
120  bool blockAnimationChange(bool b, double speed = 0.)
121  {
122  bool old = myBlockAnimationChange;
123 
124  setBlockAnimationChange(b, speed);
125 
126  return old;
127  }
128 
129  virtual void setCharacterAction(const std::string& action, bool paused, float speed, bool usePositioning,
130  const DtVector&, int autoChooseTransitionBehavior, float transitionSpeed) override;
131  virtual void executeCharacterAction(const std::string&);
132  virtual void setAppearanceBits(unsigned int mask, unsigned int newValue, bool force = false) override;
134  virtual void executeSetColor(DtRwColor color) override;
135  virtual void executeGesture(
136  const std::string& gestureName, int reps, float overallDuration, float channel_A_weight) override;
137  virtual void rangeItemsModified(const DtStateData*);
138  virtual bool rangeItemsFrom(const DtStateData* sd,
139  const std::vector<DtRangeItem>& sourceItems, std::vector<DtRangeItem>& items);
140 
141  boost::signals2::signal<void(DtRwColor)> signal_setIconColor;
142  virtual void setupAdditionalItems();
143 
144  protected:
146  double myTime;
147  unsigned int myNewAppearance;
148  unsigned int myNewAppearanceMask;
151  std::string myGesture;
154  boost::signals2::connection mySetupConnection;
155  boost::signals2::connection myRangeItemsModifiedConnection;
156  };
157 
159  {
160  public:
162 
164  virtual ~DtVrfEntityKinStateListener() override;
165 
166  virtual void setNetVelocity(const DtVector32&, double pduTime) override;
167  virtual void setUseTemporaryVelocity(bool b, double speed);
168 
169  protected:
170  DtVector32 myCurrentVelocity;
174  };
175 
177  {
178  public:
180  : makVrv::DT_PROTOCOL_NAMESPACE::DtEntityKinStateListenerCreator(connection)
181  {
182  }
183 
185  //functionality.
188  {
189  return new DtVrfEntityKinStateListener(stateListener, myConnection);
190  }
191  };
192 
195  {
196  public:
198  : DtVrlinkTacticalGraphicStateListener(connection, id),
199  DtTacticalGraphicListenerExtensions(id, connection) {}
200 
203 
204  protected:
205  virtual void postUpdate(DtReflectedControlObject* cObj) override;
206  };
207 
209  {
210  public:
214 
216  virtual ~DtVrfVrlinkEntityStateListenerCreator() override;
217 
218  #ifdef DtHLA
219  //functionality.
221  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener* create(DtHlaObject* object) override;
222  #endif
223 
224  #ifdef DtDIS
228  const DtEntityIdentifier& id, const DtEntityType& type) override;
229  #endif
230 
233  };
234 
239  {
240  public:
243 
245  virtual ~DtVrfWeatherStateListener() override;
246 
248  DtVrfWeatherStateListener() = delete;
249 
252 
254  DtVrfWeatherStateListener &operator=(const DtVrfWeatherStateListener &) = delete;
255 
256  protected:
257  virtual void postUpdate( DtReflectedControlObject* cObj ) override;
258 
259  protected:
262  };
263 
265  {
266  public:
268  virtual ~DtVrfWeatherStateListenerCreator() override;
269 
270  #ifdef DtHLA
271  //functionality.
273  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtWeatherStateListener* create(DtHlaObject* object) override;
274  #endif
275 
276  #ifdef DtDIS
280  const DtEntityIdentifier& id, const DtEntityType& type) override;
281  #endif
282 
285  };
286 
289  {
290  public:
292 
294  virtual ~DtVrfVrlinkAggregateStateListener() override;
295 
297  virtual void updateSubordinates() override;
298 
300  virtual void executeSetColor(DtRwColor color) override;
301  virtual void queueRangeItemsModified(const DtStateData* sd);
302  virtual void rangeItemsModified(const DtStateData* sd);
303  virtual bool updateAggregateSpecificData(const DtStateData* sd);
304  boost::signals2::signal<void(DtRwColor)> signal_setIconColor;
305  virtual bool rangeItemsFrom(const DtStateData* sd,
306  const std::vector<DtRangeItem>& sourceItems, std::vector<DtRangeItem>& items);
307 
308  protected:
309  virtual void setAlgorithm() override;
310  virtual void postUpdate(DtReflectedAggregate*) override;
311  virtual void setupAdditionalItems();
312 
313  protected:
316  boost::signals2::connection mySetupConnection;
317  boost::signals2::connection myRangeItemsModifiedConnection;
318  };
319 
321  {
322  public:
323 
327 
329  virtual ~DtVrfVrlinkAggregateStateListenerCreator() override;
330 
331  #ifdef DtHLA
332  //functionality.
334  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener* create(DtHlaObject* object) override;
335  #endif
336 
337  #ifdef DtDIS
341  const DtEntityIdentifier& id, const DtEntityType& type) override;
342  #endif
343 
346  };
347 
350  {
351  public:
352 
355 
356  virtual DtReflectedExtAggregateList* create(
358 
359  #if DtHLA
360  virtual DtReflectedExtAggregateList* create(
361  makVrv::DT_PROTOCOL_NAMESPACE::DtAggregateExistenceListener&, const DtDDMRegionSet*) override;
362  #endif
363 
364  protected:
366  };
367 
370  {
371  public:
372 
375 
377 #if DtHLA
378  virtual DtReflectedAerodromeList* create(makVrv::DT_PROTOCOL_NAMESPACE::DtAerodromeExistenceListener&, const DtDDMRegionSet*) override;
379 #endif
380 
381  protected:
383  };
384 
388  {
389  public:
390 
393  makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& c) : DtVrlinkTacticalGraphicStateListenerCreator(c) {};
394 
397 
398  #ifdef DtHLA
399  //functionality.
402  DtHlaObject* object) override
403  {
404  return new DtVrfVrlinkTacticalGraphicStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
405  }
406  #endif
407 
408  #if DtDIS
412  const DtEntityIdentifier& id, const DtEntityType& type) override
413  {
414  return new DtVrfVrlinkTacticalGraphicStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
415  }
416  #endif
417  };
418 
420  {
421  public:
423 
425  virtual ~DtVrfEntityStateInterceptorCreator() override;
426 
427  virtual DtEntityStateRepository* create(
429 
431  };
432 
434  {
435  public:
438 
440  virtual ~DtVrfTimeAndDateProcessor() override;
441 
442  virtual void onTimeAndDateDiscovered(DtTimeAndDateStateRepository* timeAndDateSR) override;
443  virtual void onTimeAndDateToBeDestroyed(const DtGlobalObjectDesignator& id) override;
444 
445  boost::signals2::signal<void (DtTimeAndDateStateRepository*)> signal_timeAndDateDiscovered;
446  };
447  }
448 }
DtVrvAggregateReflectedListCreator is the creator class for the DtReflectedExtAggregateList.
Definition: DtAggregateExistenceListener.h:32
Contains the DtReflectedExtEntityList class declaration.
Creator class for the DtEntityKinStateListener.
Definition: DtEntityKinStateListener.h:159
Contains the DtReflectedExtEntity class declaration.
Definition: tacticalGraphicListenerExtensions.h:19
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:21
Contains makVrv::DtReflectedEntityStateInterceptor class.
DtVector32 myTemporaryVelocity
Definition: vrfVrvExtensions.h:173
Contains makVrv::DtTimeAndDateProcessor class.
DtAerodromeExistenceListener is a rooted singleton that creates a reflected aerodrome list and provid...
Definition: DtAerodromeExistenceListener.h:40
A Creator class for creating Entity State Interceptors.
Definition: DtAggregateStateInterceptorCreator.h:23
Weather and ToD state listener.
Definition: vrfVrvExtensions.h:237
Weather and ToD state listener.
Definition: DtWeatherStateListener.h:36
Contains the DtUUID class declaration.
Contains the DtSensorFieldOfViewPublisher class declaration.
UpdateStruct32 myCopyVelocityValue
Definition: vrfVrvExtensions.h:171
Contains makVrv::DtEntityElementProcessor class.
virtual makVrv::DT_PROTOCOL_NAMESPACE::DtEntityKinStateListener * create(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener &stateListener) const override
Default create implementation, override to provide additional.
Definition: vrfVrvExtensions.h:186
DtString myTimeSetToLocalOnFirstPlacement
Definition: vrfVrvExtensions.h:261
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
Contains makVrv::DtWeatherStateListener class.
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
Definition: entityStateListenerExtensions.h:102
#define VRF_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:14
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
bool myUseTemporaryVelocity
Definition: vrfVrvExtensions.h:172
boost::signals2::signal< void(DtTimeAndDateStateRepository *)> signal_timeAndDateDiscovered
Definition: vrfVrvExtensions.h:445
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtVector32 myCurrentVelocity
Definition: vrfVrvExtensions.h:170
DtString myCanSetScenarioPreStartTime
Definition: vrfVrvExtensions.h:260
DtAggregateExistenceListener class listens for the creation of aggregates and creates. specialized classes to monitor those vr-link aggregate items.
Definition: DtAggregateExistenceListener.h:54
Base class to provide boost signal/slot management.
The DtTimeAndDateProcessor listens for signals from DtTimeAndDateExistenceListener and handle the cre...
Definition: DtTimeAndDateProcessor.h:32
Entity Kin State listener. The DtVrlinkEntityStateListener passes in network values (e...
Definition: DtEntityKinStateListener.h:31
class DtReflectedExtAggregateList:
Definition: reflectedExtAggregateList.h:27
Contains makVrv::DtEntityKinStateListener class.
Creator class for the DtWeatherStateListener.
Definition: DtWeatherStateListener.h:409
Creator class for the AggregateStateListener.
Definition: DtVrlinkAggregateStateListener.h:288
DtVrfEntityKinStateListenerCreator(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection &connection)
Definition: vrfVrvExtensions.h:179
Contains the DtSharedEntityDisplaySettings class declaration.
Contains makVrv::DtAgentManagerInterface class.
A Creator class for creating Entity State Interceptors.
Definition: DtEntityStateInterceptorCreator.h:28
Definition: reflectedControlObject.h:26

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)