VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLineFacadeBase.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvCore/vrvCore.h>
12 #include <vrvCore/DtUniqueID.h>
15 
16 #include <matrix/vlVector.h>
17 #include <boost/thread/shared_mutex.hpp>
18 
19 #include <string>
20 #include <vector>
21 
22 namespace makVrv
23 {
24  class DtSceneObjectAgent;
25  class DtLineStyleUpdaterAgent;
26  class DtAgentManagerInterface;
27 
32  {
33  public:
35  DtLineFacadeBase(DtAgentManagerInterface&, DtSceneObjectAgent* agent,
36  DtElementID id, int modelSet);
37 
39  DtLineFacadeBase(DtAgentManagerInterface&, int modelSet, DtElementID id, bool distribute = true);
40 
42  virtual ~DtLineFacadeBase();
43 
44  public:
46  virtual void setModelDefinition(const std::string&) = 0;
47 
49  virtual void setColor(float r, float g, float b, float a);
50 
52  virtual void setSelectedColor(float r, float g, float b, float a);
53 
55  virtual bool selected();
56 
58  virtual void setLineWidth(int) = 0;
59 
62  virtual void setPoints(const std::vector<DtVector>&, const DtVector& withOffset = DtVector::zero());
63 
65  virtual void addPoint(int index, const DtVector&);
66 
68  virtual void removePoint(int);
69 
71  virtual void setStipplePattern(unsigned int) = 0;
72 
74  virtual void setOrigin(const DtVector&);
75  virtual const DtVector& origin() const;
76 
80  virtual void setPoint(int iIndex, const DtVector&);
81 
83  virtual void setSolid(bool) = 0;
84 
86  virtual void setVisible(bool);
87 
89  virtual const std::vector<DtVector>& points() const;
90 
94  virtual void setScribed(bool);
95 
97  virtual void setPickable(bool);
98 
100  virtual bool pickable() const;
101 
104  virtual void setLineStyle(vrvTacticalGraphicUtilities::LineStyle);
105 
107  virtual vrvTacticalGraphicUtilities::LineStyle lineStyle() const;
108 
110  virtual void setArrowHeadPlacement(vrvTacticalGraphicUtilities::ArrowHeadPlacement);
111 
113  virtual vrvTacticalGraphicUtilities::ArrowHeadPlacement arrowHeadPlacement() const;
114 
116  virtual void setArrowStyle(vrvTacticalGraphicUtilities::ArrowStyle);
117 
119  virtual vrvTacticalGraphicUtilities::ArrowStyle arrowStyle() const;
120 
122  virtual void setSegmentEndArrow(int seg, bool flag) = 0;
123 
125  virtual void setSegmentStartArrow(int seg, bool flag) = 0;
126 
128  virtual void setArrowSize(double);
129 
131  virtual double arrowSize() const;
132 
135  virtual void setFixedWidthSizing(bool);
136 
138  virtual bool fixedWidthSizing() const;
139 
141  virtual makVrv::DtUniqueID uniqueId() const;
142 
144  virtual makVrv::DtElementID elementId() const;
145 
147  virtual int modelSet() const;
148 
150  virtual void setSelected(bool selected);
151 
153  virtual void updateColors() = 0;
154 
156  DtSceneObjectAgent* sceneObjectAgent() const;
157 
158 
159  protected:
161  virtual void updateArrowFrequencyForSegment(int);
162 
163  protected:
165  DtSceneObjectAgent* mySceneObjectAgent;
167 
168  float myColor[4];
169  float mySelectedColor[4];
170 
175 
177  std::vector<DtVector> myControlPoints;
178 
182 
183  double myArrowSize;
185  bool myVisible;
187 
188  bool myScribed;
189 
190  };
191 }
bool myOwnsSceneObjectAgent
Definition: DtLineFacadeBase.h:166
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtLineFacadeBase.h:165
ArrowHeadPlacement
Definition: DtTacticalGraphicUtilities.h:55
voidpf uLong int origin
Definition: ioapi.h:42
makVrv::DtElementID myElementId
Definition: DtLineFacadeBase.h:186
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
LineStyle
Default line Styles.
Definition: DtTacticalGraphicUtilities.h:26
std::vector< DtVector > myControlPoints
Definition: DtLineFacadeBase.h:177
double myArrowSize
Definition: DtLineFacadeBase.h:183
Contains DtLineFacadeBase class.
Definition: DtLineFacadeBase.h:31
ArrowStyle
Definition: DtTacticalGraphicUtilities.h:43
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
vrvTacticalGraphicUtilities::LineStyle myLineStyle
Definition: DtLineFacadeBase.h:181
DtVector myOrigin
Definition: DtLineFacadeBase.h:176
vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
Definition: DtLineFacadeBase.h:179
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
int myModelSet
Definition: DtLineFacadeBase.h:172
bool myVisible
Definition: DtLineFacadeBase.h:185
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:36
vrvTacticalGraphicUtilities::ArrowHeadPlacement myArrowHeadPlacement
Definition: DtLineFacadeBase.h:180
Contains makVrv:DtLineStyleGeometryManager.
DtAgentManagerInterface & myAgentManagerInterface
Definition: DtLineFacadeBase.h:164
bool mySelected
Definition: DtLineFacadeBase.h:173
bool myPickable
Definition: DtLineFacadeBase.h:184
bool myFixedWidthSizing
Definition: DtLineFacadeBase.h:174
int myLineWidth
Definition: DtLineFacadeBase.h:171
bool myScribed
Definition: DtLineFacadeBase.h:188
Contains DLL export macros.

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)