VTK
dox/Graphics/vtkSectorSource.h
Go to the documentation of this file.
00001 /*=========================================================================
00002   
00003 Program:   Visualization Toolkit
00004 Module:    vtkSectorSource.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 =========================================================================*/
00026 #ifndef __vtkSectorSource_h
00027 #define __vtkSectorSource_h
00028 
00029 #include "vtkPolyDataAlgorithm.h"
00030 
00031 class VTK_GRAPHICS_EXPORT vtkSectorSource : public vtkPolyDataAlgorithm 
00032 {
00033 public:
00034   static vtkSectorSource *New();
00035   vtkTypeMacro(vtkSectorSource,vtkPolyDataAlgorithm);
00036   void PrintSelf(ostream& os, vtkIndent indent);
00037   
00039 
00040   vtkSetClampMacro(InnerRadius,double,0.0,VTK_DOUBLE_MAX)
00041     vtkGetMacro(InnerRadius,double);
00043   
00045 
00046   vtkSetClampMacro(OuterRadius,double,0.0,VTK_DOUBLE_MAX)
00047     vtkGetMacro(OuterRadius,double);
00049   
00051 
00052   vtkSetClampMacro(ZCoord,double,0.0,VTK_DOUBLE_MAX)
00053     vtkGetMacro(ZCoord,double);
00055   
00057 
00058   vtkSetClampMacro(RadialResolution,int,1,VTK_LARGE_INTEGER)
00059     vtkGetMacro(RadialResolution,int);
00061   
00063 
00064   vtkSetClampMacro(CircumferentialResolution,int,3,VTK_LARGE_INTEGER)
00065     vtkGetMacro(CircumferentialResolution,int);
00067   
00069 
00070   vtkSetClampMacro(StartAngle,double,0.0,VTK_DOUBLE_MAX)
00071     vtkGetMacro(StartAngle,double);
00073   
00075 
00076   vtkSetClampMacro(EndAngle,double,0.0,VTK_DOUBLE_MAX)
00077     vtkGetMacro(EndAngle,double);
00079   
00080 protected:
00081   vtkSectorSource();
00082   ~vtkSectorSource() {};
00083   
00084   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00085   double InnerRadius;
00086   double OuterRadius;
00087   double ZCoord;
00088   int RadialResolution;
00089   int CircumferentialResolution;
00090   double StartAngle;
00091   double EndAngle;
00092   
00093 private:
00094   vtkSectorSource(const vtkSectorSource&);  // Not implemented.
00095   void operator=(const vtkSectorSource&);  // Not implemented.
00096 };
00097 
00098 #endif