VTK
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 
00105 protected:
00106   vtkConeSource(int res=6);
00107   ~vtkConeSource() {}
00108 
00109   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00110   int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00111 
00112   double Height;
00113   double Radius;
00114   int Resolution;
00115   int Capping;
00116   double Center[3];
00117   double Direction[3];
00118 
00119 private:
00120   vtkConeSource(const vtkConeSource&);  // Not implemented.
00121   void operator=(const vtkConeSource&);  // Not implemented.
00122 };
00123 
00124 #endif
00125 
00126