VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImplicitWindowFunction.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00035 #ifndef __vtkImplicitWindowFunction_h 00036 #define __vtkImplicitWindowFunction_h 00037 00038 #include "vtkImplicitFunction.h" 00039 00040 class VTK_FILTERING_EXPORT vtkImplicitWindowFunction : public vtkImplicitFunction 00041 { 00042 public: 00043 vtkTypeMacro(vtkImplicitWindowFunction,vtkImplicitFunction); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00047 static vtkImplicitWindowFunction *New(); 00048 00050 00051 double EvaluateFunction(double x[3]); 00052 double EvaluateFunction(double x, double y, double z) 00053 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ; 00055 00058 void EvaluateGradient(double x[3], double n[3]); 00059 00061 00062 virtual void SetImplicitFunction(vtkImplicitFunction*); 00063 vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction); 00065 00067 00070 vtkSetVector2Macro(WindowRange,double); 00071 vtkGetVectorMacro(WindowRange,double,2); 00073 00075 00078 vtkSetVector2Macro(WindowValues,double); 00079 vtkGetVectorMacro(WindowValues,double,2); 00081 00083 unsigned long GetMTime(); 00084 00086 00087 virtual void Register(vtkObjectBase* o); 00088 virtual void UnRegister(vtkObjectBase* o); 00090 00091 protected: 00092 vtkImplicitWindowFunction(); 00093 ~vtkImplicitWindowFunction(); 00094 00095 virtual void ReportReferences(vtkGarbageCollector*); 00096 00097 vtkImplicitFunction *ImplicitFunction; 00098 double WindowRange[2]; 00099 double WindowValues[2]; 00100 00101 private: 00102 vtkImplicitWindowFunction(const vtkImplicitWindowFunction&); // Not implemented. 00103 void operator=(const vtkImplicitWindowFunction&); // Not implemented. 00104 }; 00105 00106 #endif 00107 00108