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 #endif
vtkParametricFunction::JoinW
vtkTypeBool JoinW
Definition: vtkParametricFunction.h:254
vtkParametricFunction::TwistU
vtkTypeBool TwistU
Definition: vtkParametricFunction.h:256
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:53
vtkParametricFunction
abstract interface for parametric functions
Definition: vtkParametricFunction.h:62
vtkParametricFunction::MinimumW
double MinimumW
Definition: vtkParametricFunction.h:249
vtkParametricFunction::DerivativesAvailable
vtkTypeBool DerivativesAvailable
Definition: vtkParametricFunction.h:262
vtkParametricFunction::TwistW
vtkTypeBool TwistW
Definition: vtkParametricFunction.h:258
vtkParametricFunction::ClockwiseOrdering
vtkTypeBool ClockwiseOrdering
Definition: vtkParametricFunction.h:260
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkParametricFunction::MaximumU
double MaximumU
Definition: vtkParametricFunction.h:246
vtkParametricFunction::MinimumU
double MinimumU
Definition: vtkParametricFunction.h:245
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkObject.h
vtkParametricFunction::MinimumV
double MinimumV
Definition: vtkParametricFunction.h:247
vtkParametricFunction::MaximumW
double MaximumW
Definition: vtkParametricFunction.h:250
vtkParametricFunction::JoinV
vtkTypeBool JoinV
Definition: vtkParametricFunction.h:253
vtkParametricFunction::TwistV
vtkTypeBool TwistV
Definition: vtkParametricFunction.h:257
vtkParametricFunction::MaximumV
double MaximumV
Definition: vtkParametricFunction.h:248
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkParametricFunction::JoinU
vtkTypeBool JoinU
Definition: vtkParametricFunction.h:252