VR-Forces 4.8 Class Documentation
 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 
19 
33 
39 //#include <vrvVrl/DtVrlink2DAggregateMilStdIconVisualizer.inl>
41 
42 
45 
46 #include <vrvCore/DtEntityState.h>
51 
52 #include <vrfutil/rwUUID.h>
53 
54 #include <vlpi/entityType.h>
55 #include <matrix/vlVector.h>
56 
57 #if DtHLA
59 #else
61 #endif
62 #include "vrfutil/rwColor.h"
64 
66 
67 namespace makVrv
68 {
69  class DtVrlinkElement;
70  class DtEmbarkationUpdaterAgent;
71 
72  namespace DT_PROTOCOL_NAMESPACE
73  {
74  class DtEntitySimDataProcessor;
75  class DtAggregateElement;
76  class DtVrlinkTacticalGraphicStateListener;
78  }
79 }
80 
81 namespace makVrf
82 {
83  namespace VRF_PROTOCOL_NAMESPACE
84  {
86  {
87  public:
88  static DtAggregateStateInterceptorCreator& instance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim);
89 
92 
94 
96  };
97 
100  {
101  public:
102 
104  makVrv::DtStateListener& listener, int modelSet);
105 
108 
109  protected:
110 
111  virtual void modelDefinitionCreated(const std::string&);
112 
114  virtual void forceSet(int);
115  };
116 
119 
122  {
123  public:
125 
128 
130  {
131  return myBlockAnimationChange;
132  }
133 
134  bool gestureChangeBlocked() const
135  {
136  return myBlockGestureChange;
137  }
138 
139  virtual void setBlockAnimationChange(bool b, double speed = 0.);
140  virtual void setBlockGestureChange(bool b);
141  virtual void setFrozen(bool);
142 
143  virtual void postUpdate();
144 
145  bool blockAnimationChange(bool b, double speed = 0.)
146  {
147  bool old = myBlockAnimationChange;
148 
149  setBlockAnimationChange(b, speed);
150 
151  return old;
152  }
153 
154  virtual void setCharacterAction( const std::string& action, bool paused, float speed, bool usePositioning,
155  const DtVector&, int autoChooseTransitionBehavior );
156  virtual void executeCharacterAction(const std::string&);
157  virtual void setAppearance(unsigned int, bool);
159  virtual void executeSetColor(DtRwColor color);
160  virtual void executeGesture(const std::string& gestureName, int reps, float overallDuration, float channel_A_weight);
161 
162  boost::signals2::signal<void (bool, double)> signal_useTemporaryVelocity;
163  boost::signals2::signal<void(DtRwColor)> signal_setIconColor;
164 
165  protected:
167  DtVector32 myCurrentVelocity;
168  double myTime;
169  unsigned int myNewAppearance;
172  std::string myGesture;
173  };
174 
177  {
178  public:
180  : DtVrlinkTacticalGraphicStateListener(connection, id),
182 
185 
186  protected:
187  virtual void postUpdate(DtReflectedControlObject* cObj);
188  };
189 
191  {
192  public:
193 
197 
200 
201  #ifdef DtHLA
202  //functionality.
204  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener* create(DtHlaObject* object);
205  #endif
206 
207  #ifdef DtDIS
208  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener* create(const DtEntityIdentifier& id,
211  const DtEntityType& type);
212  #endif
213 
216  };
217 
218 
221  {
222  public:
224 
227 
229  virtual void updateSubordinates();
230 
232  virtual void executeSetColor(DtRwColor color);
233  boost::signals2::signal<void(DtRwColor)> signal_setIconColor;
234 
235  protected:
236  virtual void slot_subordinateAdded(const DtUUID&, const DtUUID&);
237  virtual void slot_subordinateRemoved(const DtUUID&, const DtUUID&);
238  virtual const DtUUID& uuid();
239 
240  protected:
241  std::set<std::string> myOrbatOnlySubordinates;
245  };
246 
248  {
249  public:
250 
254 
257 
258  #ifdef DtHLA
259  //functionality.
261  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener* create(DtHlaObject* object);
262  #endif
263 
264  #ifdef DtDIS
265  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener* create(const DtEntityIdentifier& id,
268  const DtEntityType& type);
269  #endif
270 
273  };
274 
277  {
278  public:
279 
282 
284 
285  #if DtHLA
287  #endif
288 
289  protected:
291  };
292 
296  {
297  public:
298 
301  makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& c) : DtVrlinkTacticalGraphicStateListenerCreator(c) {};
302 
305 
306  #ifdef DtHLA
307  //functionality.
310  {
311  return new DtVrfVrlinkTacticalGraphicStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
312  }
313  #endif
314 
315  #if DtDIS
319  const DtEntityIdentifier& id, const DtEntityType& type)
320  {
321  return new DtVrfVrlinkTacticalGraphicStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
322  }
323  #endif
324  };
325 
334  {
335  public:
337 
338  #if DtHLA
340  const DtDDMRegionSet& regionsToUse);
341  #endif
342 
344 #if DtHLA
345  virtual DtReflectedEntity* newReflectedObject(DtHlaObject* obj) const;
349 
353  virtual void removeAndDelete(DtReflectedObject* entity, char* msg = NULL);
354  virtual void resolveOrphans();
355 #endif
356 
357  #if DtDIS
358 
359  //Hacked class which allows setting the esr of an newly created reflected
360  //Entity
362  {
363  public:
364  DtVrfVrvReflectedEntity(DtExerciseConn* conn,
365  const DtEntityIdentifier& id,
366  const DtEntityType& type,
368  : DtReflectedExtEntity(conn,id,type)
369  {
370  delete myEntityStateRep;
371  myEntityStateRep = esr;
372  myEntityStateRep->setClock(conn->clock());
373  myEntityStateRep->setGlobalId(id);
374  myEntityStateRep->setDisObjectManager( conn->disObjectManager() );
375  }
376 
377  };
378 
383  virtual DtReflectedEntity* newReflectedEntity(
384  const DtEntityIdentifier& id,
385  const DtEntityType& type) const;
386 
389  virtual void removeAndDelete(DtReflectedObject* obj, char* msg = NULL);
390  #endif
391 
392  //Whenever an entity is added.
393  virtual void objectAdded(DtReflectedObject* ent);
394 
395  protected:
396 
397  typedef std::map<DtReflectedExtEntity*,makVrv::DtEntityStateListener*>
399 
400 
403  };
404 
410  {
411  public:
414  makVrv::DtStateListener& listener, int modelSet);
415 
418 
420  virtual void createModelAgents();
421 
422  protected:
423  virtual bool hasPhysicalFootprint();
424  };
425 
428 
434  {
435  public:
438  makVrv::DtStateListener& listener, int modelSet);
439 
442 
444  virtual void createModelAgents();
445 
446  protected:
447  virtual bool hasPhysicalFootprint();
448  };
449 
452 
454  {
455  public:
457 
460 
462 
464  };
465 
467  {
468  public:
469 
472  makVrv::DtStateListener& listener, int modelSet );
473 
476 
477  virtual void createModelAgents();
478  };
479 
482 
484  {
485  public:
486 
489  makVrv::DtStateListener& listener, int modelSet );
490 
493  virtual void setVelocity(const DtVector32& v);
494  virtual void setVelocity(const DtVector32& a, double pduTime);
495 
496  virtual void setUseTemporaryVelocity(bool b, double speed);
497  virtual void postUpdate();
498  virtual void startDeadReckoning();
499 
500  protected:
504  };
505 
508  }
509 
511  {
512  public:
514  : makVrv::DT_PROTOCOL_NAMESPACE::DtCloudLayerStateListener(sim, id)
515  {
516  }
517 
519  {
520  }
521 
522  virtual bool visualize() const { return true; }
523  };
524 
526  {
527  public:
529  : makVrv::DT_PROTOCOL_NAMESPACE::DtCloudLayerStateListenerCreator(sim)
530  {
531  }
532 
533 #ifdef DtHLA
534  //functionality.
537  {
538  return new DtVrfCloudLayerStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
539  }
540 #endif
541 
542 #ifdef DtDIS
543  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface* create(const DtEntityIdentifier& id,
546  const DtEntityType& type)
547  {
548  return new DtVrfCloudLayerStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
549  }
550 #endif
551  };
552 
557  {
558  public:
561  int modelSet);
562 
565 
567  virtual void setColor(const DtRwColor& color);
568 
570  virtual void setForceColor(float r, float g, float b, float a);
571  virtual void updateSymbol();
572 
573  protected:
574  DtEntityType myEntityType;
576 
577  };
578 
581 
586  {
587  public:
590  int modelSet);
591 
594 
595  protected:
596  virtual void implementVisibility( bool visible );
597  };
598 
601 
606  {
607  public:
610  int modelSet);
611 
614 
616  virtual void setColor(const DtRwColor& color);
617 
619  virtual void setForceColor(float r, float g, float b, float a);
620  virtual void updateSymbol();
621 
622  protected:
623  DtEntityType myEntityType;
625 
626  };
627 
630 
631 }
DtVrvAggregateReflectedListCreator is the creator class for the DtReflectedExtAggregateList.
Definition: DtAggregateExistenceListener.h:35
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
Contains the DtReflectedExtEntityList class declaration.
Contains the DtReflectedExtEntity class declaration.
Definition: vrfVrvExtensions.h:525
makVrv::DtStateVisualizerCreatorTemplate< DtVrfVrlink3DAggregateExtentVisualizer > DtVrfVrlink3DAggregateExtentVisualizerCreator
Definition: vrfVrvExtensions.h:427
Definition: reflectedExtEntity.h:31
makVrv::DtStateVisualizerCreatorTemplate< DtVrfVrlinkEntityArticulatedStateModelVisualizer > DtVrfVrlinkEntityArticulatedStateModelVisualizerCreator
Definition: vrfVrvExtensions.h:481
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
Contains makVrv::DtVrlink2DAggregateMilStdIconVisualizer class.
Contains makVrv::DtReflectedEntityStateInterceptor class.
DtEntityType myEntityType
Definition: vrfVrvExtensions.h:623
DtVrfCloudLayerStateListenerCreator(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection &sim)
Definition: vrfVrvExtensions.h:528
makVrv::DtStateVisualizerCreatorTemplate< DtVrfVrlink2DAggregateExtentVisualizer > DtVrfVrlink2DAggregateExtentVisualizerCreator
Definition: vrfVrvExtensions.h:451
This class extends DtReflectedExtEntityList, which is defined in the VrfVrlinkExt solution/codebase...
Definition: vrfVrvExtensions.h:333
Contains makVrv::DtVrlink2DAggregateExtentVisualizer class.
A Creator class for creating Entity State Interceptors.
Definition: DtAggregateStateInterceptorCreator.h:26
Contains the makVrv::DtVrfTacticalGraphicImageSymbolVisualizer class declaration. ...
bool usingForceColor
Definition: vrfVrvExtensions.h:624
ReflectedEntityListenerMap myReflectedEntityListenerMap
Definition: vrfVrvExtensions.h:402
Definition: DtStateVisualizer.h:309
Protocol specific military symbol icon visualizer.
Definition: DtVrlink2DAggregateMilStdIconVisualizer.h:30
Creator class for the DtCloudLayerStateListener.
Definition: DtCloudLayerStateListener.h:200
makVrv::DtStateVisualizerCreatorTemplate< DtVrfVrlinkEntityOffsetDIGuyStateVisualizer > DtVrfVrlinkEntityOffsetDIGuyStateVisualizerCreator
Definition: vrfVrvExtensions.h:600
virtual bool visualize() const
Override and return true to visualize the 2D cloud box; false by default.
Definition: vrfVrvExtensions.h:522
Contains the DtSensorFieldOfViewPublisher class declaration.
makVrv::DtStateVisualizerCreatorTemplate< DtVrfVrlink2DEntityStateVisualizer > DtVrfVrlink2DEntityStateVisualizerCreator
Definition: vrfVrvExtensions.h:580
Definition: entityStateListenerExtensions.h:31
Contains the makVrv::DtCloudLayerStateListener class declaration.
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
DtVrfVrlink2DEntityStateVisualizer used for changing icon color &amp; transparency in entities...
Definition: vrfVrvExtensions.h:555
Definition: entityStateListenerExtensions.h:71
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
DtVrfVrlink3DAggregateExtentVisualizer will never a bounding volume if an aggregate has a physical fo...
Definition: vrfVrvExtensions.h:408
Contains makVrv::DtEntityMilStdIconVisualizer class.
DtVrlink2DAggregateExtentVisualizer will specialze the Dt2DAggregateExtentVisualizer to allow coloriz...
Definition: DtVrlink2DAggregateExtentVisualizer.h:21
DtVrfVrlink3DAggregateExtentVisualizer will never a bounding volume if an aggregate has a physical fo...
Definition: vrfVrvExtensions.h:432
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Contains makVrv::DtEntityState class.
makVrv::DtStateVisualizerCreatorTemplate< DtVrfVrlink2DAggregateStateVisualizer > DtVrfVrlink2DAggregateStateVisualizerCreator
Definition: vrfVrvExtensions.h:629
Definition: vrfVrvExtensions.h:510
DtVrlink3DAggregateExtentVisualizer will specialze the Dt3DAggregateExtentVisualizer to allow coloriz...
Definition: DtVrlink3DAggregateExtentVisualizer.h:21
DtVrfVrvReflectedEntity(DtExerciseConn *conn, const DtEntityIdentifier &id, const DtEntityType &type, DtEntityStateRepository *esr)
Definition: vrfVrvExtensions.h:364
Contains makVrv::DtVrlink3DAggregateExtentVisualizer class.
std::map< DtReflectedExtEntity *, makVrv::DtEntityStateListener * > ReflectedEntityListenerMap
Definition: vrfVrvExtensions.h:398
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
A visualizer for displaying an image as defined in a scenario event as a special case.
Definition: vrfTacticalGraphicImageSymbolVisualizer.h:22
The CloudLayer state listener is a factory-created DtVrlinkTacticalGraphicStateListener.
Definition: DtCloudLayerStateListener.h:42
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
DtAggregateExistenceListener class listens for the creation of aggregates and creates.
Definition: DtAggregateExistenceListener.h:57
bool usingForceColor
Definition: vrfVrvExtensions.h:575
Base class to provide boost signal/slot management.
makVrv::DtStateVisualizerCreatorTemplate< DtVrfVrlinkEntityKinStateVisualizer > DtVrfVrlinkEntityKinStateVisualizerCreator
Definition: vrfVrvExtensions.h:507
The HLA 13 reflected entity list used by the driver to listen to reflected entities.
Definition: DtEntityExistenceListener.h:65
DtVrfVrlink2DAggregateStateVisualizer used for changing icon color &amp; transparency in aggregate units...
Definition: vrfVrvExtensions.h:604
DtEntityType myEntityType
Definition: vrfVrvExtensions.h:574
class DtReflectedExtAggregateList:
Definition: reflectedExtAggregateList.h:27
makVrv::DT_PROTOCOL_NAMESPACE::DtEntityExistenceListener & myListener
Definition: vrfVrvExtensions.h:401
DtVrfCloudLayerStateListener(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection &sim, makVrv::DtUniqueID id)
Definition: vrfVrvExtensions.h:513
Creator class for the AggregateStateListener.
Definition: DtVrlinkAggregateStateListener.h:133
virtual ~DtVrfCloudLayerStateListener()
Definition: vrfVrvExtensions.h:518
Contains the DtSharedEntityDisplaySettings class declaration.
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
Contains makVrv::DtAgentManagerInterface class.
A Creator class for creating Entity State Interceptors.
Definition: DtEntityStateInterceptorCreator.h:24
Contains makVrv::DtEntityExistenceListener class.
Definition: reflectedControlObject.h:26
virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface * create(DtHlaObject *object)
Default create implementation, override to provide additional.
Definition: vrfVrvExtensions.h:536
makVrv::DtStateVisualizerCreatorTemplate< DtVrfVrlinkTacticalGraphicImageSymbolVisualizer > DtVrfVrlinkTacticalGraphicImageSymbolVisualizerCreator
Definition: vrfVrvExtensions.h:118
class DtReflectedExtAggregateList:
Definition: reflectedExtEntityList.h:27

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)