VR-Forces 4.8 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) 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 <matrix/vlTaitBryan.h>
17 #include <vector>
18 
19 namespace makVrv
20 {
21  class DtSceneObjectAgent;
22  class DtAgentManagerInterface;
23  class DtOverlaySpiderWebModelAgent;
24 
50  {
51  protected:
54  DtSpiderWebFacadeBase(DtAgentManagerInterface&, DtSceneObjectAgent* agent,
55  DtElementID id, int modelSet);
56 
61  bool distribute = true);
62 
63  public:
64 
66  virtual ~DtSpiderWebFacadeBase();
67 
69  // @{
70  virtual void setPosition(const DtVector& position);
71  virtual DtVector position() const;
72  // @}
73 
75  // @{
76  virtual void setOrientation(const DtTaitBryan& orientation);
77  virtual DtTaitBryan orientation() const;
78  // @}
79 
82  // @{
83  virtual void setMaxAngleSegment(double angleSegmentMax);
84  virtual double maxAngleSegment() const;
85  // @}
86 
89  // @{
90  virtual void setRadius(double x);
91  virtual double radius() const;
92  // @}
93 
96  // @{
97  virtual void setScale(float scale);
98  virtual float scale() const;
99  // @}
100 
103  // @{
104  virtual void setVisible(bool isVisible);
105  virtual bool isVisible() const;
106  // @}
107 
110  // @{
111  virtual void setNumberOfSpokes(unsigned int numSpokes);
112  virtual unsigned int numberOfSpokes() const;
113  // @}
114 
117  // @{
118  virtual void setNumberOfRings(unsigned int numRings);
119  virtual unsigned int numberOfRings() const;
120  // @}
121 
124  // @{
125  virtual void setLineStipplePattern(unsigned int stipplePattern);
126  virtual unsigned int lineStipplePattern() const;
127  // @}
128 
131  // @{
132  virtual void setLineWidth(float width);
133  virtual float lineWidth() const;
134  // @}
135 
139  // @{
140  virtual void setColor(float r, float g, float b, float a);
141  virtual bool getColor(float& r, float& g, float& b, float& a) const;
142  // @}
143 
146  // @{
147  virtual void setSelected(bool);
148  virtual bool isSelected() const;
149  // @}
150 
154  // @{
155  virtual void setSelectedColor(float r, float g, float b, float a);
156  virtual bool getSelectedColor(float& r, float& g, float& b, float& a) const;
157  // @}
158 
161  // @{
162  virtual void setPickable(bool pickable);
163  virtual bool isPickable() const;
164  // @}
165 
171  // @{
172  virtual void setGroup(int groupNum);
173  virtual int group() const;
174  // @}
175 
176  // @name DtModel methods
177  // @{
179  virtual void setPosition(int index, const DtVector& position);
180 
182  virtual void setModelDefinition(const std::string&);
183  // @}
184 
185  protected:
186 
188  virtual void updateColors();
189 
190  private:
193 
196 
198  DtSpiderWebFacadeBase& operator=(const DtSpiderWebFacadeBase &);
199 
200  protected:
201  DtOverlaySpiderWebModelAgent* mySpiderWebModelAgent;
202 
203  DtSceneObjectAgent* mySceneObjectAgent;
206 
208 
211  DtTaitBryan myOrientation;
212 
213  double myRadius;
214 
215  unsigned int myNumberOfSpokes;
216  unsigned int myNumberOfRings;
217 
218  bool myVisible;
219  float myScale;
220  float myColor[4];
221  float mySelectedColor[4];
222  float myLineWidth;
223  unsigned int myLineStipplePattern;
224 
226 
228 
230  int myGroup;
233  };
234 }
DtVector myPosition
Definition: DtSpiderWebFacadeBase.h:209
double myRadius
Definition: DtSpiderWebFacadeBase.h:213
unsigned int myNumberOfRings
Definition: DtSpiderWebFacadeBase.h:216
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtSpiderWebFacadeBase.h:203
float myScale
Definition: DtSpiderWebFacadeBase.h:219
double myMaxAngleSegment
Definition: DtSpiderWebFacadeBase.h:225
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
bool myVisible
Definition: DtSpiderWebFacadeBase.h:218
bool mySelected
Definition: DtSpiderWebFacadeBase.h:231
DtTaitBryan myOrientation
Definition: DtSpiderWebFacadeBase.h:211
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
unsigned int myLineStipplePattern
Definition: DtSpiderWebFacadeBase.h:223
bool myOwnsSceneObjectAgent
Definition: DtSpiderWebFacadeBase.h:205
bool myDynamicOrigin
Definition: DtSpiderWebFacadeBase.h:229
bool myPickable
Definition: DtSpiderWebFacadeBase.h:232
DtAgentManagerInterface & myAgentManagerInterface
Definition: DtSpiderWebFacadeBase.h:204
int myGroup
Definition: DtSpiderWebFacadeBase.h:230
Interface class for a Spider Web Facade.
Definition: DtSpiderWebFacadeBase.h:49
DtElementID myElementId
Definition: DtSpiderWebFacadeBase.h:227
int myModelSet
Definition: DtSpiderWebFacadeBase.h:207
Contains makVrv::DtUniqueID type.
float myLineWidth
Definition: DtSpiderWebFacadeBase.h:222
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:36
DtVector myRelativePosition
Definition: DtSpiderWebFacadeBase.h:210
unsigned int myNumberOfSpokes
Definition: DtSpiderWebFacadeBase.h:215
DtOverlaySpiderWebModelAgent * mySpiderWebModelAgent
Definition: DtSpiderWebFacadeBase.h:201
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)