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) 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,vtkTypeBool,0,1);
156  vtkGetMacro(JoinU,vtkTypeBool);
157  vtkBooleanMacro(JoinU,vtkTypeBool);
159 
161 
164  vtkSetClampMacro(JoinV, vtkTypeBool, 0, 1);
165  vtkGetMacro(JoinV, vtkTypeBool);
166  vtkBooleanMacro(JoinV, vtkTypeBool);
168 
170 
173  vtkSetClampMacro(JoinW, vtkTypeBool, 0, 1);
174  vtkGetMacro(JoinW, vtkTypeBool);
175  vtkBooleanMacro(JoinW, vtkTypeBool);
177 
179 
185  vtkSetClampMacro(TwistU,vtkTypeBool,0,1);
186  vtkGetMacro(TwistU,vtkTypeBool);
187  vtkBooleanMacro(TwistU,vtkTypeBool);
189 
191 
197  vtkSetClampMacro(TwistV, vtkTypeBool, 0, 1);
198  vtkGetMacro(TwistV, vtkTypeBool);
199  vtkBooleanMacro(TwistV, vtkTypeBool);
201 
203 
209  vtkSetClampMacro(TwistW, vtkTypeBool, 0, 1);
210  vtkGetMacro(TwistW, vtkTypeBool);
211  vtkBooleanMacro(TwistW, vtkTypeBool);
213 
215 
224  vtkSetClampMacro(ClockwiseOrdering,vtkTypeBool,0,1);
225  vtkGetMacro(ClockwiseOrdering,vtkTypeBool);
226  vtkBooleanMacro(ClockwiseOrdering,vtkTypeBool);
228 
230 
235  vtkSetClampMacro(DerivativesAvailable,vtkTypeBool,0,1);
236  vtkGetMacro(DerivativesAvailable,vtkTypeBool);
237  vtkBooleanMacro(DerivativesAvailable,vtkTypeBool);
239 
240 protected:
242  ~vtkParametricFunction() override;
243 
244  // Variables
245  double MinimumU;
246  double MaximumU;
247  double MinimumV;
248  double MaximumV;
249  double MinimumW;
250  double MaximumW;
251 
255 
259 
261 
263 
264 private:
266  void operator=(const vtkParametricFunction&) = delete;
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.
int vtkTypeBool
Definition: vtkABI.h:69
abstract interface for parametric functions
a simple class to control print indentation
Definition: vtkIndent.h:39