VR-Forces 4.7 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 
18 
31 #include <vrvVrl/DtCloudLayerStateListener.h>
32 
37 
39 
42 
43 #include <vrvCore/DtEntityState.h>
48 
49 #include <vrfutil/rwUUID.h>
50 
51 #include <vlpi/entityType.h>
52 #include <matrix/vlVector.h>
53 
54 #if DtHLA
56 #else
58 #endif
59 
60 namespace makVrv
61 {
62  class DtVrlinkElement;
63  class DtEmbarkationUpdaterAgent;
64 
65  namespace DT_PROTOCOL_NAMESPACE
66  {
67  class DtEntitySimDataProcessor;
68  class DtAggregateElement;
69  class DtVrlinkTacticalGraphicStateListener;
71  }
72 }
73 
74 namespace makVrf
75 {
76  namespace VRF_PROTOCOL_NAMESPACE
77  {
79  {
80  public:
81  static DtAggregateStateInterceptorCreator& instance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim);
82 
85 
87 
89  };
90 
93  {
94  public:
95 
97  makVrv::DtStateListener& listener, int modelSet);
98 
101 
102  protected:
103 
104  virtual void modelDefinitionCreated(const std::string&);
105 
107  virtual void forceSet(int);
108  };
109 
112 
115  {
116  public:
118 
121 
122  bool animationChangeBlocked() const
123  {
124  return myBlockAnimationChange;
125  }
126 
127  virtual void setBlockAnimationChange(bool b, double speed = 0.);
128  virtual void setFrozen(bool);
129 
130  bool blockAnimationChange(bool b, double speed = 0.)
131  {
132  bool old = myBlockAnimationChange;
133 
134  setBlockAnimationChange(b, speed);
135 
136  return old;
137  }
138 
139  virtual void setCharacterAction( const std::string& action, bool paused, float speed, bool usePositioning,
140  const DtVector&, int autoChooseTransitionBehavior );
141  virtual void executeCharacterAction(const std::string&);
142  virtual void setAppearance(unsigned int, bool);
143 
144  boost::signal<void (bool, double)> signal_useTemporaryVelocity;
145 
146  protected:
148  DtVector32 myCurrentVelocity;
149  double myTime;
150  unsigned int myNewAppearance;
152  };
153 
156  {
157  public:
159  : DtVrlinkTacticalGraphicStateListener(connection, id),
161 
164 
165  protected:
166  virtual void postUpdate(DtReflectedControlObject* cObj);
167  };
168 
170  {
171  public:
172 
176 
179 
180  #ifdef DtHLA
181 
182  //functionality.
183  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener* create(DtHlaObject* object);
184  #endif
185 
186  #ifdef DtDIS
187 
188 
189  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener* create(const DtEntityIdentifier& id,
190  const DtEntityType& type);
191  #endif
192 
195  };
196 
197 
200  {
201  public:
203 
206 
208  virtual void updateSubordinates();
209 
210  protected:
211  virtual void slot_subordinateAdded(const DtUUID&, const DtUUID&);
212  virtual void slot_subordinateRemoved(const DtUUID&, const DtUUID&);
213  virtual const DtUUID& uuid();
214 
215  protected:
216  std::set<std::string> myOrbatOnlySubordinates;
220  };
221 
223  {
224  public:
225 
229 
232 
233  #ifdef DtHLA
234 
235  //functionality.
236  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener* create(DtHlaObject* object);
237  #endif
238 
239  #ifdef DtDIS
240 
241 
242  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener* create(const DtEntityIdentifier& id,
243  const DtEntityType& type);
244  #endif
245 
248  };
249 
252  {
253  public:
254 
257 
259 
260  #if DtHLA
262  #endif
263 
264  protected:
266  };
267 
271  {
272  public:
273 
276  makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& c) : DtVrlinkTacticalGraphicStateListenerCreator(c) {};
277 
280 
281  #ifdef DtHLA
282 
283  //functionality.
285  {
286  return new DtVrfVrlinkTacticalGraphicStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
287  }
288  #endif
289 
290  #if DtDIS
291 
292 
294  const DtEntityIdentifier& id, const DtEntityType& type)
295  {
296  return new DtVrfVrlinkTacticalGraphicStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
297  }
298  #endif
299  };
300 
309  {
310  public:
312 
313  #if DtHLA
315  const DtDDMRegionSet& regionsToUse);
316  #endif
317 
319 #if DtHLA
320 
321 
322 
323  virtual DtReflectedEntity* newReflectedObject(DtHlaObject* obj) const;
324 
328  virtual void removeAndDelete(DtReflectedObject* entity, char* msg = NULL);
329  virtual void resolveOrphans();
330 #endif
331 
332  #if DtDIS
333 
334  //Hacked class which allows setting the esr of an newly created reflected
335  //Entity
337  {
338  public:
339  DtVrfVrvReflectedEntity(DtExerciseConn* conn,
340  const DtEntityIdentifier& id,
341  const DtEntityType& type,
343  : DtReflectedExtEntity(conn,id,type)
344  {
345  delete myEntityStateRep;
346  myEntityStateRep = esr;
347  myEntityStateRep->setClock(conn->clock());
348  myEntityStateRep->setGlobalId(id);
349  myEntityStateRep->setDisObjectManager( conn->disObjectManager() );
350  }
351 
352  };
353 
358  virtual DtReflectedEntity* newReflectedEntity(
359  const DtEntityIdentifier& id,
360  const DtEntityType& type) const;
361 
364  virtual void removeAndDelete(DtReflectedObject* obj, char* msg = NULL);
365  #endif
366 
367  //Whenever an entity is added.
368  virtual void objectAdded(DtReflectedObject* ent);
369 
370  protected:
371 
372  typedef std::map<DtReflectedExtEntity*,makVrv::DtEntityStateListener*>
374 
375 
378  };
379 
385  {
386  public:
389  makVrv::DtStateListener& listener, int modelSet);
390 
393 
395  virtual void createModelAgents();
396 
397  protected:
398  virtual bool hasPhysicalFootprint();
399  };
400 
403 
409  {
410  public:
413  makVrv::DtStateListener& listener, int modelSet);
414 
417 
419  virtual void createModelAgents();
420 
421  protected:
422  virtual bool hasPhysicalFootprint();
423  };
424 
427 
429  {
430  public:
432 
435 
437 
439  };
440 
442  {
443  public:
444 
447  makVrv::DtStateListener& listener, int modelSet );
448 
451 
452  virtual void createModelAgents();
453  };
454 
457 
459  {
460  public:
461 
464  makVrv::DtStateListener& listener, int modelSet );
465 
468  virtual void setVelocity(const DtVector32& v);
469  virtual void setVelocity(const DtVector32& a, double pduTime);
470 
471  virtual void setUseTemporaryVelocity(bool b, double speed);
472  virtual void postUpdate();
473 
474  protected:
478  };
479 
482  }
483 
484  class VRF_PROTOCOL_EXPORT DtVrfCloudLayerStateListener : public makVrv::DT_PROTOCOL_NAMESPACE::DtCloudLayerStateListener
485  {
486  public:
489  {
490  }
491 
493  {
494  }
495 
496  virtual bool visualize() const { return true; }
497  };
498 
499  class VRF_PROTOCOL_EXPORT DtVrfCloudLayerStateListenerCreator : public makVrv::DT_PROTOCOL_NAMESPACE::DtCloudLayerStateListenerCreator
500  {
501  public:
504  {
505  }
506 
507 #ifdef DtHLA
508 
509  //functionality.
511  {
512  return new DtVrfCloudLayerStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
513  }
514 #endif
515 
516 #ifdef DtDIS
517 
518 
520  const DtEntityType& type)
521  {
522  return new DtVrfCloudLayerStateListener(mySim, mySim.sceneInterface().createNewUniqueId());
523  }
524 #endif
525  };
526 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)