VTK
dox/Graphics/vtkRegularPolygonSource.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkRegularPolygonSource.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 __vtkRegularPolygonSource_h
00033 #define __vtkRegularPolygonSource_h
00034 
00035 #include "vtkPolyDataAlgorithm.h"
00036 
00037 class VTK_GRAPHICS_EXPORT vtkRegularPolygonSource : public vtkPolyDataAlgorithm 
00038 {
00039 public:
00041 
00043   static vtkRegularPolygonSource *New();
00044   vtkTypeMacro(vtkRegularPolygonSource,vtkPolyDataAlgorithm);
00045   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00049 
00051   vtkSetClampMacro(NumberOfSides,int,3,VTK_LARGE_INTEGER);
00052   vtkGetMacro(NumberOfSides,int);
00054 
00056 
00058   vtkSetVector3Macro(Center,double);
00059   vtkGetVectorMacro(Center,double,3);
00061 
00063 
00066   vtkSetVector3Macro(Normal,double);
00067   vtkGetVectorMacro(Normal,double,3);
00069 
00071 
00073   vtkSetMacro(Radius,double);
00074   vtkGetMacro(Radius,double);
00076 
00078 
00080   vtkSetMacro(GeneratePolygon,int);
00081   vtkGetMacro(GeneratePolygon,int);
00082   vtkBooleanMacro(GeneratePolygon,int);
00084   
00086 
00088   vtkSetMacro(GeneratePolyline,int);
00089   vtkGetMacro(GeneratePolyline,int);
00090   vtkBooleanMacro(GeneratePolyline,int);
00092   
00093 protected:
00094   vtkRegularPolygonSource();
00095   ~vtkRegularPolygonSource() {}
00096 
00097   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00098   int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00099 
00100   int    NumberOfSides;
00101   double Center[3];
00102   double Normal[3];
00103   double Radius;
00104   int    GeneratePolygon;
00105   int    GeneratePolyline;
00106 
00107 private:
00108   vtkRegularPolygonSource(const vtkRegularPolygonSource&);  // Not implemented.
00109   void operator=(const vtkRegularPolygonSource&);  // Not implemented.
00110 };
00111 
00112 #endif