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 =========================================================================*/
55 #ifndef vtkParametricFunction_h
56 #define vtkParametricFunction_h
57 
58 #include "vtkCommonComputationalGeometryModule.h" // For export macro
59 #include "vtkObject.h"
60 
62 {
63 public:
65  void PrintSelf(ostream& os, vtkIndent indent);
66 
72  virtual int GetDimension() = 0;
73 
82  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) = 0;
83 
89  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) = 0;
90 
92 
93  vtkSetMacro(MinimumU,double);
94  vtkGetMacro(MinimumU,double);
96 
98 
99  vtkSetMacro(MaximumU,double);
100  vtkGetMacro(MaximumU,double);
102 
104 
105  vtkSetMacro(MinimumV,double);
106  vtkGetMacro(MinimumV,double);
108 
110 
111  vtkSetMacro(MaximumV,double);
112  vtkGetMacro(MaximumV,double);
114 
116 
117  vtkSetMacro(MinimumW,double);
118  vtkGetMacro(MinimumW,double);
120 
122 
123  vtkSetMacro(MaximumW,double);
124  vtkGetMacro(MaximumW,double);
126 
128 
130  vtkSetClampMacro(JoinU,int,0,1);
131  vtkGetMacro(JoinU,int);
132  vtkBooleanMacro(JoinU,int);
134 
136 
137  vtkSetClampMacro(JoinV, int, 0, 1);
138  vtkGetMacro(JoinV, int);
139  vtkBooleanMacro(JoinV, int);
141 
143 
144  vtkSetClampMacro(JoinW, int, 0, 1);
145  vtkGetMacro(JoinW, int);
146  vtkBooleanMacro(JoinW, int);
148 
150 
153  vtkSetClampMacro(TwistU,int,0,1);
154  vtkGetMacro(TwistU,int);
155  vtkBooleanMacro(TwistU,int);
157 
159 
162  vtkSetClampMacro(TwistV, int, 0, 1);
163  vtkGetMacro(TwistV, int);
164  vtkBooleanMacro(TwistV, int);
166 
168 
171  vtkSetClampMacro(TwistW, int, 0, 1);
172  vtkGetMacro(TwistW, int);
173  vtkBooleanMacro(TwistW, int);
175 
177 
183  vtkSetClampMacro(ClockwiseOrdering,int,0,1);
184  vtkGetMacro(ClockwiseOrdering,int);
185  vtkBooleanMacro(ClockwiseOrdering,int);
187 
189 
192  vtkSetClampMacro(DerivativesAvailable,int,0,1);
193  vtkGetMacro(DerivativesAvailable,int);
194  vtkBooleanMacro(DerivativesAvailable,int);
196 
197 protected:
199  virtual ~vtkParametricFunction();
200 
201  // Variables
202  double MinimumU;
203  double MaximumU;
204  double MinimumV;
205  double MaximumV;
206  double MinimumW;
207  double MaximumW;
208 
209  int JoinU;
210  int JoinV;
211  int JoinW;
212 
213  int TwistU;
214  int TwistV;
215  int TwistW;
216 
218 
220 
221 private:
222  vtkParametricFunction(const vtkParametricFunction&); // Not implemented.
223  void operator=(const vtkParametricFunction&); // Not implemented.
224 
225 };
226 
227 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:61
#define VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT
abstract interface for parametric functions
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
Definition: vtkIndent.h:38