VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
entityFacadeCollection.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
17 
22 #include <vrvUtil/DtUnicode.h>
23 #include <vrvVrl/DtForceManager.h>
24 
25 #include <matrix/vlVector.h>
26 #include <matrix/vlTaitBryan.h>
27 
28 #include <string>
29 #include <map>
30 
31 class DtEntityType;
32 
33 namespace makVrv
34 {
35  class DtVisualDefinitionSet;
36  class DtAgentManagerInterface;
37  class DtDe;
38  class DtBaseConnection;
39 }
40 
41 namespace makVrf
42 {
43  class DtBoundingVolumeSupportPointCalculator;
44 
46  {
47  public:
49  int modelSet) : makVrv::DtStateVisualizer(connection, listener, modelSet) {};
50 
51  int modelSet() const { return myModelSet; };
52  };
53 
55  {
56  public:
57  DtExtAggregateStateListener(makVrv::DtUniqueID id) : makVrv::DtAggregateStateListener(id), DtEntityStateListenerExtensions(id) {};
59  };
60 
62  {
63  public:
64  typedef std::map<int, makVrv::DtVisualizerSet*> ModelSetMap;
65 
66  public:
67  DtEntityFacadeCollection(makVrv::DtDe&, int modelSet = -1);
68  virtual ~DtEntityFacadeCollection();
69 
70  public:
72 
74  virtual void visualize(const makVrv::DtUnicode& type,
76 
77  const ModelSetMap& modelSetMap() const
78  {
79  return myModelSetMap;
80  }
81 
82  ModelSetMap& modelSetMap()
83  {
84  return myModelSetMap;
85  }
86 
87  virtual bool isVisualized() const;
88 
90  virtual void setupNodeMaskFlags() const;
91 
93  virtual void setSetupNodeMaskFlags(bool);
94 
98  virtual std::map<int, std::vector<int> > modelStates(int modelSet) const;
99 
102  virtual void setModelState(int modelSet, int, int);
103 
105  virtual void setTopographicOrientation(const DtTaitBryan& orientation);
106 
108  virtual void setLocalOrientation(const DtTaitBryan& orientation);
109 
111  virtual void setOrigin(const DtVector& v);
112  virtual void setOrigin(const DtGeodeticCoord& v);
113 
115  virtual void setOriginAndSeaLevel(const DtVector& v);
116  virtual void setOriginAndSeaLevel(const DtGeodeticCoord& v);
117 
118  virtual void setDropShadow(bool b);
119  virtual void setLocationOffsetFromPrincipal( const DtGeodeticCoord& offset, bool resetLocation = true );
120  virtual void setAltitudeOffsetFromPrincipal( double offset, bool resetLocation = true );
121 
123  virtual void setForceId(int);
124  int forceId() const;
125  virtual bool hasForceChange() const;
126 
128  virtual double initialAltitudeAboveTerrain() const;
129 
130  virtual makVrv::DtBaseConnection& baseConnection() const;
131 
133  void setHatLineVisible( bool visible );
134 
136  void setTrackHistoryVisible( bool visible );
137 
139  virtual void setVisible(bool b);
140  virtual void setVisible(bool, int context);
141  virtual bool isVisible() const;
142 
144  virtual void setUseHighestTerrainLod(bool);
145 
147  virtual void setPickable(bool b);
148 
150  virtual void setSelected(bool b);
151 
153  virtual void setLabel(const std::string& label);
154  virtual std::string label() const;
155  virtual bool hasLabelChange() const;
156 
158  virtual void setExtendedLabels(const std::map<int, DtString>& labels);
159  virtual std::map<int, DtString> extendedLabels() const;
160  virtual bool hasExtendedLabelsChange() const;
161 
163  virtual void setOverlayName(const std::string&);
164  virtual std::string overlayName() const;
165 
167  virtual void setIndicatorVisible(bool b);
168 
170  virtual Dt3dBoundingVolume boundingVolume(int modelSet = 0) const;
171 
173  virtual void calculateSupportPoints(int modelSet, DtVector& left, DtVector& right, DtVector& other) const;
174 
176  virtual void setAttachedTo(DtVrfObjectFacadeInterface*, const DtVector& offset, const DtTaitBryan&);
177  virtual void detach();
178 
179  virtual void setUniqueID(makVrv::DtUniqueID);
180  virtual makVrv::DtUniqueID uniqueID() const;
181  virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs() const;
182 
184  virtual void setWidgetEventsEnabled(bool b);
185 
187  virtual void setGroundClamping(bool b);
188  virtual void setDeadReckoning(bool position, bool velocity, bool orientation);
189 
191  virtual void setSymbolDecorationOffset(double x, double y);
192 
194  virtual void setAutoEnableGroundClamping(bool b);
195 
197  virtual void realizeFacades();
198 
200  virtual void unrealizeFacades();
201 
204  virtual void setDictionaryToDisplay(int);
205  bool dictionaryToDisplay() const { return myDictionaryToDisplay; };
206 
209  virtual bool hasProjectedModel(int modelSet) const;
210 
214  virtual void setElementDefinition(const makVrv::DtUnicode& elementName);
215 
217  virtual const makVrv::DtUnicode& elementDefinition() const;
218 
221  virtual void setElementDefinition(const DtEntityType&);
222 
224  void setSmoothingEnabled(bool enabled);
225 
227  void setMotionModel(const std::string&);
228 
230  virtual void setHeadingIndicatorVisible(bool);
231 
233  virtual void setHeadingIndicatorSize(float l);
234 
236  virtual bool isDiGuy() const { return myIsDiGuy; };
237 
239  virtual DtVector position() const;
240 
241  virtual makVrv::DtUniqueID uniqueIDForModelSet(int set) const;
242 
244  virtual void setEffectsVisible(bool);
245 
247  virtual bool shouldEnableTrailEffects() const;
248 
250  virtual void enableTrailEffect(bool);
251 
254  virtual void setAltitudeAboveTerrain(double d);
255 
258  virtual void setAltitudeAboveSeaLevel(double d);
259 
261  virtual bool hasWakeModel(int set);
262  virtual void setWakeLOD(double);
263 
264  virtual const DtVector32& velocity() const;
265  virtual void setVelocity(const DtVector32& v);
266 
268  template <typename T> void visualizers(int modelSet, std::vector<T>& visualizers) const
269  {
270  if (myModelSetMap.find(modelSet) == myModelSetMap.end())
271  {
272  return;
273  }
274 
275  myModelSetMap.find(modelSet)->second->findVisualizersByDynamicCast(visualizers);
276  }
277 
279  template <typename T> bool hasVisualizer(makVrv::DtVisualizerSet* s) const
280  {
281  if (!s)
282  {
283  return false;
284  }
285 
286  std::vector<T> visualizers;
287  s->findVisualizersByDynamicCast(visualizers);
288 
289  return (visualizers.size() != 0);
290  }
291 
293  virtual void setIconScale(float);
294  template <typename T> void setIconScale(makVrv::DtVisualizerSet* s, float scale)
295  {
296  std::vector<T> visualizers;
297  s->findVisualizersByDynamicCast(visualizers);
298  typename std::vector<T>::iterator i = visualizers.begin();
299  typename std::vector<T>::iterator e = visualizers.end();
300  for(;i != e; ++i)
301  {
302  if (*i)
303  {
304  (*i)->setIconScale(scale);
305  }
306  }
307  }
308 
309  virtual void setExtendedData(const std::map<std::string, std::string>&);
310  virtual std::map<std::string, std::string> extendedData() const;
311 
312  virtual void destroySchema(const makVrv::DtVisualizerSchema&);
313 
315  virtual void setEntityExtents(const DtVector& volume, const DtVector& offset);
316 
318  virtual bool hasBoundingVolumes() const;
319 
321  virtual void setEntityExtentsVisible(bool, int modelSet = -1);
322  template <typename T> void setEntityExtentsVisible(makVrv::DtVisualizerSet* s, bool b, int modelSet = -1)
323  {
324  std::vector<T> visualizers;
325  s->findVisualizersByDynamicCast(visualizers);
326  typename std::vector<T>::iterator i = visualizers.begin();
327  typename std::vector<T>::iterator e = visualizers.end();
328  for(;i != e; ++i)
329  {
330  if (*i)
331  {
332  if ((modelSet == -1) || (modelSet == ((MyStateVisualizer*)(*i))->modelSet()))
333  {
334  (*i)->setVisible(b);
335  }
336  }
337  }
338  }
339 
340  template <typename T> void setScale(makVrv::DtVisualizerSet* s, float scale)
341  {
342  std::vector<T> visualizers;
343  s->findVisualizersByDynamicCast(visualizers);
344  typename std::vector<T>::iterator i = visualizers.begin();
345  typename std::vector<T>::iterator e = visualizers.end();
346  for(;i != e; ++i)
347  {
348  if (*i)
349  {
350  (*i)->setScale(scale);
351  }
352  }
353  }
354 
355  template <typename T> void setForceColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
356  {
357  std::vector<T> visualizers;
358  s->findVisualizersByDynamicCast(visualizers);
359  typename std::vector<T>::iterator i = visualizers.begin();
360  typename std::vector<T>::iterator e = visualizers.end();
361  for(;i != e; ++i)
362  {
363  if (*i)
364  {
365  (*i)->setForceColor(color.R, color.G, color.B, color.A);
366  }
367  }
368  }
369 
370  template <typename T> void setColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
371  {
372  std::vector<T> visualizers;
373  s->findVisualizersByDynamicCast(visualizers);
374  typename std::vector<T>::iterator i = visualizers.begin();
375  typename std::vector<T>::iterator e = visualizers.end();
376  for(;i != e; ++i)
377  {
378  if (*i)
379  {
380  (*i)->setColor(color.R, color.G, color.B, color.A);
381  }
382  }
383  }
384 
386  virtual std::string diGuyCharacter() const;
387 
389  virtual std::string diGuyAppearance() const;
390 
392  virtual std::string diGuyHandItem() const;
394  virtual std::string diGuyHead() const;
395 
397  virtual void setAppearance(int);
398  virtual void setLifeFormState(unsigned int, bool paused = false);
399  virtual void setCharacterWeaponAiming(bool aiming);
400  virtual void setEnableAnimationSmoothing(bool);
401  virtual void setCharacterAction(const std::string& animation, bool paused = false);
402  virtual void setCharacterModel(const std::string& animation);
403  virtual void setCharacterBodyWeight(double);
404  virtual void setCharacterAlive(bool);
405  virtual std::string characterModel() const;
406 
407  virtual void setCharacterAppearance(const std::string& animation);
408  virtual void setCharacterHandItem(const std::string& item);
409  virtual void setCharacterHead(const std::string& head);
410 
412  virtual void setDisplayName( const std::string& displayName );
413 
415  virtual void setSymbolNameVisible(bool);
416 
417  virtual void setSymbolDecorationsVisible(bool);
418 
419  virtual bool isAggregate() const
420  {
421  return myIsAggregate;
422  }
423 
424  protected:
427 
430 
435 
436  std::string myOverlay;
443 
444  std::string myDiGuyAppearance;
445  std::string myDiGuyHandItem;
446  std::string myDiGuyHead;
447  std::string myCharacterAction;
448  std::string myCharacterModel;
451 
452  bool myIsDiGuy;
464 
465  typedef std::map<int, std::map<int, int> > ActivatedStates;
467 
469  };
470 }
471 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)