VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ellipseFacadeBase.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 #include <vrvCore/DtUniqueID.h>
11 #include <matrix/vlVector.h>
12 #include <vector>
13 
14 namespace makVrv
15 {
16  class DtSceneObjectAgent;
17  class DtAgentManagerInterface;
18 }
19 
20 namespace makVrf
21 {
31  {
32  public:
34  DtEllipseFacadeBase(makVrv::DtAgentManagerInterface&, makVrv::DtSceneObjectAgent* agent,
36 
39 
41  virtual ~DtEllipseFacadeBase();
42 
43  public:
45  virtual void setModelDefinition(const std::string&) = 0;
46 
49  virtual void setColor(float r, float g, float b, float a);
50 
52  virtual void setOutsideColor(float r, float g, float b, float a);
53 
55  virtual void setSelectedOutsideColor(float r, float g, float b, float a);
56 
58  virtual void setInsideColor(float r, float g, float b, float a);
59 
61  virtual void setSelectedInsideColor(float r, float g, float b, float a);
62 
63 
66  virtual void setPoints(const std::vector<DtVector>&);
67 
69  virtual void setOrigin(const DtVector&);
70 
72  virtual void setPosition(int iIndex, const DtVector&);
73 
75  virtual void setSelected(bool);
76 
78  virtual bool selected();
79 
81  virtual void updateColors() = 0;
82 
84  virtual void setLineWidth(int) = 0;
85 
88  virtual void setFill(bool) = 0;
89 
92  virtual void setDimensions(double, double);
93 
95  virtual void setXRadius(double);
96 
98  virtual void setYRadius(double);
99 
101  virtual void setPickable(bool) = 0;
102 
104  virtual void setVisible(bool) = 0;
105 
107  virtual void setStipplePattern(int) = 0;
108 
113  virtual void setFillPattern(const std::vector<unsigned int>&) = 0;
114 
116  virtual makVrv::DtUniqueID uniqueId() const;
117 
119  virtual makVrv::DtElementID elementId() const;
120 
122  virtual makVrv::DtModelSetId modelSet() const;
123 
125  virtual void stopClamping();
126 
128  makVrv::DtSceneObjectAgent* sceneObjectAgent() const;
129 
130  protected:
131  makVrv::DtSceneObjectAgent* mySceneObjectAgent;
134 
135  float myInsideColor[4];
136  float myOutsideColor[4];
137 
138  float mySelectedOutsideColor[4];
139  float mySelectedInsideColor[4];
141 
145  double myXRadius;
146  double myYRadius;
148 
151  };
152 }
int myLineWidth
Definition: ellipseFacadeBase.h:142
makVrv::DtModelSetId myModelSet
Definition: ellipseFacadeBase.h:143
makVrv::DtSceneObjectAgent * mySceneObjectAgent
Definition: ellipseFacadeBase.h:131
bool mySelected
Definition: ellipseFacadeBase.h:150
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
bool myDynamicOrigin
Definition: ellipseFacadeBase.h:149
makVrv::DtElementID myElementId
Definition: ellipseFacadeBase.h:147
double myXRadius
Definition: ellipseFacadeBase.h:145
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool myOwnsSceneObjectAgent
Definition: ellipseFacadeBase.h:133
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
int myNumPoints
Definition: ellipseFacadeBase.h:144
bool mySelectedInsideColorSet
Definition: ellipseFacadeBase.h:140
DtModelSetId
Definition: DtModelSetEnums.h:19
Contains DtEllipseFacadeBase class. This interface class defines the minimum amount of functionality ...
Definition: ellipseFacadeBase.h:30
double myYRadius
Definition: ellipseFacadeBase.h:146
Contains various enum classes relating to model sets.
makVrv::DtAgentManagerInterface & myAgentManagerInterface
Definition: ellipseFacadeBase.h:132

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)