00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00030 #ifndef __vtkArrowSource_h
00031 #define __vtkArrowSource_h
00032 
00033 #include "vtkPolyDataAlgorithm.h"
00034 
00035 class VTK_GRAPHICS_EXPORT vtkArrowSource : public vtkPolyDataAlgorithm
00036 {
00037 public:
00039   static vtkArrowSource *New();
00040 
00041   vtkTypeMacro(vtkArrowSource,vtkPolyDataAlgorithm);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043     
00045 
00046   vtkSetClampMacro(TipLength,double,0.0,1.0);
00047   vtkGetMacro(TipLength,double);
00048   vtkSetClampMacro(TipRadius,double,0.0,10.0);
00049   vtkGetMacro(TipRadius,double);
00051   
00053 
00055   vtkSetClampMacro(TipResolution,int,1,128);
00056   vtkGetMacro(TipResolution,int);
00058 
00060 
00061   vtkSetClampMacro(ShaftRadius,double,0.0,5.0);
00062   vtkGetMacro(ShaftRadius,double);
00064 
00066 
00068   vtkSetClampMacro(ShaftResolution,int,0,128);
00069   vtkGetMacro(ShaftResolution,int);
00071 
00073 
00076   vtkBooleanMacro(Invert, bool);
00077   vtkSetMacro(Invert, bool);
00078   vtkGetMacro(Invert, bool);
00080 
00081 protected:
00082   vtkArrowSource();
00083   ~vtkArrowSource() {};
00084 
00085   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00086 
00087   int TipResolution;
00088   double TipLength;
00089   double TipRadius;
00090 
00091   int ShaftResolution;
00092   double ShaftRadius;
00093   bool Invert;
00094 
00095 
00096 private:
00097   vtkArrowSource(const vtkArrowSource&); 
00098   void operator=(const vtkArrowSource&); 
00099 };
00100 
00101 #endif
00102 
00103