VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWedgeFacadeBase.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
14 
15 #include <matrix/vlVector.h>
16 #include <vector>
17 
18 namespace makVrv
19 {
20  class DtSceneObjectAgent;
21  class DtAgentManagerInterface;
22  class DtEllipseUpdaterAgent;
23  class DtOverlayWedgeModelAgent;
24 
61  {
62  protected:
65  DtWedgeFacadeBase(DtAgentManagerInterface&, DtSceneObjectAgent* agent,
66  DtElementID id, int modelSet);
67 
72  bool distribute = true);
73 
74  public:
75 
77  virtual ~DtWedgeFacadeBase();
78 
80  // @{
81  virtual void setOrigin(const DtVector& position);
82  virtual DtVector origin() const;
83  // @}
84 
87  // @{
88  virtual void setRelativePosition(const DtVector& relPos);
89  virtual DtVector relativePosition() const;
90  // @}
91 
94  // @{
95  virtual void setMaxAngleSegment(double angleSegmentMax);
96  virtual double maxAngleSegment() const;
97  // @}
98 
101  // @{
102  virtual void setRadius(float len);
103  virtual float radius() const;
104  // @}
105 
108  // @{
109  virtual void setScale(float scale);
110  virtual float scale() const;
111  // @}
112 
114  // Default value is true (visible).
115  // @{
116  virtual void setVisible(bool isVisible);
117  virtual bool isVisible() const;
118  // @}
119 
122  // @{
123  virtual void setSelected(bool);
124  virtual bool isSelected() const;
125  // @}
126 
128  // Default value is 0.
129  // @{
130  virtual void setStartAngle(double startAngle);
131  virtual double startAngle() const;
132  // @}
133 
137  // @{
138  virtual void setWedgeSpan(double wedgeSpan);
139  virtual double wedgeSpan() const;
140  // @}
141 
145  // @{
146  virtual void setFill(bool);
147  virtual bool isFill() const;
148  // @}
149 
153  // @{
154  virtual void setOutline(bool);
155  virtual bool isOutline() const;
156  // @}
157 
161  // @{
162  virtual void setSolidFillCenter(bool);
163  virtual bool isSolidFillCenter() const;
164  // @}
165 
168  virtual void setFillPattern(const std::vector<unsigned int>&);
169 
172  // @{
173  virtual void setStipplePattern(unsigned int stipplePattern);
174  virtual unsigned int stipplePattern() const;
175  // @}
176 
180  // @{
181  virtual void setOutlineWidth(float);
182  virtual float outlineWidth() const;
183  // @}
184 
187  virtual void setColor(float r, float g, float b, float a);
188 
192  // @{
193  virtual void setCentralVertexColor(float r, float g, float b, float a);
194  virtual bool getCentralVertexColor(float& r, float& g, float& b, float& a) const;
195  // @}
196 
202  // @{
203  virtual void setInsideColor(float r, float g, float b, float a);
204  virtual bool getInsideColor(float& r, float& g, float& b, float& a) const;
205  // @}
206 
210  // @{
211  virtual void setOutsideColor(float r, float g, float b, float a);
212  virtual bool getOutsideColor(float& r, float& g, float& b, float& a) const;
213  // @}
214 
218  // @{
219  virtual void setSelectedInsideColor(float r, float g, float b, float a);
220  virtual bool getSelectedInsideColor(float& r, float& g, float& b, float& a) const;
221  // @}
222 
226  // @{
227  virtual void setSelectedOutsideColor(float r, float g, float b, float a);
228  virtual bool getSelectedOutsideColor(float& r, float& g, float& b, float& a) const;
229  // @}
230 
235  // @{
236  virtual void setGroup(int p);
237  virtual int group() const;
238  // @}
239 
242  // @{
243  virtual void setPickable(bool);
244  virtual bool isPickable() const;
245  // @}
246 
252  virtual void setDynamicOrigin(bool);
253 
255  virtual makVrv::DtUniqueID uniqueId() const;
256 
258  virtual makVrv::DtElementID elementId() const;
259 
261  virtual int modelSet() const;
262 
265  DtEllipseUpdaterAgent* findUpdater() const;
266 
268  DtSceneObjectAgent* sceneObjectAgent() const;
269 
272  DtOverlayWedgeModelAgent* findWedgeAgent() const;
273 
274  // @name DtModel methods
275  // @{
276 
278  virtual void setPosition(int index, const DtVector& position);
279 
281  virtual void setModelDefinition(const std::string&);
282 
283  // @}
284 
285  protected:
286 
288  virtual void updateColors();
289 
290  private:
293 
296 
298  DtWedgeFacadeBase& operator=(const DtWedgeFacadeBase &);
299 
300  protected:
301  DtOverlayWedgeModelAgent* myWedgeModelAgent;
302 
303  DtSceneObjectAgent* mySceneObjectAgent;
306 
308 
309  int myGroup;
310 
313 
314  double myStartAngle;
316  double myWedgeSpan;
317 
318  double myRadius;
319  float myScale;
320 
321  bool myVisible;
322 
323  DtEllipseUpdaterAgent* myUpdater;
324 
325  bool myFill;
327 
328  unsigned int myStipplePattern;
329 
330  bool myOutline;
332 
333  float myInsideColor[4];
334  float myOutsideColor[4];
335  float mySelectedInsideColor[4];
336  float mySelectedOutsideColor[4];
337  float myCentralVertexColor[4];
338 
340 
342 
347  };
348 }
bool myVisible
Definition: DtWedgeFacadeBase.h:321
double myRadius
Definition: DtWedgeFacadeBase.h:318
int myGroup
Definition: DtWedgeFacadeBase.h:309
makVrv::DtElementID myElementId
Definition: DtWedgeFacadeBase.h:341
Interface class for a Circular Wedge Facade.
Definition: DtWedgeFacadeBase.h:60
int myModelSet
Definition: DtWedgeFacadeBase.h:307
bool myDynamicOrigin
Definition: DtWedgeFacadeBase.h:343
voidpf uLong int origin
Definition: ioapi.h:42
bool myOwnsSceneObjectAgent
Definition: DtWedgeFacadeBase.h:305
bool mySolidFillCenter
Definition: DtWedgeFacadeBase.h:326
bool myOutline
Definition: DtWedgeFacadeBase.h:330
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
unsigned int myStipplePattern
Definition: DtWedgeFacadeBase.h:328
bool mySelectedInsideColorSet
Definition: DtWedgeFacadeBase.h:345
bool myFill
Definition: DtWedgeFacadeBase.h:325
DtAgentManagerInterface & myAgentManagerInterface
Definition: DtWedgeFacadeBase.h:304
bool mySelected
Definition: DtWedgeFacadeBase.h:344
DtVector myPosition
Definition: DtWedgeFacadeBase.h:311
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtOverlayWedgeModelAgent * myWedgeModelAgent
Definition: DtWedgeFacadeBase.h:301
float myOutlineWidth
Definition: DtWedgeFacadeBase.h:331
bool myPickable
Definition: DtWedgeFacadeBase.h:339
double myWedgeSpan
Definition: DtWedgeFacadeBase.h:316
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtWedgeFacadeBase.h:303
Contains makVrv::DtUniqueID type.
bool myCentralVertexColorSet
Definition: DtWedgeFacadeBase.h:346
double myMaxAngleSegment
Definition: DtWedgeFacadeBase.h:315
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
DtEllipseUpdaterAgent * myUpdater
Definition: DtWedgeFacadeBase.h:323
DtVector myRelativePosition
Definition: DtWedgeFacadeBase.h:312
double myStartAngle
Definition: DtWedgeFacadeBase.h:314
float myScale
Definition: DtWedgeFacadeBase.h:319
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)