VTK
dox/Filters/Sources/vtkArcSource.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkArcSource.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 __vtkArcSource_h
00033 #define __vtkArcSource_h
00034 
00035 #include "vtkFiltersSourcesModule.h" // For export macro
00036 #include "vtkPolyDataAlgorithm.h"
00037 
00038 class VTKFILTERSSOURCES_EXPORT vtkArcSource : public vtkPolyDataAlgorithm
00039 {
00040 public:
00041   static vtkArcSource *New();
00042   vtkTypeMacro(vtkArcSource,vtkPolyDataAlgorithm);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044 
00046 
00047   vtkSetVector3Macro(Point1,double);
00048   vtkGetVectorMacro(Point1,double,3);
00050 
00052 
00053   vtkSetVector3Macro(Point2,double);
00054   vtkGetVectorMacro(Point2,double,3);
00056 
00058 
00061   vtkSetVector3Macro(Center,double);
00062   vtkGetVectorMacro(Center,double,3);
00064 
00066 
00068   vtkSetVector3Macro(Normal,double);
00069   vtkGetVectorMacro(Normal,double,3);
00071 
00073 
00075   vtkSetVector3Macro(PolarVector,double);
00076   vtkGetVectorMacro(PolarVector,double,3);
00078 
00080 
00082   vtkSetClampMacro(Angle,double,-360.0,360.0);
00083   vtkGetMacro(Angle,double);
00085 
00087 
00089   vtkSetClampMacro(Resolution,int,1,VTK_INT_MAX);
00090   vtkGetMacro(Resolution,int);
00092 
00094 
00096   vtkSetMacro(Negative, bool);
00097   vtkGetMacro(Negative, bool);
00098   vtkBooleanMacro(Negative, bool);
00100 
00102 
00106   vtkSetMacro(UseNormalAndAngle, bool);
00107   vtkGetMacro(UseNormalAndAngle, bool);
00108   vtkBooleanMacro(UseNormalAndAngle, bool);
00110 
00111 protected:
00112   vtkArcSource(int res=1);
00113   ~vtkArcSource() {};
00114 
00115   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00116   int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00117   double Point1[3];
00118   double Point2[3];
00119   double Center[3];
00120   double Normal[3];
00121   double PolarVector[3];
00122   double Angle;
00123   int Resolution;
00124   bool Negative;
00125   bool UseNormalAndAngle;
00126 
00127 private:
00128   vtkArcSource(const vtkArcSource&);  // Not implemented.
00129   void operator=(const vtkArcSource&);  // Not implemented.
00130 };
00131 
00132 #endif
00133