Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Filtering/vtkImplicitVolume.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkImplicitVolume.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00043 #ifndef __vtkImplicitVolume_h 00044 #define __vtkImplicitVolume_h 00045 00046 #include "vtkImplicitFunction.h" 00047 00048 class vtkIdList; 00049 class vtkImageData; 00050 00051 class VTK_FILTERING_EXPORT vtkImplicitVolume : public vtkImplicitFunction 00052 { 00053 public: 00054 vtkTypeRevisionMacro(vtkImplicitVolume,vtkImplicitFunction); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00059 static vtkImplicitVolume *New(); 00060 00064 unsigned long GetMTime(); 00065 00067 00069 float EvaluateFunction(float x[3]); 00070 float EvaluateFunction(float x, float y, float z) 00071 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ; 00073 00075 void EvaluateGradient(float x[3], float n[3]); 00076 00078 00079 virtual void SetVolume(vtkImageData*); 00080 vtkGetObjectMacro(Volume,vtkImageData); 00082 00084 00085 vtkSetMacro(OutValue,float); 00086 vtkGetMacro(OutValue,float); 00088 00090 00091 vtkSetVector3Macro(OutGradient,float); 00092 vtkGetVector3Macro(OutGradient,float); 00094 00095 protected: 00096 vtkImplicitVolume(); 00097 ~vtkImplicitVolume(); 00098 00099 vtkImageData *Volume; // the structured points 00100 float OutValue; 00101 float OutGradient[3]; 00102 // to replace a static 00103 vtkIdList *PointIds; 00104 00105 private: 00106 vtkImplicitVolume(const vtkImplicitVolume&); // Not implemented. 00107 void operator=(const vtkImplicitVolume&); // Not implemented. 00108 }; 00109 00110 #endif 00111 00112