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 "vtkCommonDataModelModule.h" // For export macro 00039 #include "vtkImplicitFunction.h" 00040 00041 class VTKCOMMONDATAMODEL_EXPORT vtkImplicitWindowFunction : public vtkImplicitFunction 00042 { 00043 public: 00044 vtkTypeMacro(vtkImplicitWindowFunction,vtkImplicitFunction); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00048 static vtkImplicitWindowFunction *New(); 00049 00051 00052 double EvaluateFunction(double x[3]); 00053 double EvaluateFunction(double x, double y, double z) 00054 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ; 00056 00059 void EvaluateGradient(double x[3], double n[3]); 00060 00062 00063 virtual void SetImplicitFunction(vtkImplicitFunction*); 00064 vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction); 00066 00068 00071 vtkSetVector2Macro(WindowRange,double); 00072 vtkGetVectorMacro(WindowRange,double,2); 00074 00076 00079 vtkSetVector2Macro(WindowValues,double); 00080 vtkGetVectorMacro(WindowValues,double,2); 00082 00084 unsigned long GetMTime(); 00085 00087 00088 virtual void Register(vtkObjectBase* o); 00089 virtual void UnRegister(vtkObjectBase* o); 00091 00092 protected: 00093 vtkImplicitWindowFunction(); 00094 ~vtkImplicitWindowFunction(); 00095 00096 virtual void ReportReferences(vtkGarbageCollector*); 00097 00098 vtkImplicitFunction *ImplicitFunction; 00099 double WindowRange[2]; 00100 double WindowValues[2]; 00101 00102 private: 00103 vtkImplicitWindowFunction(const vtkImplicitWindowFunction&); // Not implemented. 00104 void operator=(const vtkImplicitWindowFunction&); // Not implemented. 00105 }; 00106 00107 #endif 00108 00109