VR-Forces Developer's Guide
 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) 2024 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <matrix/vlVector.h>
14 #include <vector>
15 
16 namespace makVrv
17 {
18 
19  class DtCoordinateSystem;
20  class DtAttachableUpdaterAgent;
21  class DtAttributeGroupWidgetAgent;
22  class DtProjectedWidgetModelAgent;
23  class DtEnvironmentalVisualizerSet;
24  class DtEnvironmentalStateListener;
25  class DtIntervisibilityStateListener;
26  class DtIntervisibilityVertexTicker;
27 
33  : public DtStateVisualizer
34  {
35  public:
38  DtSceneObjectAgent* sceneObject, DtModelSetId modelSet );
39 
42 
44  {
45  return *myIntervisibilityListener;
46  }
47 
49  virtual void setColor( float r, float g, float b, float a );
50 
53  virtual void setStartPoint( const DtVector& vec );
54 
57  virtual void setEndPoint( const DtVector& vec );
58 
61  virtual void setStartAttachPoint( DtElementID elementId );
62 
64  virtual void setStartPointOffset( const DtVector& vec );
65 
68  virtual void setEndAttachPoint( DtElementID elementId );
69 
71  virtual void setEndPointOffset( const DtVector& vec );
72 
74  virtual void setSelected( int index, bool isSelected );
75 
78  virtual void slot_setSelected(bool) override;
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  struct VertexInformation;
94 
95  virtual void createStartPoint();
96  virtual void createEndPoint();
97  virtual void createModelAgents();
98  virtual void destroyModelAgents();
99  virtual DtUniqueID elementIdToSceneId( DtElementID elementId ) const;
100 
102  virtual DtEnvironmentalVisualizerSet* createVertexVisualizer( VertexInformation& vertexInfo );
103 
106  virtual void setInitialValuesFromVisualizerDefinition() override;
107 
108  virtual void setColor( DtEnvironmentalVisualizerSet&, float, float, float, float );
109  virtual void setIndicatorsEnabled( DtEnvironmentalVisualizerSet&, bool );
110  virtual void setWidgetEventsEnabled( DtEnvironmentalVisualizerSet&, bool );
111  virtual void setHatLineVisible( DtEnvironmentalVisualizerSet&, bool );
112  virtual void updateHatLine( DtEnvironmentalVisualizerSet& visSet );
113  virtual void setIndicatorModelDefinitions( DtEnvironmentalVisualizerSet& v,
114  const std::string& normalTheme, const std::string& activeTheme,
115  const std::string& selectedTheme, const std::string& multiSelectedTheme );
116  virtual void setEditing( bool isEditing );
117 
119  void setTacticalGraphicsIndicatorsEnabled( bool isEnabled );
120 
122  void setHatLinesEnabled( bool isEnabled );
123 
126  void setHatLinesOnSelectionOnly( bool isSelectedOnly );
127 
128  virtual void setupFixedDistanceForEndVertex();
129  virtual void setupUpdaterForEndVertex();
130 
133  virtual DtVector endPoint() const;
134 
137  virtual DtVector startPoint() const;
138 
139  DtUnicode formatLocationString( const DtCoordinateSystem& coordSys,
140  const std::vector<std::string>& locs );
141 
143  virtual void slot_vertexHasMouseCursor( const DtElementID& vertexElementId, bool hasMouseCursor );
144 
147  virtual void setModelDefinitionForAgents() override;
148  protected:
149 
151  {
153  : sceneObjectAgent( nullptr )
154  , listener( nullptr )
155  , vertex( nullptr )
156  , selected( false )
157  , attachedTo( 0 )
158  , updater( nullptr )
159  , elementID( 0 )
160  {
161  }
163  DtSceneObjectAgent* sceneObjectAgent;
171  DtAttachableUpdaterAgent* updater;
173  bool selected;
176  };
177 
178  protected:
179 
181 
183 
186 
195  bool myShowEnd;
196 
198  DtIntervisibilityVertexTicker* myTicker;
199  };
200 
201 
206 }
DtElementID elementID
The vertex&#39;s element id.
Definition: DtIntervisibilityVertexVisualizer.h:175
VertexInformation()
Definition: DtIntervisibilityVertexVisualizer.h:152
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
VertexInformation myEndPoint
Definition: DtIntervisibilityVertexVisualizer.h:185
bool myShowInfoOnSelect
Definition: DtIntervisibilityVertexVisualizer.h:189
bool myWidgetEventsEnabled
Definition: DtIntervisibilityVertexVisualizer.h:188
DtEnvironmentalVisualizerSet * vertex
The visualizer set for visualizing the vertex.
Definition: DtIntervisibilityVertexVisualizer.h:167
Definition: DtStateVisualizer.h:274
DtEnvironmentalStateListener * listener
The environmental state listener for the vertex.
Definition: DtIntervisibilityVertexVisualizer.h:165
bool myShowEnd
Definition: DtIntervisibilityVertexVisualizer.h:195
DtElementID attachedTo
The id of the element the vertex is attached to.
Definition: DtIntervisibilityVertexVisualizer.h:169
DtIntervisibilityStateListener * myIntervisibilityListener
Definition: DtIntervisibilityVertexVisualizer.h:180
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtIntervisibilityStateListener & intervisibilityStateListener()
Definition: DtIntervisibilityVertexVisualizer.h:43
The DtIntervisibilityStateListener is a class that will allow intervisibility objects to use start/en...
Definition: DtIntervisibilityStateListener.h:24
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
bool myHatLinesEnabled
Definition: DtIntervisibilityVertexVisualizer.h:191
DtUnicode myVertexElementDefinition
Definition: DtIntervisibilityVertexVisualizer.h:182
VertexInformation myStartPoint
Definition: DtIntervisibilityVertexVisualizer.h:184
bool myShowStart
Definition: DtIntervisibilityVertexVisualizer.h:194
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv:DtStateVisualizer class.
DtIntervisibilityVertexTicker * myTicker
A tick-able object to update this object on a regular basis.
Definition: DtIntervisibilityVertexVisualizer.h:198
The DtIntervisibilityVertexVisualizer will show at most two points – the start and end point of the i...
Definition: DtIntervisibilityVertexVisualizer.h:32
This visualizer set class holds is designed to only hold DtEnvironmentalStateVisualizer based classes...
Definition: DtEnvironmentalVisualizerSet.h:27
bool myEditingFlag
Definition: DtIntervisibilityVertexVisualizer.h:193
bool myHatLinesOnSelectionOnly
Definition: DtIntervisibilityVertexVisualizer.h:190
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool myFixedDistanceMode
Definition: DtIntervisibilityVertexVisualizer.h:192
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that &quot;directs...
Definition: DtStateVisualizer.h:30
The DtEnvironmentalStateListener is a class that deals with basic environmental process code (such as...
Definition: DtEnvironmentalStateListener.h:30
DtSceneObjectAgent * sceneObjectAgent
The scene object agent used for the vertex.
Definition: DtIntervisibilityVertexVisualizer.h:163
bool selected
The selected state of the vertex.
Definition: DtIntervisibilityVertexVisualizer.h:173
DtAttachableUpdaterAgent * updater
The updater used to position the vertex.
Definition: DtIntervisibilityVertexVisualizer.h:171
DtStateVisualizerCreatorTemplate< DtIntervisibilityVertexVisualizer > DtIntervisibilityVertexVisualizerCreator
Creator that will be registered with the state visualizer factory to create this class.
Definition: DtIntervisibilityVertexVisualizer.h:205
bool myIndicatorsEnabled
Definition: DtIntervisibilityVertexVisualizer.h:187
DtModelSetId
Definition: DtModelSetEnums.h:19
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:54
Definition: DtIntervisibilityVertexVisualizer.h:150

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)