VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIntervisibilityVertexVisualizer.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2013 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vrvCore/DtSceneObject.h>
14 #include <matrix/vlVector.h>
15 #include <vector>
16 
17 namespace makVrv
18 {
19 
20  class DtCoordinateSystem;
21  class DtAttachableUpdaterAgent;
22  class DtAttributeGroupWidgetAgent;
23  class DtProjectedWidgetModelAgent;
24  class DtEnvironmentalVisualizerSet;
25  class DtEnvironmentalStateListener;
26  class DtIntervisibilityStateListener;
27  class DtIntervisibilityVertexTicker;
28 
35  {
36  public:
37 
40  DtStateListener& listener, int modelSet );
41 
44 
45  DtIntervisibilityStateListener& intervisibilityStateListener()
46  {
47  return *myIntervisibilityListener;
48  }
49 
51  virtual void setColor( float r, float g, float b, float a );
52 
55  virtual void setStartPoint( const DtVector& vec );
56 
59  virtual void setEndPoint( const DtVector& vec );
60 
63  virtual void setStartAttachPoint( DtElementID elementId );
64 
66  virtual void setStartPointOffset( const DtVector& vec );
67 
70  virtual void setEndAttachPoint( DtElementID elementId );
71 
73  virtual void setEndPointOffset( const DtVector& vec );
74 
76  virtual void setSelected( int index, bool isSelected );
77 
79  virtual void setSelected( bool isSelected );
80 
82  virtual void setFixedDistanceMode( bool isFixedDistMode );
83 
85  virtual int indexOfVertex( DtUniqueID id ) const;
86 
88  virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
89 
91  static const DtStateVisualizer::TypeInfo& theTypeInfo();
92 
93  protected:
94 
95  struct VertexInformation;
96 
97  virtual void createStartPoint();
98  virtual void createEndPoint();
99  virtual void createModelAgents();
100  virtual void destroyModelAgents();
101  virtual DtUniqueID elementIdToSceneId( DtElementID elementId ) const;
102 
104  virtual DtEnvironmentalVisualizerSet* createVertexVisualizer( VertexInformation& vertexInfo );
105 
106  virtual void createRangeInfoWidget( VertexInformation& vertexInfo );
107 
108  virtual void setVisualizerDefinition( const DtVisualizerDefinition& visDef );
109 
110  virtual void slot_mouseDown( DtMouseState& mouseState,
111  const DtUniqueID& id, const std::string& displayEngineName,
112  const std::string& windowName, const std::string& channelName,
113  DtStateVisualizer* v );
114 
115  virtual void slot_mouseUp( DtMouseState& mouseState, const DtUniqueID& id,
116  const std::string& displayEngineName, const std::string& windowName,
117  const std::string& channelName, DtStateVisualizer* v );
118 
119  virtual void slot_mouseDblClick( DtMouseState& mouseState,
120  const DtUniqueID& id, const std::string& displayEngineName,
121  const std::string& windowName, const std::string& channelName,
122  DtStateVisualizer* v );
123 
124  virtual void setColor( DtEnvironmentalVisualizerSet&, float, float, float, float );
125  virtual void setIndicatorsEnabled( DtEnvironmentalVisualizerSet&, bool );
126  virtual void setShowInfoPopupOnSelect( DtEnvironmentalVisualizerSet&, bool );
127  virtual void setWidgetEventsEnabled( DtEnvironmentalVisualizerSet&, bool );
128  virtual void setHatLineVisible( DtEnvironmentalVisualizerSet&, bool );
129  virtual void updateHatLine( DtEnvironmentalVisualizerSet& visSet );
130  virtual void setIndicatorModelDefinitions( DtEnvironmentalVisualizerSet& v,
131  const std::string& normalTheme, const std::string& activeTheme,
132  const std::string& selectedTheme, const std::string& multiSelectedTheme );
133  virtual void setEditing( bool isEditing );
134  virtual void setRangeInfoLabelBackgroundColor( float r, float g, float b, float a );
135  virtual void setRangeInfoLabelsEnabled( bool enabled );
136  virtual void setShowAltChangeField( bool show );
137  virtual void setShowLocationField( bool show );
138  virtual void setShowHeadingField( bool show );
139  virtual void setShowRangeField( bool show );
140 
142  void setHatLinesEnabled( bool isEnabled );
143 
146  void setHatLinesOnSelectionOnly( bool isSelectedOnly );
147 
148  virtual void setupFixedDistanceForEndVertex();
149  virtual void setupUpdaterForEndVertex();
150 
151  virtual void updateRangeInfoOverlayGroup();
152  virtual void updateRangeInfoVisibility();
153  virtual void updateRangeInfoFields();
154  virtual void updateRangeInfoText();
155 
158  virtual DtVector endPoint() const;
159 
162  virtual DtVector startPoint() const;
163 
164  DtUnicode formatLocationString( const DtCoordinateSystem& coordSys,
165  const std::vector<std::string>& locs );
166 
167  protected:
168 
170  {
172  : listener( 0 )
173  , vertex( 0 )
174  , rangeInfoWidget( 0 )
175  , rangeInfoWidgetModel( 0 )
176  , selected( false )
177  , attachedTo( 0 )
178  , updater( 0 )
179  , elementID( 0 )
180  {
181  }
182 
188  DtAttributeGroupWidgetAgent* rangeInfoWidget;
190  DtProjectedWidgetModelAgent* rangeInfoWidgetModel;
194  DtAttachableUpdaterAgent* updater;
196  bool selected;
199  };
200 
201  protected:
202 
204 
206 
209 
219  bool myShowEnd;
220 
229 
231  DtIntervisibilityVertexTicker* myTicker;
232  };
233 
234 
239 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)