VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/Sources/vtkConeSource.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkConeSource.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 vtkConeSource_h
00036 #define vtkConeSource_h
00037 
00038 #include "vtkFiltersSourcesModule.h" // For export macro
00039 #include "vtkPolyDataAlgorithm.h"
00040 
00041 #include "vtkCell.h" // Needed for VTK_CELL_SIZE
00042 
00043 class VTKFILTERSSOURCES_EXPORT vtkConeSource : public vtkPolyDataAlgorithm
00044 {
00045 public:
00046   vtkTypeMacro(vtkConeSource,vtkPolyDataAlgorithm);
00047   void PrintSelf(ostream& os, vtkIndent indent);
00048 
00052   static vtkConeSource *New();
00053 
00055 
00057   vtkSetClampMacro(Height,double,0.0,VTK_DOUBLE_MAX)
00058   vtkGetMacro(Height,double);
00060 
00062 
00063   vtkSetClampMacro(Radius,double,0.0,VTK_DOUBLE_MAX)
00064   vtkGetMacro(Radius,double);
00066 
00068 
00069   vtkSetClampMacro(Resolution,int,0,VTK_CELL_SIZE)
00070   vtkGetMacro(Resolution,int);
00072 
00074 
00077   vtkSetVector3Macro(Center,double);
00078   vtkGetVectorMacro(Center,double,3);
00080 
00082 
00085   vtkSetVector3Macro(Direction,double);
00086   vtkGetVectorMacro(Direction,double,3);
00088 
00090 
00094   void SetAngle (double angle);
00095   double GetAngle ();
00097 
00099 
00100   vtkSetMacro(Capping,int);
00101   vtkGetMacro(Capping,int);
00102   vtkBooleanMacro(Capping,int);
00104 
00106 
00110   vtkSetMacro(OutputPointsPrecision,int);
00111   vtkGetMacro(OutputPointsPrecision,int);
00113 
00114 protected:
00115   vtkConeSource(int res=6);
00116   ~vtkConeSource() {}
00117 
00118   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00119   int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00120 
00121   double Height;
00122   double Radius;
00123   int Resolution;
00124   int Capping;
00125   double Center[3];
00126   double Direction[3];
00127   int OutputPointsPrecision;
00128 
00129 private:
00130   vtkConeSource(const vtkConeSource&);  // Not implemented.
00131   void operator=(const vtkConeSource&);  // Not implemented.
00132 };
00133 
00134 #endif
00135 
00136