Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Graphics/vtkSphereSource.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkSphereSource.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00041 #ifndef __vtkSphereSource_h 00042 #define __vtkSphereSource_h 00043 00044 #include "vtkPolyDataSource.h" 00045 00046 #define VTK_MAX_SPHERE_RESOLUTION 1024 00047 00048 class VTK_GRAPHICS_EXPORT vtkSphereSource : public vtkPolyDataSource 00049 { 00050 public: 00051 vtkTypeRevisionMacro(vtkSphereSource,vtkPolyDataSource); 00052 void PrintSelf(ostream& os, vtkIndent indent); 00053 00057 static vtkSphereSource *New(); 00058 00060 00061 vtkSetClampMacro(Radius,float,0.0,VTK_LARGE_FLOAT); 00062 vtkGetMacro(Radius,float); 00064 00066 00067 vtkSetVector3Macro(Center,float); 00068 vtkGetVectorMacro(Center,float,3); 00070 00072 00074 vtkSetClampMacro(ThetaResolution,int,3,VTK_MAX_SPHERE_RESOLUTION); 00075 vtkGetMacro(ThetaResolution,int); 00077 00079 00081 vtkSetClampMacro(PhiResolution,int,3,VTK_MAX_SPHERE_RESOLUTION); 00082 vtkGetMacro(PhiResolution,int); 00084 00086 00087 vtkSetClampMacro(StartTheta,float,0.0,360.0); 00088 vtkGetMacro(StartTheta,float); 00090 00092 00093 vtkSetClampMacro(EndTheta,float,0.0,360.0); 00094 vtkGetMacro(EndTheta,float); 00096 00098 00100 vtkSetClampMacro(StartPhi,float,0.0,360.0); 00101 vtkGetMacro(StartPhi,float); 00103 00105 00106 vtkSetClampMacro(EndPhi,float,0.0,360.0); 00107 vtkGetMacro(EndPhi,float); 00109 00111 00117 vtkSetMacro(LatLongTessellation,int); 00118 vtkGetMacro(LatLongTessellation,int); 00119 vtkBooleanMacro(LatLongTessellation,int); 00121 00122 protected: 00123 vtkSphereSource(int res=8); 00124 ~vtkSphereSource() {} 00125 00126 void Execute(); 00127 void ExecuteInformation(); 00128 00129 float Radius; 00130 float Center[3]; 00131 int ThetaResolution; 00132 int PhiResolution; 00133 float StartTheta; 00134 float EndTheta; 00135 float StartPhi; 00136 float EndPhi; 00137 int LatLongTessellation; 00138 00139 private: 00140 vtkSphereSource(const vtkSphereSource&); // Not implemented. 00141 void operator=(const vtkSphereSource&); // Not implemented. 00142 }; 00143 00144 #endif 00145 00146