VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImplicitHalo.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 =========================================================================*/ 00031 #ifndef __vtkImplicitHalo_h 00032 #define __vtkImplicitHalo_h 00033 00034 #include "vtkImplicitFunction.h" 00035 00036 class VTK_FILTERING_EXPORT vtkImplicitHalo : public vtkImplicitFunction 00037 { 00038 public: 00040 static vtkImplicitHalo *New(); 00041 00042 vtkTypeMacro(vtkImplicitHalo,vtkImplicitFunction); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 00047 virtual double EvaluateFunction(double x[3]); 00048 virtual double EvaluateFunction(double x, double y, double z) 00049 { 00050 return this->vtkImplicitFunction::EvaluateFunction(x, y, z); 00051 } 00053 00055 void EvaluateGradient(double x[3], double g[3]); 00056 00058 00059 vtkSetMacro(Radius,double); 00060 vtkGetMacro(Radius,double); 00062 00064 00065 vtkSetVector3Macro(Center,double); 00066 vtkGetVector3Macro(Center,double); 00068 00070 00071 vtkSetMacro(FadeOut,double); 00072 vtkGetMacro(FadeOut,double); 00074 00075 protected: 00076 vtkImplicitHalo(); 00077 virtual ~vtkImplicitHalo(); 00078 00079 double Radius; 00080 double Center[3]; 00081 double FadeOut; 00082 00083 private: 00084 vtkImplicitHalo(const vtkImplicitHalo&); // Not implemented. 00085 void operator=(const vtkImplicitHalo&); // Not implemented. 00086 }; 00087 00088 #endif