VTK
vtkImplicitWindowFunction.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImplicitWindowFunction.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 =========================================================================*/
35 #ifndef vtkImplicitWindowFunction_h
36 #define vtkImplicitWindowFunction_h
37 
38 #include "vtkCommonDataModelModule.h" // For export macro
39 #include "vtkImplicitFunction.h"
40 
42 {
43 public:
45  void PrintSelf(ostream& os, vtkIndent indent);
46 
49 
51 
52  double EvaluateFunction(double x[3]);
53  double EvaluateFunction(double x, double y, double z)
54  {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
56 
59  void EvaluateGradient(double x[3], double n[3]);
60 
62 
63  virtual void SetImplicitFunction(vtkImplicitFunction*);
64  vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction);
66 
68 
71  vtkSetVector2Macro(WindowRange,double);
72  vtkGetVectorMacro(WindowRange,double,2);
74 
76 
79  vtkSetVector2Macro(WindowValues,double);
80  vtkGetVectorMacro(WindowValues,double,2);
82 
84  unsigned long GetMTime();
85 
87 
88  virtual void Register(vtkObjectBase* o);
89  virtual void UnRegister(vtkObjectBase* o);
91 
92 protected:
95 
97 
99  double WindowRange[2];
100  double WindowValues[2];
101 
102 private:
103  vtkImplicitWindowFunction(const vtkImplicitWindowFunction&); // Not implemented.
104  void operator=(const vtkImplicitWindowFunction&); // Not implemented.
105 };
106 
107 #endif
108 
109 
abstract interface for implicit functions
virtual double EvaluateFunction(double x[3])=0
virtual void Register(vtkObjectBase *o)
unsigned long GetMTime()
implicit function maps another implicit function to lie within a specified range
virtual void EvaluateGradient(double x[3], double g[3])=0
Detect and break reference loops.
virtual void UnRegister(vtkObjectBase *o)
a simple class to control print indentation
Definition: vtkIndent.h:38
virtual void ReportReferences(vtkGarbageCollector *)
vtkImplicitFunction * ImplicitFunction
abstract base class for most VTK objects
Definition: vtkObjectBase.h:59
double EvaluateFunction(double x, double y, double z)
void PrintSelf(ostream &os, vtkIndent indent)
static vtkObject * New()
#define VTKCOMMONDATAMODEL_EXPORT