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
42class VTKCOMMONDATAMODEL_EXPORT vtkImplicitWindowFunction : public vtkImplicitFunction
43{
44public:
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
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
107protected:
110
111 void ReportReferences(vtkGarbageCollector*) VTK_OVERRIDE;
112
113 vtkImplicitFunction *ImplicitFunction;
114 double WindowRange[2];
115 double WindowValues[2];
116
117private:
118 vtkImplicitWindowFunction(const vtkImplicitWindowFunction&) VTK_DELETE_FUNCTION;
119 void operator=(const vtkImplicitWindowFunction&) VTK_DELETE_FUNCTION;
120};
121
122#endif
123
124
Detect and break reference loops.
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
static vtkImplicitWindowFunction * New()
Construct object with window range (0,1) and window values (0,1).
double EvaluateFunction(double x[3]) override
Evaluate window function.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkMTimeType GetMTime() override
Override modified time retrieval because of object dependencies.
double EvaluateFunction(double x, double y, double z)
void EvaluateGradient(double x[3], double n[3]) override
Evaluate window function gradient.
virtual void SetImplicitFunction(vtkImplicitFunction *)
Specify an implicit function to operate on.
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObjectBase.h:66
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248