VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
61 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkParametricFunction : public vtkObject
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  vtkSetMacro(JoinU,int);
131  vtkGetMacro(JoinU,int);
132  vtkBooleanMacro(JoinU,int);
134 
136 
137  vtkSetMacro(JoinV,int);
138  vtkGetMacro(JoinV,int);
139  vtkBooleanMacro(JoinV,int);
141 
143 
146  vtkSetMacro(TwistU,int);
147  vtkGetMacro(TwistU,int);
148  vtkBooleanMacro(TwistU,int);
150 
152 
155  vtkSetMacro(TwistV,int);
156  vtkGetMacro(TwistV,int);
157  vtkBooleanMacro(TwistV,int);
159 
161 
167  vtkSetMacro(ClockwiseOrdering,int);
168  vtkGetMacro(ClockwiseOrdering,int);
169  vtkBooleanMacro(ClockwiseOrdering,int);
171 
173 
176  vtkSetMacro(DerivativesAvailable,int);
177  vtkGetMacro(DerivativesAvailable,int);
178  vtkBooleanMacro(DerivativesAvailable,int);
180 
181 protected:
183  virtual ~vtkParametricFunction();
184 
185  // Variables
186  double MinimumU;
187  double MaximumU;
188  double MinimumV;
189  double MaximumV;
190  double MinimumW;
191  double MaximumW;
192 
193  int JoinU;
194  int JoinV;
195  int JoinW;
196 
197  int TwistU;
198  int TwistV;
199  int TwistW;
200 
202 
204 
205 private:
206  vtkParametricFunction(const vtkParametricFunction&); // Not implemented.
207  void operator=(const vtkParametricFunction&); // Not implemented.
208 
209 };
210 
211 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:61
abstract interface for parametric functions
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
Definition: vtkIndent.h:38