VR-Forces 4.1.1 Class Documentation
DtIntervisibilityVertexVisualizer.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 
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 
34  {
35  public:
36 
39  DtStateListener& listener, int modelSet );
40 
43 
44  DtIntervisibilityStateListener& intervisibilityStateListener()
45  {
46  return *myIntervisibilityListener;
47  }
48 
50  virtual void setColor( float r, float g, float b, float a );
51 
54  virtual void setStartPoint( const DtVector& vec );
55 
58  virtual void setEndPoint( const DtVector& vec );
59 
62  virtual void setStartAttachPoint( DtElementID elementId );
63 
65  virtual void setStartPointOffset( const DtVector& vec );
66 
69  virtual void setEndAttachPoint( DtElementID elementId );
70 
72  virtual void setEndPointOffset( const DtVector& vec );
73 
75  virtual void setSelected( int index, bool isSelected );
76 
78  virtual void setSelected( bool isSelected );
79 
81  virtual void setFixedDistanceMode( bool isFixedDistMode );
82 
84  virtual int indexOfVertex( DtUniqueID id ) const;
85 
87  virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
88 
90  static const DtStateVisualizer::TypeInfo& theTypeInfo();
91 
92  protected:
93 
94  struct VertexInformation;
95 
96  virtual void createStartPoint();
97  virtual void createEndPoint();
98  virtual void createModelAgents();
99  virtual void destroyModelAgents();
100  virtual DtUniqueID elementIdToSceneId( DtElementID elementId );
101 
103  virtual DtEnvironmentalVisualizerSet* createVertexVisualizer( VertexInformation& vertexInfo );
104 
105  virtual void createRangeInfoWidget( VertexInformation& vertexInfo );
106 
107  virtual void setVisualizerDefinition( const DtVisualizerDefinition& visDef );
108 
109  virtual void slot_mouseDown( DtMouseState& mouseState,
110  const DtUniqueID& id, const std::string& displayEngineName,
111  const std::string& windowName, const std::string& channelName,
112  DtStateVisualizer* v );
113 
114  virtual void slot_mouseUp( DtMouseState& mouseState, const DtUniqueID& id,
115  const std::string& displayEngineName, const std::string& windowName,
116  const std::string& channelName, DtStateVisualizer* v );
117 
118  virtual void slot_mouseDblClick( DtMouseState& mouseState,
119  const DtUniqueID& id, const std::string& displayEngineName,
120  const std::string& windowName, const std::string& channelName,
121  DtStateVisualizer* v );
122 
123  virtual void setColor( DtEnvironmentalVisualizerSet&, float, float, float, float );
124  virtual void setIndicatorsEnabled( DtEnvironmentalVisualizerSet&, bool );
125  virtual void setShowInfoPopupOnSelect( DtEnvironmentalVisualizerSet&, bool );
126  virtual void setWidgetEventsEnabled( DtEnvironmentalVisualizerSet&, bool );
127  virtual void setHatLineVisible( DtEnvironmentalVisualizerSet&, bool );
128  virtual void updateHatLine( DtEnvironmentalVisualizerSet& visSet );
129  virtual void setIndicatorModelDefinitions( DtEnvironmentalVisualizerSet& v,
130  const std::string& normalTheme, const std::string& activeTheme,
131  const std::string& selectedTheme, const std::string& multiSelectedTheme );
132  virtual void setEditing( bool isEditing );
133  virtual void setRangeInfoLabelBackgroundColor( float r, float g, float b, float a );
134  virtual void setRangeInfoLabelsEnabled( bool enabled );
135  virtual void setShowAltChangeField( bool show );
136  virtual void setShowLocationField( bool show );
137  virtual void setShowHeadingField( bool show );
138  virtual void setShowRangeField( bool show );
139 
141  void setHatLinesEnabled( bool isEnabled );
142 
144  void setHatLinesOnSelectionOnly( bool isSelectedOnly );
145 
146  virtual void setupFixedDistanceForEndVertex();
147  virtual void setupUpdaterForEndVertex();
148 
149  virtual void updateRangeInfoOverlayGroup();
150  virtual void updateRangeInfoVisibility();
151  virtual void updateRangeInfoFields();
152  virtual void updateRangeInfoText();
153 
154  DtUnicode formatLocationString( const DtCoordinateSystem& coordSys,
155  const std::vector<std::string>& locs );
156 
157  protected:
158 
160  {
162  : listener( 0 )
163  , vertex( 0 )
164  , rangeInfoWidget( 0 )
165  , rangeInfoWidgetModel( 0 )
166  , selected( false )
167  , attachedTo( 0 )
168  , updater( 0 )
169  , elementID( 0 )
170  {
171  }
172 
178  DtAttributeGroupWidgetAgent* rangeInfoWidget;
180  DtProjectedWidgetModelAgent* rangeInfoWidgetModel;
184  DtAttachableUpdaterAgent* updater;
186  bool selected;
189  };
190 
191  protected:
192 
194 
196 
199 
209  bool myShowEnd;
210 
219 
220  };
221 
222 
227 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)