VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSpiderWebFacadeBase.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
15 
16 #include <matrix/vlVector.h>
17 #include <matrix/vlTaitBryan.h>
18 #include <vector>
19 
20 namespace makVrv
21 {
22  class DtSceneObjectAgent;
23  class DtAgentManagerInterface;
24  class DtOverlaySpiderWebModelAgent;
25 
68  {
69  protected:
72  DtSpiderWebFacadeBase(DtAgentManagerInterface&, DtSceneObjectAgent* agent,
73  DtElementID id, int modelSet);
74 
79  bool distribute = true);
80 
81  public:
82 
84  virtual ~DtSpiderWebFacadeBase();
85 
87  // @{
88  virtual void setPosition(const DtVector& position);
89  virtual DtVector position() const;
90  // @}
91 
94  // @{
95  virtual void setOrientation(const DtTaitBryan& orientation);
96  virtual DtTaitBryan orientation() const;
97  // @}
98 
102  // @{
103  virtual void setHeading(float heading);
104  virtual float heading() const;
105  // @}
106 
109  // @{
110  virtual void setMaxAngleSegment(double angleSegmentMax);
111  virtual double maxAngleSegment() const;
112  // @}
113 
116  // @{
117  virtual void setRadius(double x);
118  virtual double radius() const;
119  // @}
120 
123  // @{
124  virtual void setScale(float scale);
125  virtual float scale() const;
126  // @}
127 
130  // @{
131  virtual void setVisible(bool isVisible);
132  virtual bool isVisible() const;
133  // @}
134 
137  // @{
138  virtual void setNumberOfSpokes(unsigned int numSpokes);
139  virtual unsigned int numberOfSpokes() const;
140  // @}
141 
146  // @{
147  virtual void setNumberOfRings(unsigned int numRings);
148  virtual unsigned int numberOfRings() const;
149  // @}
150 
153  // @{
154  virtual void setIsInnerRingFilled(bool filled);
155  virtual bool isInnerRingFilled() const;
156  // @}
157 
162  // @{
163  virtual void setRingIntervalDistance(double interval);
164  virtual double ringIntervalDistance() const;
165  // @}
166 
169  // @{
170  virtual void setLineStipplePattern(unsigned int stipplePattern);
171  virtual unsigned int lineStipplePattern() const;
172  // @}
173 
176  // @{
177  virtual void setLineWidth(float width);
178  virtual float lineWidth() const;
179  // @}
180 
184  // @{
185  virtual void setColor(float r, float g, float b, float a);
186  virtual bool getColor(float& r, float& g, float& b, float& a) const;
187  // @}
188 
191  // @{
192  virtual void setOpacity(float opacity);
193  virtual float opacity() const;
194  // @}
195 
198  // @{
199  virtual void setSelected(bool);
200  virtual bool isSelected() const;
201  // @}
202 
206  // @{
207  virtual void setSelectedColor(float r, float g, float b, float a);
208  virtual bool getSelectedColor(float& r, float& g, float& b, float& a) const;
209  // @}
210 
213  // @{
214  virtual void setPickable(bool pickable);
215  virtual bool isPickable() const;
216  // @}
217 
220  // @{
221  virtual void setListenToDisplayUnitSettings(bool listen);
222  virtual bool listenToDisplayUnitSettings() const;
223  // @}
224 
230  // @{
231  virtual void setGroup(int groupNum);
232  virtual int group() const;
233  // @}
234 
240  // @{
241  virtual void setIsDecorated(bool isDecorated);
242  virtual bool isDecorated() const;
243  // @}
244 
247  // @{
248  virtual void setFontFile(std::string fontFile);
249  virtual std::string fontFile() const;
250  // @}
251 
254  // @{
255  virtual void setFontPointSize(float pointSize);
256  virtual float fontPointSize() const;
257  // @}
258 
261  // @{
262  virtual void setFontColor(float r, float g, float b, float a);
263  virtual bool getFontColor(float& r, float& g, float& b, float& a) const;
264  // @}
265 
269  // @{
270  virtual void setDistanceUnit(DtSharedDisplayUnitsSettings::DistanceUnits unit);
271  virtual DtSharedDisplayUnitsSettings::DistanceUnits distanceUnit() const;
272  // @}
273 
277  // @{
278  virtual void setDistanceDecimals(unsigned int decimals);
279  virtual unsigned int distanceDecimals() const;
280  // @}
281 
285  // @{
286  virtual void setOrientationUnit(DtSharedDisplayUnitsSettings::OrientationUnits unit);
287  virtual DtSharedDisplayUnitsSettings::OrientationUnits orientationUnit() const;
288  // @}
289 
293  // @{
294  virtual void setOrientationDecimals(unsigned int decimals);
295  virtual unsigned int orientationDecimals() const;
296  // @}
297 
301  // @{
302  virtual void setNorthUnit(DtSharedDisplayUnitsSettings::NorthUnits unit);
303  virtual DtSharedDisplayUnitsSettings::NorthUnits northUnit() const;
304  // @}
305 
306  // @name DtModel methods
307  // @{
309  virtual void setPosition(int index, const DtVector& position);
310 
312  virtual void setModelDefinition(const std::string&);
313  // @}
314 
315  protected:
316 
318  virtual void updateColors();
319 
320  private:
323 
326 
328  DtSpiderWebFacadeBase& operator=(const DtSpiderWebFacadeBase &);
329 
330  protected:
331  DtOverlaySpiderWebModelAgent* mySpiderWebModelAgent;
332 
333  DtSceneObjectAgent* mySceneObjectAgent;
336 
338 
341  DtTaitBryan myOrientation;
342 
345 
348 
350  float myHeading;
351 
352  double myRadius;
353 
354  unsigned int myNumberOfSpokes;
355  unsigned int myNumberOfRings;
356 
358 
360 
362 
363  std::string myFontFile;
365  float myFontColor[4];
366 
367  bool myVisible;
368  float myScale;
369  float myColor[4];
370  float mySelectedColor[4];
371  float myLineWidth;
372  unsigned int myLineStipplePattern;
373 
375 
377 
379  int myGroup;
383  };
384 }
DtVector myPosition
Definition: DtSpiderWebFacadeBase.h:339
double myRadius
Definition: DtSpiderWebFacadeBase.h:352
DtSharedDisplayUnitsSettings::NorthUnits myNorthToUse
Definition: DtSpiderWebFacadeBase.h:349
unsigned int myNumberOfRings
Definition: DtSpiderWebFacadeBase.h:355
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtSpiderWebFacadeBase.h:333
float myScale
Definition: DtSpiderWebFacadeBase.h:368
bool myIsInnerRingFilled
Definition: DtSpiderWebFacadeBase.h:359
NorthUnits
Enumeration of the different north units.
Definition: DtDisplayUnitsSettingsRecord.h:149
double myMaxAngleSegment
Definition: DtSpiderWebFacadeBase.h:374
unsigned int myOrientationDecimalsToUse
Definition: DtSpiderWebFacadeBase.h:344
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
bool myIsDecorated
Definition: DtSpiderWebFacadeBase.h:361
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:56
DtSharedDisplayUnitsSettings::OrientationUnits myOrientationUnitToUse
Definition: DtSpiderWebFacadeBase.h:343
Contains the DtSharedDisplayUnitsSettings class declaration.
bool myVisible
Definition: DtSpiderWebFacadeBase.h:367
bool mySelected
Definition: DtSpiderWebFacadeBase.h:380
double myRingIntervalDistance
Definition: DtSpiderWebFacadeBase.h:357
DtTaitBryan myOrientation
Definition: DtSpiderWebFacadeBase.h:341
float myHeading
Definition: DtSpiderWebFacadeBase.h:350
bool myListenToDisplayUnitSettings
Definition: DtSpiderWebFacadeBase.h:382
std::string myFontFile
Definition: DtSpiderWebFacadeBase.h:363
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
unsigned int myLineStipplePattern
Definition: DtSpiderWebFacadeBase.h:372
DtSharedDisplayUnitsSettings::DistanceUnits myDistanceUnitToUse
Definition: DtSpiderWebFacadeBase.h:346
bool myOwnsSceneObjectAgent
Definition: DtSpiderWebFacadeBase.h:335
unsigned int myDistanceDecimalsToUse
Definition: DtSpiderWebFacadeBase.h:347
bool myDynamicOrigin
Definition: DtSpiderWebFacadeBase.h:378
bool myPickable
Definition: DtSpiderWebFacadeBase.h:381
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:101
float myFontPointSize
Definition: DtSpiderWebFacadeBase.h:364
DtAgentManagerInterface & myAgentManagerInterface
Definition: DtSpiderWebFacadeBase.h:334
int myGroup
Definition: DtSpiderWebFacadeBase.h:379
Interface class for a Spider Web Facade.
Definition: DtSpiderWebFacadeBase.h:67
DtElementID myElementId
Definition: DtSpiderWebFacadeBase.h:376
int myModelSet
Definition: DtSpiderWebFacadeBase.h:337
Contains makVrv::DtUniqueID type.
float myLineWidth
Definition: DtSpiderWebFacadeBase.h:371
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
DtVector myRelativePosition
Definition: DtSpiderWebFacadeBase.h:340
unsigned int myNumberOfSpokes
Definition: DtSpiderWebFacadeBase.h:354
DtOverlaySpiderWebModelAgent * mySpiderWebModelAgent
Definition: DtSpiderWebFacadeBase.h:331
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)