VTK
|
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 =========================================================================*/ 00035 #ifndef vtkArcSource_h 00036 #define vtkArcSource_h 00037 00038 #include "vtkFiltersSourcesModule.h" // For export macro 00039 #include "vtkPolyDataAlgorithm.h" 00040 00041 class VTKFILTERSSOURCES_EXPORT vtkArcSource : public vtkPolyDataAlgorithm 00042 { 00043 public: 00044 static vtkArcSource *New(); 00045 vtkTypeMacro(vtkArcSource,vtkPolyDataAlgorithm); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00049 00050 vtkSetVector3Macro(Point1,double); 00051 vtkGetVectorMacro(Point1,double,3); 00053 00055 00056 vtkSetVector3Macro(Point2,double); 00057 vtkGetVectorMacro(Point2,double,3); 00059 00061 00064 vtkSetVector3Macro(Center,double); 00065 vtkGetVectorMacro(Center,double,3); 00067 00069 00071 vtkSetVector3Macro(Normal,double); 00072 vtkGetVectorMacro(Normal,double,3); 00074 00076 00078 vtkSetVector3Macro(PolarVector,double); 00079 vtkGetVectorMacro(PolarVector,double,3); 00081 00083 00085 vtkSetClampMacro(Angle,double,-360.0,360.0); 00086 vtkGetMacro(Angle,double); 00088 00090 00092 vtkSetClampMacro(Resolution,int,1,VTK_INT_MAX); 00093 vtkGetMacro(Resolution,int); 00095 00097 00099 vtkSetMacro(Negative, bool); 00100 vtkGetMacro(Negative, bool); 00101 vtkBooleanMacro(Negative, bool); 00103 00105 00109 vtkSetMacro(UseNormalAndAngle, bool); 00110 vtkGetMacro(UseNormalAndAngle, bool); 00111 vtkBooleanMacro(UseNormalAndAngle, bool); 00113 00115 00119 vtkSetMacro(OutputPointsPrecision,int); 00120 vtkGetMacro(OutputPointsPrecision,int); 00122 00123 protected: 00124 vtkArcSource(int res=1); 00125 ~vtkArcSource() {} 00126 00127 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00128 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00129 double Point1[3]; 00130 double Point2[3]; 00131 double Center[3]; 00132 double Normal[3]; 00133 double PolarVector[3]; 00134 double Angle; 00135 int Resolution; 00136 bool Negative; 00137 bool UseNormalAndAngle; 00138 int OutputPointsPrecision; 00139 00140 private: 00141 vtkArcSource(const vtkArcSource&); // Not implemented. 00142 void operator=(const vtkArcSource&); // Not implemented. 00143 }; 00144 00145 #endif 00146