VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtArcFacadeBase.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 DtOverlayArcModelAgent;
21  class DtSceneObjectAgent;
22  class DtAgentManagerInterface;
23  class DtArcUpdaterAgent;
24 
51  {
52  protected:
55  DtArcFacadeBase(DtAgentManagerInterface&, DtSceneObjectAgent* agent,
56  DtElementID id, int modelSet);
57 
62  bool distribute = true);
63 
64  public:
65 
67  virtual ~DtArcFacadeBase();
68 
71  // @{
72  virtual void setSelected(bool);
73  virtual bool isSelected() const;
74  // @}
75 
81  virtual void setDynamicOrigin(bool);
82 
84  virtual makVrv::DtUniqueID uniqueId() const;
85 
87  virtual makVrv::DtElementID elementId() const;
88 
90  virtual int modelSet() const;
91 
93  DtArcUpdaterAgent* findUpdater() const;
94 
96  DtSceneObjectAgent* sceneObjectAgent() const;
97 
99  virtual void setPosition(int index, const DtVector& position);
100 
104  virtual void setDimensions(double x, double y);
105  virtual bool getDimensions(double& x, double& y) const;
107 
111  virtual void setScale(float scale);
112  virtual float scale() const;
114 
118  virtual void setVisible(bool isVisible);
119  virtual bool isVisible() const;
121 
125  virtual void setMaxAngleSegment(double angleSegmentMax);
126  virtual double maxAngleSegment() const;
128 
132  virtual void setStartAngle(double startAngle);
133  virtual double startAngle() const;
135 
139  virtual void setEndAngle(double endAngle);
140  virtual double endAngle() const;
142 
146  virtual void setStipplePattern(unsigned int stipplePattern);
147  virtual unsigned int stipplePattern() const;
149 
154  virtual void setLineWidth(float width);
155  virtual float lineWidth() const;
157 
161  virtual void setColor(float r, float g, float b, float a);
162  virtual bool getColor(float& r, float& g, float& b, float& a) const;
164 
168  virtual void setSelectedColor(float r, float g, float b, float a);
169  virtual bool getSelectedColor(float& r, float& g, float& b, float& a) const;
171 
173  virtual void setModelDefinition(const std::string&);
174 
176  virtual void setPickable(bool);
177 
182  virtual void setGroup(int);
183 
186  DtOverlayArcModelAgent* findArcAgent();
187 
188  protected:
189 
191  virtual void updateColors();
192 
193  private:
195  DtArcFacadeBase();
196 
199 
201  DtArcFacadeBase& operator=(const DtArcFacadeBase &);
202 
203  protected:
204  DtOverlayArcModelAgent* myArcModelAgent;
205 
206  DtSceneObjectAgent* mySceneObjectAgent;
209 
211 
212  DtArcUpdaterAgent* myUpdater;
213 
214  float myColor[4];
215  float mySelectedColor[4];
216 
218 
221 
223 
224  double myStartAngle;
225  double myEndAngle;
227 
228  double myDimensions[2];
229  float myScale;
230 
231  bool myVisible;
232 
233  unsigned int myStipplePattern;
234  float myLineWidth;
235  };
236 }
bool mySelected
Definition: DtArcFacadeBase.h:220
DtOverlayArcModelAgent * myArcModelAgent
Definition: DtArcFacadeBase.h:204
int myModelSet
Definition: DtArcFacadeBase.h:210
DtVector myPosition
Definition: DtArcFacadeBase.h:222
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
DtArcUpdaterAgent * myUpdater
Definition: DtArcFacadeBase.h:212
makVrv::DtElementID myElementId
Definition: DtArcFacadeBase.h:217
bool myVisible
Definition: DtArcFacadeBase.h:231
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtArcFacadeBase.h:206
float myLineWidth
Definition: DtArcFacadeBase.h:234
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
bool myDynamicOrigin
Definition: DtArcFacadeBase.h:219
double myEndAngle
Definition: DtArcFacadeBase.h:225
double myStartAngle
Definition: DtArcFacadeBase.h:224
unsigned int myStipplePattern
Definition: DtArcFacadeBase.h:233
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:36
DtAgentManagerInterface & myAgentManagerInterface
Definition: DtArcFacadeBase.h:207
bool myOwnsSceneObjectAgent
Definition: DtArcFacadeBase.h:208
Interface class for an Arc Facade.
Definition: DtArcFacadeBase.h:50
double myMaxAngleSegment
Definition: DtArcFacadeBase.h:226
float myScale
Definition: DtArcFacadeBase.h:229
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)