VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkRegularPolygonSource.h,v $ 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 =========================================================================*/ 00029 #ifndef __vtkRegularPolygonSource_h 00030 #define __vtkRegularPolygonSource_h 00031 00032 #include "vtkPolyDataAlgorithm.h" 00033 00034 class VTK_GRAPHICS_EXPORT vtkRegularPolygonSource : public vtkPolyDataAlgorithm 00035 { 00036 public: 00038 00040 static vtkRegularPolygonSource *New(); 00041 vtkTypeRevisionMacro(vtkRegularPolygonSource,vtkPolyDataAlgorithm); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 00048 vtkSetClampMacro(NumberOfSides,int,3,VTK_LARGE_INTEGER); 00049 vtkGetMacro(NumberOfSides,int); 00051 00053 00055 vtkSetVector3Macro(Center,double); 00056 vtkGetVectorMacro(Center,double,3); 00058 00060 00063 vtkSetVector3Macro(Normal,double); 00064 vtkGetVectorMacro(Normal,double,3); 00066 00068 00070 vtkSetMacro(Radius,double); 00071 vtkGetMacro(Radius,double); 00073 00075 00077 vtkSetMacro(GeneratePolygon,int); 00078 vtkGetMacro(GeneratePolygon,int); 00079 vtkBooleanMacro(GeneratePolygon,int); 00081 00083 00085 vtkSetMacro(GeneratePolyline,int); 00086 vtkGetMacro(GeneratePolyline,int); 00087 vtkBooleanMacro(GeneratePolyline,int); 00089 00090 protected: 00091 vtkRegularPolygonSource(); 00092 ~vtkRegularPolygonSource() {} 00093 00094 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00095 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00096 00097 int NumberOfSides; 00098 double Center[3]; 00099 double Normal[3]; 00100 double Radius; 00101 int GeneratePolygon; 00102 int GeneratePolyline; 00103 00104 private: 00105 vtkRegularPolygonSource(const vtkRegularPolygonSource&); // Not implemented. 00106 void operator=(const vtkRegularPolygonSource&); // Not implemented. 00107 }; 00108 00109 #endif