VTK
|
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