VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEnvironmentalVertexVisualizer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 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  class DtVertexUpdaterAgent;
23 
34  {
35  public:
36  typedef std::vector<DtElementID> ElementIDList;
37  typedef std::vector<DtVector> PointList;
38 
40  {
43  MultiSelected
44  };
45 
48  DtStateListener& listener, int modelSet);
49 
52 
55  virtual void setVisualizerDefinition( const DtVisualizerDefinition& visDef );
56 
58  virtual void setOrigin(const DtVector& position);
59  virtual void addControlPoint( const DtVector& position,
60  const DtUniqueID& elementID );
61  virtual void insertControlPoint( int index, const DtVector& position );
62  virtual void removeControlPoint( int index );
63  virtual void moveControlPoint(int index, const DtVector& position );
64  virtual void setControlPoints(
66  const std::vector<DtUniqueID>& vertexElementIDs );
67 
69  virtual void setControlPoints(
71 
72  virtual void setColor(float r,float g,float b,float a);
73 
75  virtual void setInfoText(DtUniqueID id, const DtUnicode&);
76  virtual void setInfoText(int, const DtUnicode&);
77 
79  virtual void setSelected(DtUniqueID id, bool);
80  virtual void setSelected(int, bool);
81 
83  virtual bool selected(DtUniqueID id) const;
84  virtual bool selected(int index) const;
85 
87  virtual void setHeightAboveTerrainLineVisible(bool);
88  virtual void setHeightAboveTerrainLineVisible(DtUniqueID, bool);
89  virtual void setHeightAboveTerrainLineVisible(int, bool );
90 
92  virtual void setShowInfoOnSelect(bool);
93  virtual void setShowInfoOnSelect(DtUniqueID, bool);
94  virtual void setShowInfoOnSelect(int, bool);
95 
97  virtual void setVertexHidden(DtUniqueID, bool);
98  virtual void setVertexHidden(int, bool);
99 
101  virtual SelectionState pointSelected(DtUniqueID id) const;
102  virtual SelectionState pointSelected(int) const;
103 
105  virtual void setIndicatorsEnabled(bool);
106 
108  virtual void setWidgetEventsEnabled(bool);
109 
111  virtual void setEnabled(bool enabled);
112 
114  virtual void setIndicatorModelDefinitions(
115  const std::string& normalTheme,
116  const std::string& activeTheme,
117  const std::string& selectedTheme,
118  const std::string& multiSelectedTheme );
119 
122  virtual void setUseHighestTerrainLod( DtEnvironmentalVisualizerSet* v,
123  bool useHighest );
124 
126  virtual void setUseHighestTerrainLod( bool useHighest );
127 
130  virtual bool useHighestTerrainLod() const;
131 
132  int numVertices() const;
133 
134  DtUniqueID uniqueIdOf(int iIndex) const;
135 
136  int indexOf(DtUniqueID sceneID) const;
137 
138  int indexOfElementID(DtUniqueID elementID ) const;
139 
141  virtual void setHatLinesEnabled( bool );
142 
144  virtual void setHatLinesOnSelectionOnly( bool );
145 
146  virtual DtUniqueID uniqueID() const;
147  virtual void setSelected(bool);
148  virtual void setPickable(bool);
149 
151  {
152  return *myEnvironmentalListener;
153  }
154 
155  inline const PointList& controlPoints() const
156  {
157  return myControlPoints;
158  }
159 
160  inline const ElementIDList& vertexElementIDs() const
161  {
162  return myVertexElementIDs;
163  }
164 
166  virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
167 
169  static const DtStateVisualizer::TypeInfo& theTypeInfo();
170 
173  virtual void setOwner(DtSceneObjectAgent*);
174 
177  virtual void setAttached(DtUniqueID);
178 
179  protected:
180  virtual void slot_listenerLocationSet(const DtVector&);
181  virtual void slot_listenerControlPointLocationSet(int index, const DtVector&);
182 
183  virtual void setControlPoints();
184  virtual void resetSpatial();
185  virtual void createModelAgents();
186  virtual void destroyModelAgents();
187  virtual bool setVertexVisible(bool, DtShowHideContext::ShowHideContext);
188  virtual void setOriginAndOffset(DtEnvironmentalVisualizerSet*, const DtVector&, const DtVector&);
189  virtual void setColor(DtEnvironmentalVisualizerSet*, float r, float g, float b, float a);
190  virtual void setIndicatorsEnabled(DtEnvironmentalVisualizerSet*, bool);
191  virtual void setInfoText(DtEnvironmentalVisualizerSet*, const DtUnicode&);
192  virtual void setMultiSelected(DtEnvironmentalVisualizerSet*, bool);
193  virtual void setHatLineVisible(DtEnvironmentalVisualizerSet*, bool);
194  virtual void setShowInfoPopupOnSelect(DtEnvironmentalVisualizerSet*, bool);
195  virtual void setWidgetEventsEnabled(DtEnvironmentalVisualizerSet*, bool);
196  virtual void setGroundClamp(DtEnvironmentalVisualizerSet*, bool);
197  virtual void setIndicatorModelDefinitions(DtEnvironmentalVisualizerSet*,
198  const std::string& normalTheme,
199  const std::string& activeTheme,
200  const std::string& selectedTheme,
201  const std::string& multiSelectedTheme );
202  virtual void updateHatLines();
203  virtual void updateHatLine( int index );
204  virtual void updateHatLine( DtUniqueID id );
205 
206  virtual DtEnvironmentalVisualizerSet* createAndInitializePointVisualizer(const DtUniqueID& vertexElementId, int index );
207 
208  virtual void slot_mouseDown( DtMouseState& mouseState,
209  const DtUniqueID& id, const std::string& displayEngineName,
210  const std::string& windowName, const std::string& channelName,
211  DtStateVisualizer* v);
212 
213  virtual bool pointIsDifferent( const DtVector& newPos, const DtVector& lastPos ) const;
214 
215  virtual void slot_mouseUp( DtMouseState& mouseState, const DtUniqueID& id,
216  const std::string& displayEngineName, const std::string& windowName,
217  const std::string& channelName, DtStateVisualizer* v);
218 
219  virtual void slot_mouseDblClick( DtMouseState& mouseState,
220  const DtUniqueID& id, const std::string& displayEngineName,
221  const std::string& windowName, const std::string& channelName,
222  DtStateVisualizer* v);
223 
225  virtual void startAttached();
226 
228  virtual void endAttached();
229 
232  virtual DtVector offsetAtPosition(const DtVector& origin) const;
233 
235  virtual void setGroundClamp(bool);
236 
237  protected:
238  typedef std::vector<DtEnvironmentalVisualizerSet*> VertexList;
239  typedef std::map<DtUniqueID, int> DtIndexMap;
240  typedef std::vector<SelectionState> SelectedList;
241 
243  std::vector<DtVector> myOffsets;
247 
250 
252  float myColor[4];
258 
260 
261  std::string myNormalWidgetTheme;
262  std::string myActiveWidgetTheme;
265 
268 
269  // Same as myListener, but casted for convenience
271 
273 
274  DtSceneObjectAgent* myOwnerAgent;
275 
278  DtVertexUpdaterAgent* myVertexUpdaterAgent;
280  };
281 
286 }
bool myHatLinesOnSelectionOnly
Definition: DtEnvironmentalVertexVisualizer.h:254
const ElementIDList & vertexElementIDs() const
Definition: DtEnvironmentalVertexVisualizer.h:160
SelectedList myVertexSelectedList
Definition: DtEnvironmentalVertexVisualizer.h:244
DtVertexUpdaterAgent * myVertexUpdaterAgent
Definition: DtEnvironmentalVertexVisualizer.h:278
Definition: DtEnvironmentalVertexVisualizer.h:42
A unicode string.
Definition: DtUnicode.h:33
DtSceneObjectAgent * myOwnerAgent
Definition: DtEnvironmentalVertexVisualizer.h:274
Contains makVrv:DtSceneObjectVisualizer class.
voidpf uLong int origin
Definition: ioapi.h:42
Contains integers that determine the context with which to show/hide a visualizer.
ShowHideContext
Definition: DtShowHideContext.h:17
Definition: DtStateVisualizer.h:309
bool myIndicatorsEnabled
Definition: DtEnvironmentalVertexVisualizer.h:256
Base class for visualizing generic objects in the scene.
Definition: DtSceneObjectVisualizer.h:27
This will visualize points on a multi-point line by creating a DtEnvironmentalVisualizerSet for each ...
Definition: DtEnvironmentalVertexVisualizer.h:32
DtEnvironmentalStateListener * myEnvironmentalListener
Definition: DtEnvironmentalVertexVisualizer.h:270
std::vector< DtVector > ControlPointsList
Definition: DtEnvironmentalStateListener.h:27
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
std::vector< DtElementID > ElementIDList
Definition: DtEnvironmentalVertexVisualizer.h:36
DtEnvironmentalStateListener & environmentalStateListener()
Definition: DtEnvironmentalVertexVisualizer.h:150
DtUniqueID myAttachedToId
Definition: DtEnvironmentalVertexVisualizer.h:277
DtVector myOrigin
Definition: DtEnvironmentalVertexVisualizer.h:251
const PointList & controlPoints() const
Definition: DtEnvironmentalVertexVisualizer.h:155
SelectionState
Definition: DtEnvironmentalVertexVisualizer.h:39
std::vector< DtEnvironmentalVisualizerSet * > VertexList
Definition: DtEnvironmentalVertexVisualizer.h:238
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::string mySelectedWidgetTheme
Definition: DtEnvironmentalVertexVisualizer.h:263
DtVector myPointOffset
Definition: DtEnvironmentalVertexVisualizer.h:266
bool myAttachedFlag
Definition: DtEnvironmentalVertexVisualizer.h:276
This class encapsulates the state associated with a mouse button event.
Definition: DtMouseState.h:23
DtUnicode myVertexVisualizerDefinitionName
Definition: DtEnvironmentalVertexVisualizer.h:259
std::string myMultiSelectedWidgetTheme
Definition: DtEnvironmentalVertexVisualizer.h:264
This visualizer set class holds is designed to only hold DtEnvironmentalStateVisualizer based classes...
Definition: DtEnvironmentalVisualizerSet.h:27
bool myUseHighestTerrainLod
Definition: DtEnvironmentalVertexVisualizer.h:279
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
bool myOriginIsSet
Definition: DtEnvironmentalVertexVisualizer.h:267
std::vector< DtVector > PointList
Definition: DtEnvironmentalVertexVisualizer.h:37
bool myShowInfoOnSelect
Definition: DtEnvironmentalVertexVisualizer.h:255
Contains makVrv:DtEnvironmentalStateListener class.
VertexList myVertexList
Definition: DtEnvironmentalVertexVisualizer.h:242
ElementIDList myVertexElementIDs
Definition: DtEnvironmentalVertexVisualizer.h:249
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:30
DtIndexMap myIndexMap
Definition: DtEnvironmentalVertexVisualizer.h:245
PointList myControlPoints
Definition: DtEnvironmentalVertexVisualizer.h:248
The DtEnvironmentalStateListener is a class that deals with basic environmental process code (such as...
Definition: DtEnvironmentalStateListener.h:24
DtIndexMap myElementIDIndexMap
Definition: DtEnvironmentalVertexVisualizer.h:246
A definition of a visualizer.
Definition: DtVisualizerDefinition.h:22
DtStateVisualizerCreatorTemplate< DtEnvironmentalVertexVisualizer > DtEnvironmentalVertexVisualizerCreator
Creator that will be registered with the state visualizer factory to create this class.
Definition: DtEnvironmentalVertexVisualizer.h:285
bool myGroundClamp
Definition: DtEnvironmentalVertexVisualizer.h:272
std::string myActiveWidgetTheme
Definition: DtEnvironmentalVertexVisualizer.h:262
std::string myNormalWidgetTheme
Definition: DtEnvironmentalVertexVisualizer.h:261
std::vector< DtVector > myOffsets
Definition: DtEnvironmentalVertexVisualizer.h:243
std::vector< SelectionState > SelectedList
Definition: DtEnvironmentalVertexVisualizer.h:240
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
bool myWidgetEventsEnabled
Definition: DtEnvironmentalVertexVisualizer.h:257
std::map< DtUniqueID, int > DtIndexMap
Definition: DtEnvironmentalVertexVisualizer.h:239
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:54
bool myHatLinesEnabled
Definition: DtEnvironmentalVertexVisualizer.h:253
Definition: DtEnvironmentalVertexVisualizer.h:41

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)