VTK
dox/Filters/Sources/vtkCylinderSource.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkCylinderSource.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 =========================================================================*/
00033 #ifndef __vtkCylinderSource_h
00034 #define __vtkCylinderSource_h
00035 
00036 #include "vtkFiltersSourcesModule.h" // For export macro
00037 #include "vtkPolyDataAlgorithm.h"
00038 
00039 #include "vtkCell.h" // Needed for VTK_CELL_SIZE
00040 
00041 class VTKFILTERSSOURCES_EXPORT vtkCylinderSource : public vtkPolyDataAlgorithm
00042 {
00043 public:
00044   static vtkCylinderSource *New();
00045   vtkTypeMacro(vtkCylinderSource,vtkPolyDataAlgorithm);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00049 
00050   vtkSetClampMacro(Height,double,0.0,VTK_DOUBLE_MAX)
00051   vtkGetMacro(Height,double);
00053 
00055 
00056   vtkSetClampMacro(Radius,double,0.0,VTK_DOUBLE_MAX)
00057   vtkGetMacro(Radius,double);
00059 
00061 
00062   vtkSetVector3Macro(Center,double);
00063   vtkGetVectorMacro(Center,double,3);
00065 
00067 
00068   vtkSetClampMacro(Resolution,int,2,VTK_CELL_SIZE)
00069   vtkGetMacro(Resolution,int);
00071 
00073 
00075   vtkSetMacro(Capping,int);
00076   vtkGetMacro(Capping,int);
00077   vtkBooleanMacro(Capping,int);
00079 
00081 
00085   vtkSetMacro(OutputPointsPrecision,int);
00086   vtkGetMacro(OutputPointsPrecision,int);
00088 
00089 protected:
00090   vtkCylinderSource(int res=6);
00091   ~vtkCylinderSource() {}
00092 
00093   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00094   double Height;
00095   double Radius;
00096   double Center[3];
00097   int Resolution;
00098   int Capping;
00099   int OutputPointsPrecision;
00100 
00101 private:
00102   vtkCylinderSource(const vtkCylinderSource&);  // Not implemented.
00103   void operator=(const vtkCylinderSource&);  // Not implemented.
00104 };
00105 
00106 #endif