VTK
vtkParametricFunction.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkParametricFunction.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
56 #ifndef vtkParametricFunction_h
57 #define vtkParametricFunction_h
58 
59 #include "vtkCommonComputationalGeometryModule.h" // For export macro
60 #include "vtkObject.h"
61 
62 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkParametricFunction : public vtkObject
63 {
64 public:
66  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
67 
76  virtual int GetDimension() = 0;
77 
90  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) = 0;
91 
101  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) = 0;
102 
104 
107  vtkSetMacro(MinimumU,double);
108  vtkGetMacro(MinimumU,double);
110 
112 
115  vtkSetMacro(MaximumU,double);
116  vtkGetMacro(MaximumU,double);
118 
120 
123  vtkSetMacro(MinimumV,double);
124  vtkGetMacro(MinimumV,double);
126 
128 
131  vtkSetMacro(MaximumV,double);
132  vtkGetMacro(MaximumV,double);
134 
136 
139  vtkSetMacro(MinimumW,double);
140  vtkGetMacro(MinimumW,double);
142 
144 
147  vtkSetMacro(MaximumW,double);
148  vtkGetMacro(MaximumW,double);
150 
152 
155  vtkSetClampMacro(JoinU,int,0,1);
156  vtkGetMacro(JoinU,int);
157  vtkBooleanMacro(JoinU,int);
159 
161 
164  vtkSetClampMacro(JoinV, int, 0, 1);
165  vtkGetMacro(JoinV, int);
166  vtkBooleanMacro(JoinV, int);
168 
170 
173  vtkSetClampMacro(JoinW, int, 0, 1);
174  vtkGetMacro(JoinW, int);
175  vtkBooleanMacro(JoinW, int);
177 
179 
185  vtkSetClampMacro(TwistU,int,0,1);
186  vtkGetMacro(TwistU,int);
187  vtkBooleanMacro(TwistU,int);
189 
191 
197  vtkSetClampMacro(TwistV, int, 0, 1);
198  vtkGetMacro(TwistV, int);
199  vtkBooleanMacro(TwistV, int);
201 
203 
209  vtkSetClampMacro(TwistW, int, 0, 1);
210  vtkGetMacro(TwistW, int);
211  vtkBooleanMacro(TwistW, int);
213 
215 
224  vtkSetClampMacro(ClockwiseOrdering,int,0,1);
225  vtkGetMacro(ClockwiseOrdering,int);
226  vtkBooleanMacro(ClockwiseOrdering,int);
228 
230 
235  vtkSetClampMacro(DerivativesAvailable,int,0,1);
236  vtkGetMacro(DerivativesAvailable,int);
237  vtkBooleanMacro(DerivativesAvailable,int);
239 
240 protected:
242  ~vtkParametricFunction() VTK_OVERRIDE;
243 
244  // Variables
245  double MinimumU;
246  double MaximumU;
247  double MinimumV;
248  double MaximumV;
249  double MinimumW;
250  double MaximumW;
251 
252  int JoinU;
253  int JoinV;
254  int JoinW;
255 
256  int TwistU;
257  int TwistV;
258  int TwistW;
259 
260  int ClockwiseOrdering;
261 
262  int DerivativesAvailable;
263 
264 private:
265  vtkParametricFunction(const vtkParametricFunction&) VTK_DELETE_FUNCTION;
266  void operator=(const vtkParametricFunction&) VTK_DELETE_FUNCTION;
267 
268 };
269 
270 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:59
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract interface for parametric functions
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.