VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCylinder.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 =========================================================================*/ 00032 #ifndef __vtkCylinder_h 00033 #define __vtkCylinder_h 00034 00035 #include "vtkImplicitFunction.h" 00036 00037 class VTK_FILTERING_EXPORT vtkCylinder : public vtkImplicitFunction 00038 { 00039 public: 00040 vtkTypeMacro(vtkCylinder,vtkImplicitFunction); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00044 static vtkCylinder *New(); 00045 00047 00048 double EvaluateFunction(double x[3]); 00049 double EvaluateFunction(double x, double y, double z) 00050 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ; 00052 00054 void EvaluateGradient(double x[3], double g[3]); 00055 00057 00058 vtkSetMacro(Radius,double); 00059 vtkGetMacro(Radius,double); 00061 00063 00064 vtkSetVector3Macro(Center,double); 00065 vtkGetVectorMacro(Center,double,3); 00066 protected: 00067 vtkCylinder(); 00068 ~vtkCylinder() {}; 00070 00071 double Radius; 00072 double Center[3]; 00073 00074 private: 00075 vtkCylinder(const vtkCylinder&); // Not implemented. 00076 void operator=(const vtkCylinder&); // Not implemented. 00077 }; 00078 00079 #endif 00080 00081