VR-Forces 5.0.3 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>
32 
35 
36 #include <vrvCore/DtEntityState.h>
41 
42 #include <vrfutil/rwUUID.h>
43 
44 #include <vlpi/entityType.h>
45 #include <matrix/vlVector.h>
46 
47 #if DtHLA
49 #else
51 #endif
52 #include "vrfutil/rwColor.h"
53 
54 namespace makVrv
55 {
56  class DtVrlinkElement;
57  class DtEmbarkationUpdaterAgent;
58 
59  namespace DT_PROTOCOL_NAMESPACE
60  {
61  class DtEntitySimDataProcessor;
62  class DtVrlinkAggregateElement;
63  class DtVrlinkTacticalGraphicStateListener;
65  }
66 }
67 
68 namespace makVrf
69 {
70  namespace VRF_PROTOCOL_NAMESPACE
71  {
73  {
74  public:
75  static DtAggregateStateInterceptorCreator& instance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim);
76 
79 
81 
83  };
84 
87  {
88  public:
90 
93 
95  {
96  return myBlockAnimationChange;
97  }
98 
99  bool gestureChangeBlocked() const
100  {
101  return myBlockGestureChange;
102  }
103 
104  virtual void setBlockAnimationChange(bool b, double speed = 0.);
105  virtual void setBlockGestureChange(bool b);
106  virtual void setFrozen(bool);
107 
108  virtual void reflectedEntityPostUpdate();
109 
110  bool blockAnimationChange(bool b, double speed = 0.)
111  {
112  bool old = myBlockAnimationChange;
113 
114  setBlockAnimationChange(b, speed);
115 
116  return old;
117  }
118 
119  virtual void setCharacterAction( const std::string& action, bool paused, float speed, bool usePositioning,
120  const DtVector&, int autoChooseTransitionBehavior, float transitionSpeed );
121  virtual void executeCharacterAction(const std::string&);
122  virtual void setAppearanceBits( unsigned int mask, unsigned int newValue, bool force = false );
124  virtual void executeSetColor(DtRwColor color);
125  virtual void executeGesture(const std::string& gestureName, int reps, float overallDuration, float channel_A_weight);
126 
127  boost::signals2::signal<void(DtRwColor)> signal_setIconColor;
128 
129  protected:
131  double myTime;
132  unsigned int myNewAppearance;
133  unsigned int myNewAppearanceMask;
136  std::string myGesture;
138  };
139 
141  {
142  public:
144 
146  virtual ~DtVrfEntityKinStateListener();
147 
148  virtual void setNetVelocity(const DtVector32&, double pduTime);
149  virtual void setUseTemporaryVelocity(bool b, double speed);
150 
151  protected:
152  DtVector32 myCurrentVelocity;
156  };
157 
159  {
160  public:
162  : makVrv::DT_PROTOCOL_NAMESPACE::DtEntityKinStateListenerCreator(connection)
163  {
164  }
165 
167  //functionality.
170  {
171  return new DtVrfEntityKinStateListener(stateListener, myConnection);
172  }
173  };
174 
177  {
178  public:
180  : DtVrlinkTacticalGraphicStateListener(connection, id),
182 
185 
186  protected:
187  virtual void postUpdate(DtReflectedControlObject* cObj);
188  };
189 
191  {
192  public:
196 
199 
200  #ifdef DtHLA
201  //functionality.
203  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener* create(DtHlaObject* object);
204  #endif
205 
206  #ifdef DtDIS
207  virtual makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener* create(const DtEntityIdentifier& id,
210  const DtEntityType& type);
211  #endif
212 
215  };
216 
217 
220  {
221  public:
223 
226 
228  virtual void updateSubordinates();
229 
231  virtual void executeSetColor(DtRwColor color);
232  boost::signals2::signal<void(DtRwColor)> signal_setIconColor;
233 
234  protected:
235  virtual void slot_subordinateAdded(const DtUUID&, const DtUUID&);
236  virtual void slot_subordinateRemoved(const DtUUID&, const DtUUID&);
237  virtual const DtUUID& uuid();
238  virtual void setAlgorithm();
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 
406  {
407  public:
409 
412 
414 
416  };
417  }
418 }
DtVrvAggregateReflectedListCreator is the creator class for the DtReflectedExtAggregateList.
Definition: DtAggregateExistenceListener.h:32
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
virtual makVrv::DT_PROTOCOL_NAMESPACE::DtEntityKinStateListener * create(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener &stateListener) const
Default create implementation, override to provide additional.
Definition: vrfVrvExtensions.h:168
Contains the DtReflectedExtEntityList class declaration.
Creator class for the DtEntityKinStateListener.
Definition: DtEntityKinStateListener.h:157
Contains the DtReflectedExtEntity class declaration.
Definition: tacticalGraphicListenerExtensions.h:19
Definition: reflectedExtEntity.h:31
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
Contains makVrv::DtReflectedEntityStateInterceptor class.
This class extends DtReflectedExtEntityList, which is defined in the VrfVrlinkExt solution/codebase...
Definition: vrfVrvExtensions.h:333
DtVector32 myTemporaryVelocity
Definition: vrfVrvExtensions.h:155
A Creator class for creating Entity State Interceptors.
Definition: DtAggregateStateInterceptorCreator.h:23
ReflectedEntityListenerMap myReflectedEntityListenerMap
Definition: vrfVrvExtensions.h:402
Contains the DtUUID class declaration.
Contains the DtSensorFieldOfViewPublisher class declaration.
UpdateStruct32 myCopyVelocityValue
Definition: vrfVrvExtensions.h:153
Contains makVrv::DtEntityElementProcessor class.
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
#define DT_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:17
Definition: entityStateListenerExtensions.h:81
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElementProcessor & myListener
Definition: vrfVrvExtensions.h:401
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtVrlinkSimulatedEntityState class.
bool myUseTemporaryVelocity
Definition: vrfVrvExtensions.h:154
DtVrfVrvReflectedEntity(DtExerciseConn *conn, const DtEntityIdentifier &id, const DtEntityType &type, DtEntityStateRepository *esr)
Definition: vrfVrvExtensions.h:364
std::map< DtReflectedExtEntity *, makVrv::DtEntityStateListener * > ReflectedEntityListenerMap
Definition: vrfVrvExtensions.h:398
DtVector32 myCurrentVelocity
Definition: vrfVrvExtensions.h:152
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 DtEntityElementProcessor creates a reflected entity list, which calls on this class to create DtV...
Definition: DtEntityElementProcessor.h:48
Entity Kin State listener. The DtVrlinkEntityStateListener passes in network values (e...
Definition: DtEntityKinStateListener.h:29
class DtReflectedExtAggregateList:
Definition: reflectedExtAggregateList.h:27
Contains makVrv::DtEntityKinStateListener class.
Creator class for the AggregateStateListener.
Definition: DtVrlinkAggregateStateListener.h:287
DtVrfEntityKinStateListenerCreator(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection &connection)
Definition: vrfVrvExtensions.h:161
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
class DtReflectedExtAggregateList:
Definition: reflectedExtEntityList.h:27

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)