VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVolumetricLineFacadeBase.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vrvCore/vrvCore.h>
12 #include <vrvCore/DtUniqueID.h>
13 
14 #include <matrix/vlVector.h>
15 
16 #include <string>
17 #include <vector>
18 
19 namespace makVrv
20 {
21  class DtSceneObjectAgent;
22  class DtAgentManagerInterface;
23 
29  {
30  public:
32  DtVolumetricLineFacadeBase(DtAgentManagerInterface&, DtSceneObjectAgent* agent,
33  DtElementID id, int modelSet);
34 
36  DtVolumetricLineFacadeBase(DtAgentManagerInterface&, int modelSet, DtElementID id, bool distribute = true);
37 
39  virtual ~DtVolumetricLineFacadeBase();
40 
41  public:
42 
45  virtual void setPoints(const std::vector<DtVector>&, const DtVector& withOffset = DtVector::zero());
46 
48  virtual void addPoint(int index, const DtVector&);
49 
51  virtual void removePoint(int);
52 
54  virtual void setOrigin(const DtVector&);
55  virtual const DtVector& origin() const;
56 
60  virtual void setPoint(int iIndex, const DtVector&);
61 
63  virtual void setVisible(bool);
64 
66  virtual const std::vector<DtVector>& points() const;
67 
71  virtual void setScribed(bool);
72 
74  virtual void setPhysicalLineWidth(double);
75 
77  virtual double physicalLineWidth() const;
78 
80  virtual void setPickable(bool);
81 
83  virtual bool pickable() const;
84 
86  virtual makVrv::DtUniqueID uniqueId() const;
87 
89  virtual makVrv::DtElementID elementId() const;
90 
92  virtual int modelSet() const;
93 
95  DtSceneObjectAgent* sceneObjectAgent() const;
96 
99 
101  virtual void setModelDefinition(const std::string&) = 0;
102 
106  virtual void setColor(float r, float g, float b, float a);
107 
109  virtual void setOutsideColor(float r, float g, float b, float a);
110 
112  virtual void setSelectedOutsideColor(float r, float g, float b, float a);
113 
115  virtual void setInsideColor(float r, float g, float b, float a);
116 
118  virtual void setSelectedInsideColor(float r, float g, float b, float a);
119 
121  virtual void setSelected(bool selected);
122 
124  virtual bool selected();
125 
127 
129  virtual void setOutlineWidth(int) = 0;
130 
132  virtual void setSolid(bool) = 0;
133 
136  virtual void setUseDynamicOrigin(bool) = 0;
138 
139  virtual void updateColors() = 0;
140 
141  protected:
143  DtSceneObjectAgent* mySceneObjectAgent;
145 
147 
151 
153  std::vector<DtVector> myControlPoints;
154 
156  bool myVisible;
158 
159  bool myScribed;
160 
161 
162  float myInsideColor[4];
163  float myOutsideColor[4];
164 
165  float mySelectedOutsideColor[4];
166  float mySelectedInsideColor[4];
168  };
169 }
DtVector myOrigin
Definition: DtVolumetricLineFacadeBase.h:152
double myPhysicalLineWidth
Definition: DtVolumetricLineFacadeBase.h:146
voidpf uLong int origin
Definition: ioapi.h:42
bool mySelectedInsideColorSet
Definition: DtVolumetricLineFacadeBase.h:167
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtVolumetricLineFacadeBase.h:143
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
bool myPickable
Definition: DtVolumetricLineFacadeBase.h:155
std::vector< DtVector > myControlPoints
Definition: DtVolumetricLineFacadeBase.h:153
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
int myModelSet
Definition: DtVolumetricLineFacadeBase.h:149
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Contains DtVolumetricLineFacadeBase class.
Definition: DtVolumetricLineFacadeBase.h:28
int myOutlineWidth
Definition: DtVolumetricLineFacadeBase.h:148
bool mySelected
Definition: DtVolumetricLineFacadeBase.h:150
bool myScribed
Definition: DtVolumetricLineFacadeBase.h:159
bool myOwnsSceneObjectAgent
Definition: DtVolumetricLineFacadeBase.h:144
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
DtAgentManagerInterface & myAgentManagerInterface
Definition: DtVolumetricLineFacadeBase.h:142
makVrv::DtElementID myElementId
Definition: DtVolumetricLineFacadeBase.h:157
bool myVisible
Definition: DtVolumetricLineFacadeBase.h:156
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)