VR-Forces 4.1 Class Documentation
DtEnvironmentalVertexVisualizer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
15 #include <matrix/vlVector.h>
16 #include <vector>
17 
18 namespace makVrv
19 {
20  class DtUnicode;
21  class DtEnvironmentalVisualizerSet;
22 
33  {
34  public:
35  typedef std::vector<DtElementID> ElementIDList;
36  typedef std::vector<DtVector> PointList;
37 
39  {
42  MultiSelected
43  };
44 
47  DtStateListener& listener, int modelSet);
48 
51 
54  virtual void setVisualizerDefinition( const DtVisualizerDefinition& visDef );
55 
57  virtual void setOrigin(const DtVector& position);
58  virtual void addControlPoint( const DtVector& position,
59  const DtUniqueID& elementID );
60  virtual void insertControlPoint( int index, const DtVector& position );
61  virtual void removeControlPoint( int index );
62  virtual void moveControlPoint(int index, const DtVector& position );
63  virtual void setControlPoints(
65  const std::vector<DtUniqueID>& vertexElementIDs );
66 
68  virtual void setControlPoints(
70 
71  virtual void setColor(float r,float g,float b,float a);
72 
74  virtual void setInfoText(DtUniqueID id, const DtUnicode&);
75  virtual void setInfoText(int, const DtUnicode&);
76 
78  virtual void setSelected(DtUniqueID id, bool);
79  virtual void setSelected(int, bool);
80 
82  virtual bool selected(DtUniqueID id) const;
83  virtual bool selected(int index) const;
84 
86  virtual void setHeightAboveTerrainLineVisible(bool);
87  virtual void setHeightAboveTerrainLineVisible(DtUniqueID, bool);
88  virtual void setHeightAboveTerrainLineVisible(int, bool );
89 
91  virtual void setShowInfoOnSelect(bool);
92  virtual void setShowInfoOnSelect(DtUniqueID, bool);
93  virtual void setShowInfoOnSelect(int, bool);
94 
96  virtual void setVertexHidden(DtUniqueID, bool);
97  virtual void setVertexHidden(int, bool);
98 
100  virtual SelectionState pointSelected(DtUniqueID id) const;
101  virtual SelectionState pointSelected(int) const;
102 
104  virtual void setIndicatorsEnabled(bool);
105 
107  virtual void setWidgetEventsEnabled(bool);
108 
110  virtual void setEnabled(bool enabled);
111 
113  virtual void setIndicatorModelDefinitions(
114  const std::string& normalTheme,
115  const std::string& activeTheme,
116  const std::string& selectedTheme,
117  const std::string& multiSelectedTheme );
118 
119  int numVertices() const;
120 
121  DtUniqueID uniqueIdOf(int iIndex) const;
122 
123  int indexOf(DtUniqueID sceneID) const;
124 
125  int indexOfElementID(DtUniqueID elementID ) const;
126 
128  virtual void setHatLinesEnabled( bool );
129 
131  virtual void setHatLinesOnSelectionOnly( bool );
132 
133  virtual DtUniqueID uniqueID() const;
134  virtual void setSelected(bool);
135  virtual void setPickable(bool);
136 
137  DtEnvironmentalStateListener& environmentalStateListener()
138  {
139  return *myEnvironmentalListener;
140  }
141 
142  inline const PointList& controlPoints() const
143  {
144  return myControlPoints;
145  }
146 
147  inline const ElementIDList& vertexElementIDs() const
148  {
149  return myVertexElementIDs;
150  }
151 
153  virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
154 
156  static const DtStateVisualizer::TypeInfo& theTypeInfo();
157 
158  protected:
159  virtual void slot_listenerLocationSet(const DtVector&);
160  virtual void slot_listenerControlPointLocationSet(int index, const DtVector&);
161 
162  virtual void setControlPoints();
163  virtual void resetSpatial();
164  virtual void createModelAgents();
165  virtual void destroyModelAgents();
166  virtual bool setVertexVisible(bool, DtShowHideContext::ShowHideContext);
167  virtual void setOriginAndOffset(DtEnvironmentalVisualizerSet*, const DtVector&, const DtVector&);
168  virtual void setColor(DtEnvironmentalVisualizerSet*, float r, float g, float b, float a);
169  virtual void setIndicatorsEnabled(DtEnvironmentalVisualizerSet*, bool);
170  virtual void setInfoText(DtEnvironmentalVisualizerSet*, const DtUnicode&);
171  virtual void setMultiSelected(DtEnvironmentalVisualizerSet*, bool);
172  virtual void setHatLineVisible(DtEnvironmentalVisualizerSet*, bool);
173  virtual void setShowInfoPopupOnSelect(DtEnvironmentalVisualizerSet*, bool);
174  virtual void setWidgetEventsEnabled(DtEnvironmentalVisualizerSet*, bool);
175  virtual void setGroundClamp(DtEnvironmentalVisualizerSet*, bool);
176  virtual void setIndicatorModelDefinitions(DtEnvironmentalVisualizerSet*,
177  const std::string& normalTheme,
178  const std::string& activeTheme,
179  const std::string& selectedTheme,
180  const std::string& multiSelectedTheme );
181  virtual void updateHatLines();
182  virtual void updateHatLine( int index );
183  virtual void updateHatLine( DtUniqueID id );
184 
185  virtual DtEnvironmentalVisualizerSet* createAndInitializePointVisualizer(const DtUniqueID& vertexElementId, int index );
186 
187  virtual void slot_mouseDown( DtMouseState& mouseState,
188  const DtUniqueID& id, const std::string& displayEngineName,
189  const std::string& windowName, const std::string& channelName,
190  DtStateVisualizer* v);
191 
192  virtual bool pointIsDifferent( const DtVector& newPos, const DtVector& lastPos ) const;
193 
194  virtual void slot_mouseUp( DtMouseState& mouseState, const DtUniqueID& id,
195  const std::string& displayEngineName, const std::string& windowName,
196  const std::string& channelName, DtStateVisualizer* v);
197 
198  virtual void slot_mouseDblClick( DtMouseState& mouseState,
199  const DtUniqueID& id, const std::string& displayEngineName,
200  const std::string& windowName, const std::string& channelName,
201  DtStateVisualizer* v);
202 
205  virtual DtVector offsetAtPosition(const DtVector& origin) const;
206 
208  virtual void setGroundClamp(bool);
209 
210  protected:
211  typedef std::vector<DtEnvironmentalVisualizerSet*> VertexList;
212  typedef std::map<DtUniqueID, int> DtIndexMap;
213 
215  std::vector<DtVector> myOffsets;
216  std::vector<SelectionState> myVertexSelectedList;
219 
222 
224  float myColor[4];
230 
232 
233  std::string myNormalWidgetTheme;
234  std::string myActiveWidgetTheme;
237 
240 
241  // Same as myListener, but casted for convenience
243 
245  };
246 
251 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)