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 =========================================================================*/
36 #ifndef vtkImplicitWindowFunction_h
37 #define vtkImplicitWindowFunction_h
38 
39 #include "vtkCommonDataModelModule.h" // For export macro
40 #include "vtkImplicitFunction.h"
41 
42 class VTKCOMMONDATAMODEL_EXPORT vtkImplicitWindowFunction : public vtkImplicitFunction
43 {
44 public:
46  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
47 
52 
54 
57  double EvaluateFunction(double x[3]) VTK_OVERRIDE;
58  double EvaluateFunction(double x, double y, double z)
59  {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
61 
65  void EvaluateGradient(double x[3], double n[3]) VTK_OVERRIDE;
66 
68 
71  virtual void SetImplicitFunction(vtkImplicitFunction*);
72  vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction);
74 
76 
80  vtkSetVector2Macro(WindowRange,double);
81  vtkGetVectorMacro(WindowRange,double,2);
83 
85 
90  vtkSetVector2Macro(WindowValues,double);
91  vtkGetVectorMacro(WindowValues,double,2);
93 
97  vtkMTimeType GetMTime() VTK_OVERRIDE;
98 
100 
103  void Register(vtkObjectBase* o) VTK_OVERRIDE;
104  void UnRegister(vtkObjectBase* o) VTK_OVERRIDE;
106 
107 protected:
109  ~vtkImplicitWindowFunction() VTK_OVERRIDE;
110 
111  void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
112 
113  vtkImplicitFunction *ImplicitFunction;
114  double WindowRange[2];
115  double WindowValues[2];
116 
117 private:
118  vtkImplicitWindowFunction(const vtkImplicitWindowFunction&) VTK_DELETE_FUNCTION;
119  void operator=(const vtkImplicitWindowFunction&) VTK_DELETE_FUNCTION;
120 };
121 
122 #endif
123 
124 
abstract interface for implicit functions
virtual double EvaluateFunction(double x[3])=0
Evaluate function at position x-y-z and return value.
implicit function maps another implicit function to lie within a specified range
virtual void EvaluateGradient(double x[3], double g[3])=0
Evaluate function gradient at position x-y-z and pass back vector.
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248
Detect and break reference loops.
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkMTimeType GetMTime() override
Overload standard modified time function.
abstract base class for most VTK objects
Definition: vtkObjectBase.h:65
double EvaluateFunction(double x, double y, double z)
Evaluate window function.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.