VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lineFacadeBase.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include <vrvCore/DtUniqueID.h>
13 
14 #include <matrix/vlVector.h>
15 #include <boost/thread/shared_mutex.hpp>
16 
17 #include <string>
18 #include <vector>
19 
20 namespace makVrv
21 {
22  class DtSceneObjectAgent;
23  class DtLineStyleUpdaterAgent;
24  class DtAgentManagerInterface;
25 }
26 
27 namespace makVrf
28 {
33  {
34  public:
36  DtLineFacadeBase(makVrv::DtAgentManagerInterface&, makVrv::DtSceneObjectAgent* agent,
38 
41 
43  virtual ~DtLineFacadeBase();
44 
45  public:
47  virtual void setModelDefinition(const std::string&) = 0;
48 
50  virtual void setColor(float r, float g, float b, float a);
51 
53  virtual void setSelectedColor(float r, float g, float b, float a);
54 
56  virtual bool selected();
57 
59  virtual void setLineWidth(int) = 0;
60 
63  virtual void setPoints(const std::vector<DtVector>&, const DtVector& withOffset = DtVector::zero());
64 
66  virtual void addPoint(int index, const DtVector&);
67 
69  virtual void removePoint(int);
70 
72  virtual void setStipplePattern(unsigned int) = 0;
73 
75  virtual void setOrigin(const DtVector&);
76  virtual const DtVector& origin() const;
77 
81  virtual void setPoint(int iIndex, const DtVector&);
82 
84  virtual void setSolid(bool) = 0;
85 
87  virtual void setVisible(bool);
88 
90  virtual const std::vector<DtVector>& points() const;
91 
95  virtual void setScribed(bool);
96 
98  virtual void setPickable(bool);
99 
101  virtual bool pickable() const;
102 
105  virtual void setLineStyle(makVrv::vrvTacticalGraphicUtilities::LineStyle);
106 
108  virtual makVrv::vrvTacticalGraphicUtilities::LineStyle lineStyle() const;
109 
111  virtual void setArrowHeadPlacement(makVrv::vrvTacticalGraphicUtilities::ArrowHeadPlacement);
112 
114  virtual makVrv::vrvTacticalGraphicUtilities::ArrowHeadPlacement arrowHeadPlacement() const;
115 
117  virtual void setArrowStyle(makVrv::vrvTacticalGraphicUtilities::ArrowStyle);
118 
120  virtual makVrv::vrvTacticalGraphicUtilities::ArrowStyle arrowStyle() const;
121 
123  virtual void setSegmentEndArrow(int seg, bool flag) = 0;
124 
126  virtual void setSegmentStartArrow(int seg, bool flag) = 0;
127 
129  virtual void setArrowSize(double);
130 
132  virtual double arrowSize() const;
133 
136  virtual void setFixedWidthSizing(bool);
137 
139  virtual bool fixedWidthSizing() const;
140 
142  virtual makVrv::DtUniqueID uniqueId() const;
143 
145  virtual makVrv::DtElementID elementId() const;
146 
148  virtual makVrv::DtModelSetId modelSet() const;
149 
151  virtual void setSelected(bool selected);
152 
154  virtual void updateColors() = 0;
155 
157  makVrv::DtSceneObjectAgent* sceneObjectAgent() const;
158 
159 
160  protected:
162  virtual void updateArrowFrequencyForSegment(int);
163 
164  protected:
166  makVrv::DtSceneObjectAgent* mySceneObjectAgent;
168 
169  float myColor[4];
170  float mySelectedColor[4];
171 
176 
177  DtVector myOrigin;
178  std::vector<DtVector> myControlPoints;
179 
183 
184  double myArrowSize;
186  bool myVisible;
188 
189  bool myScribed;
190 
191  };
192 }
int myLineWidth
Definition: lineFacadeBase.h:172
Contains DtLineFacadeBase class. Facade interface for constructing line objects.
Definition: lineFacadeBase.h:32
makVrv::DtSceneObjectAgent * mySceneObjectAgent
Definition: lineFacadeBase.h:166
makVrv::DtAgentManagerInterface & myAgentManagerInterface
Definition: lineFacadeBase.h:165
ArrowHeadPlacement
Definition: DtTacticalGraphicUtilities.h:59
voidpf uLong int origin
Definition: ioapi.h:42
bool mySelected
Definition: lineFacadeBase.h:174
double myArrowSize
Definition: lineFacadeBase.h:184
bool myScribed
Definition: lineFacadeBase.h:189
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
LineStyle
Default line Styles.
Definition: DtTacticalGraphicUtilities.h:28
makVrv::vrvTacticalGraphicUtilities::LineStyle myLineStyle
Definition: lineFacadeBase.h:182
makVrv::vrvTacticalGraphicUtilities::ArrowHeadPlacement myArrowHeadPlacement
Definition: lineFacadeBase.h:181
makVrv::DtElementID myElementId
Definition: lineFacadeBase.h:187
makVrv::DtModelSetId myModelSet
Definition: lineFacadeBase.h:173
bool myPickable
Definition: lineFacadeBase.h:185
ArrowStyle
Definition: DtTacticalGraphicUtilities.h:46
makVrv::vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
Definition: lineFacadeBase.h:180
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool myVisible
Definition: lineFacadeBase.h:186
bool myFixedWidthSizing
Definition: lineFacadeBase.h:175
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
std::vector< DtVector > myControlPoints
Definition: lineFacadeBase.h:178
Contains makVrv:DtLineStyleGeometryManager.
DtModelSetId
Definition: DtModelSetEnums.h:19
DtVector myOrigin
Definition: lineFacadeBase.h:177
bool myOwnsSceneObjectAgent
Definition: lineFacadeBase.h:167
Contains various enum classes relating to model sets.

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)