VR-Forces Development_Version 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 
190  virtual void setSymbolDecorationOffset(double x, double y);
191 
193  virtual void setAutoEnableGroundClamping(bool b);
194 
196  virtual void realizeFacades();
197 
199  virtual void unrealizeFacades();
200 
203  virtual bool hasProjectedModel(int modelSet) const;
204 
208  virtual void setElementDefinition(const makVrv::DtUnicode& elementName);
209 
211  virtual const makVrv::DtUnicode& elementDefinition() const;
212 
215  virtual void setElementDefinition(const DtEntityType&);
216 
218  void setSmoothingEnabled(bool enabled);
219 
221  void setMotionModel(const std::string&);
222 
224  virtual void setHeadingIndicatorVisible(bool);
225 
227  virtual void setHeadingIndicatorSize(float l);
228 
230  virtual bool isDiGuy() const { return myIsDiGuy; };
231 
233  virtual DtVector position() const;
234 
235  virtual makVrv::DtUniqueID uniqueIDForModelSet(int set) const;
236 
238  virtual void setEffectsVisible(bool);
239 
241  virtual bool shouldEnableTrailEffects() const;
242 
244  virtual void enableTrailEffect(bool);
245 
248  virtual void setAltitudeAboveTerrain(double d);
249 
252  virtual void setAltitudeAboveSeaLevel(double d);
253 
255  template <typename T> bool hasVisualizer(makVrv::DtVisualizerSet* s) const
256  {
257  if (!s)
258  {
259  return false;
260  }
261 
262  std::vector<T> visualizers;
263  s->findVisualizersByDynamicCast(visualizers);
264 
265  return (visualizers.size() != 0);
266  }
267 
269  virtual void setIconScale(float);
270  template <typename T> void setIconScale(makVrv::DtVisualizerSet* s, float scale)
271  {
272  std::vector<T> visualizers;
273  s->findVisualizersByDynamicCast(visualizers);
274  typename std::vector<T>::iterator i = visualizers.begin();
275  typename std::vector<T>::iterator e = visualizers.end();
276  for(;i != e; ++i)
277  {
278  if (*i)
279  {
280  (*i)->setIconScale(scale);
281  }
282  }
283  }
284 
285  virtual void setExtendedData(const std::map<std::string, std::string>&);
286  virtual std::map<std::string, std::string> extendedData() const;
287 
288  virtual void destroySchema(const makVrv::DtVisualizerSchema&);
289 
291  virtual void setEntityExtents(const DtVector& volume, const DtVector& offset);
292 
294  virtual bool hasBoundingVolumes() const;
295 
297  virtual void setEntityExtentsVisible(bool, int modelSet = -1);
298  template <typename T> void setEntityExtentsVisible(makVrv::DtVisualizerSet* s, bool b, int modelSet = -1)
299  {
300  std::vector<T> visualizers;
301  s->findVisualizersByDynamicCast(visualizers);
302  typename std::vector<T>::iterator i = visualizers.begin();
303  typename std::vector<T>::iterator e = visualizers.end();
304  for(;i != e; ++i)
305  {
306  if (*i)
307  {
308  if ((modelSet == -1) || (modelSet == ((MyStateVisualizer*)(*i))->modelSet()))
309  {
310  (*i)->setVisible(b);
311  }
312  }
313  }
314  }
315 
316  template <typename T> void setScale(makVrv::DtVisualizerSet* s, float scale)
317  {
318  std::vector<T> visualizers;
319  s->findVisualizersByDynamicCast(visualizers);
320  typename std::vector<T>::iterator i = visualizers.begin();
321  typename std::vector<T>::iterator e = visualizers.end();
322  for(;i != e; ++i)
323  {
324  if (*i)
325  {
326  (*i)->setScale(scale);
327  }
328  }
329  }
330 
331  template <typename T> void setForceColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
332  {
333  std::vector<T> visualizers;
334  s->findVisualizersByDynamicCast(visualizers);
335  typename std::vector<T>::iterator i = visualizers.begin();
336  typename std::vector<T>::iterator e = visualizers.end();
337  for(;i != e; ++i)
338  {
339  if (*i)
340  {
341  (*i)->setForceColor(color.R, color.G, color.B, color.A);
342  }
343  }
344  }
345 
346  template <typename T> void setColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
347  {
348  std::vector<T> visualizers;
349  s->findVisualizersByDynamicCast(visualizers);
350  typename std::vector<T>::iterator i = visualizers.begin();
351  typename std::vector<T>::iterator e = visualizers.end();
352  for(;i != e; ++i)
353  {
354  if (*i)
355  {
356  (*i)->setColor(color.R, color.G, color.B, color.A);
357  }
358  }
359  }
360 
362  virtual std::string diGuyCharacter() const;
363 
365  virtual std::string diGuyAppearance() const;
366 
368  virtual std::string diGuyHandItem() const;
369 
371  virtual void setAppearance(int);
372  virtual void setLifeFormState(unsigned int, bool paused = false);
373  virtual void setCharacterWeaponAiming(bool aiming);
374  virtual void setEnableAnimationSmoothing(bool);
375  virtual void setCharacterAction(const std::string& animation, bool paused = false);
376  virtual void setCharacterModel(const std::string& animation);
377  virtual void setCharacterAlive(bool);
378  virtual std::string characterModel() const;
379 
380  virtual void setCharacterAppearance(const std::string& animation);
381  virtual void setCharacterHandItem(const std::string& animation);
382 
384  virtual void setDisplayName( const std::string& displayName );
385 
387  virtual void setSymbolNameVisible(bool);
388 
389  virtual void setSymbolDecorationsVisible(bool);
390 
391  virtual bool isAggregate() const
392  {
393  return myIsAggregate;
394  }
395 
397  protected:
400 
403 
408 
409  std::string myOverlay;
416 
417  std::string myDiGuyAppearance;
418  std::string myDiGuyHandItem;
419  std::string myCharacterAction;
420  std::string myCharacterModel;
422 
423  bool myIsDiGuy;
430 
431  typedef std::map<int, std::map<int, int> > ActivatedStates;
433 
435  };
436 }
437 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)