VR-Forces 4.3.1 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 {
44  {
45  public:
47  int modelSet) : makVrv::DtStateVisualizer(connection, listener, modelSet) {};
48 
49  int modelSet() const { return myModelSet; };
50  };
51 
53  {
54  public:
55  DtExtAggregateStateListener(makVrv::DtUniqueID id) : makVrv::DtAggregateStateListener(id), DtEntityStateListenerExtensions(id) {};
57  };
58 
60  {
61  public:
62  typedef std::map<int, makVrv::DtVisualizerSet*> ModelSetMap;
63 
64  public:
65  DtEntityFacadeCollection(makVrv::DtDe&, int modelSet = -1);
66  virtual ~DtEntityFacadeCollection();
67 
68  public:
70 
72  virtual void visualize(const makVrv::DtUnicode& type,
74 
75  const ModelSetMap& modelSetMap() const
76  {
77  return myModelSetMap;
78  }
79 
80  ModelSetMap& modelSetMap()
81  {
82  return myModelSetMap;
83  }
84 
86  virtual void setOrientation(const DtTaitBryan& orientation);
87 
89  virtual void setOrigin(const DtVector& v);
90  virtual void setOrigin(const DtGeodeticCoord& v);
91 
93  virtual void setOriginAndSeaLevel(const DtVector& v);
94  virtual void setOriginAndSeaLevel(const DtGeodeticCoord& v);
95 
96  virtual void setDropShadow(bool b);
97  virtual void setLocationOffsetFromPrincipal( const DtGeodeticCoord& offset );
98  virtual void setAltitudeOffsetFromPrincipal( double offset );
99 
101  virtual void setForceId(int);
102  int forceId() const;
103  virtual bool hasForceChange() const;
104 
105  virtual makVrv::DtBaseConnection& baseConnection() const;
106 
108  void setHatLineVisible( bool visible );
109 
111  void setTrackHistoryVisible( bool visible );
112 
114  virtual void setVisible(bool b);
115 
117  virtual void setPickable(bool b);
118 
120  virtual void setSelected(bool b);
121 
123  virtual void setLabel(const std::string& label);
124  virtual std::string label() const;
125  virtual bool hasLabelChange() const;
126 
128  virtual void setExtendedLabels(const std::map<int, DtString>& labels);
129  virtual std::map<int, DtString> extendedLabels() const;
130  virtual bool hasExtendedLabelsChange() const;
131 
133  virtual void setOverlayName(const std::string&);
134  virtual std::string overlayName() const;
135 
137  virtual void setIndicatorVisible(bool b);
138 
140  virtual Dt3dBoundingVolume boundingVolume() const;
141 
142  virtual void setUniqueID(makVrv::DtUniqueID);
143  makVrv::DtUniqueID uniqueID() const;
144 
146  virtual void setWidgetEventsEnabled(bool b);
147 
149  virtual void setGroundClamping(bool b);
150 
152  virtual void setSymbolDecorationOffset(double x, double y);
153 
155  virtual void setAutoEnableGroundClamping(bool b);
156 
158  virtual void realizeFacades();
159 
161  virtual void unrealizeFacades();
162 
165  virtual bool hasProjectedModel(int modelSet) const;
166 
170  virtual void setElementDefinition(const makVrv::DtUnicode& elementName);
171 
173  virtual const makVrv::DtUnicode& elementDefinition() const;
174 
177  virtual void setElementDefinition(const DtEntityType&);
178 
180  void setSmoothingEnabled(bool enabled);
181 
183  void setMotionModel(const std::string&);
184 
186  virtual void setHeadingIndicatorVisible(bool);
187 
189  virtual void setHeadingIndicatorSize(float l);
190 
192  virtual bool isDiGuy() const { return myIsDiGuy; };
193 
195  virtual DtVector position() const;
196 
197  virtual makVrv::DtUniqueID uniqueIDForModelSet(int set) const;
198 
200  virtual void setEffectsVisible(bool);
201 
203  virtual bool shouldEnableTrailEffects() const;
204 
206  virtual void enableTrailEffect(bool);
207 
210  virtual void setAltitudeAboveTerrain(double d);
211 
214  virtual void setAltitudeAboveSeaLevel(double d);
215 
217  template <typename T> bool hasVisualizer(makVrv::DtVisualizerSet* s) const
218  {
219  std::vector<T> visualizers;
220  s->findVisualizersByDynamicCast(visualizers);
221 
222  return (visualizers.size() != 0);
223  }
224 
226  virtual void setIconScale(float);
227  template <typename T> void setIconScale(makVrv::DtVisualizerSet* s, float scale)
228  {
229  std::vector<T> visualizers;
230  s->findVisualizersByDynamicCast(visualizers);
231  typename std::vector<T>::iterator i = visualizers.begin();
232  typename std::vector<T>::iterator e = visualizers.end();
233  for(;i != e; ++i)
234  {
235  if (*i)
236  {
237  (*i)->setIconScale(scale);
238  }
239  }
240  }
241 
242  virtual void setExtendedData(const std::map<std::string, std::string>&);
243  virtual std::map<std::string, std::string> extendedData() const;
244 
245  virtual void destroySchema(const makVrv::DtVisualizerSchema&);
246 
248  virtual void setEntityExtents(const DtVector& volume, const DtVector& offset);
249 
251  virtual bool hasBoundingVolumes() const;
252 
254  virtual void setEntityExtentsVisible(bool, int modelSet = -1);
255  template <typename T> void setEntityExtentsVisible(makVrv::DtVisualizerSet* s, bool b, int modelSet = -1)
256  {
257  std::vector<T> visualizers;
258  s->findVisualizersByDynamicCast(visualizers);
259  typename std::vector<T>::iterator i = visualizers.begin();
260  typename std::vector<T>::iterator e = visualizers.end();
261  for(;i != e; ++i)
262  {
263  if (*i)
264  {
265  if ((modelSet == -1) || (modelSet == ((MyStateVisualizer*)(*i))->modelSet()))
266  {
267  (*i)->setVisible(b);
268  }
269  }
270  }
271  }
272 
273  template <typename T> void setScale(makVrv::DtVisualizerSet* s, float scale)
274  {
275  std::vector<T> visualizers;
276  s->findVisualizersByDynamicCast(visualizers);
277  typename std::vector<T>::iterator i = visualizers.begin();
278  typename std::vector<T>::iterator e = visualizers.end();
279  for(;i != e; ++i)
280  {
281  if (*i)
282  {
283  (*i)->setScale(scale);
284  }
285  }
286  }
287 
288  template <typename T> void setForceColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
289  {
290  std::vector<T> visualizers;
291  s->findVisualizersByDynamicCast(visualizers);
292  typename std::vector<T>::iterator i = visualizers.begin();
293  typename std::vector<T>::iterator e = visualizers.end();
294  for(;i != e; ++i)
295  {
296  if (*i)
297  {
298  (*i)->setForceColor(color.R, color.G, color.B, color.A);
299  }
300  }
301  }
302 
303  template <typename T> void setColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
304  {
305  std::vector<T> visualizers;
306  s->findVisualizersByDynamicCast(visualizers);
307  typename std::vector<T>::iterator i = visualizers.begin();
308  typename std::vector<T>::iterator e = visualizers.end();
309  for(;i != e; ++i)
310  {
311  if (*i)
312  {
313  (*i)->setColor(color.R, color.G, color.B, color.A);
314  }
315  }
316  }
317 
319  virtual std::string diGuyCharacter() const;
320 
322  virtual std::string diGuyAppearance() const;
323 
325  virtual std::string diGuyHandItem() const;
326 
328  virtual void setAppearance(int);
329  virtual void setLifeFormState(unsigned int, bool paused = false);
330  virtual void setEnableAnimationSmoothing(bool);
331  virtual void setCharacterAction(const std::string& animation, bool paused = false);
332  virtual void setCharacterModel(const std::string& animation);
333  virtual void setCharacterAppearance(const std::string& animation);
334  virtual void setCharacterHandItem(const std::string& animation);
335 
337  virtual void setDisplayName( const std::string& displayName );
338 
340  virtual void setSymbolNameVisible(bool);
341 
342  virtual void setSymbolDecorationsVisible(bool);
343 
344  virtual bool isAggregate() const
345  {
346  return myIsAggregate;
347  }
348 
350  protected:
353 
355 
360 
361  std::string myOverlay;
367 
368  std::string myDiGuyAppearance;
369  std::string myDiGuyHandItem;
370 
371  bool myIsDiGuy;
372  };
373 }
374 

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)