00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00023 #ifndef __vtkSurfaceVectors_h
00024 #define __vtkSurfaceVectors_h
00025
00026 #include "vtkDataSetAlgorithm.h"
00027
00028 class vtkFloatArray;
00029 class vtkIdList;
00030
00031 class VTK_EXPORT vtkSurfaceVectors : public vtkDataSetAlgorithm
00032 {
00033 public:
00034 vtkTypeRevisionMacro(vtkSurfaceVectors,vtkDataSetAlgorithm);
00035 void PrintSelf(ostream& os, vtkIndent indent);
00036 static vtkSurfaceVectors *New();
00037
00038
00039 enum ConstraintMode {
00040 Parallel = 0,
00041 Perpendicular,
00042 PerpendicularScale
00043 };
00044
00045
00047
00050 vtkSetMacro(ConstraintMode,int);
00051 vtkGetMacro(ConstraintMode,int);
00052 void SetConstraintModeToParallel()
00053 {this->SetConstraintMode(vtkSurfaceVectors::Parallel);}
00054 void SetConstraintModeToPerpendicular()
00055 {this->SetConstraintMode(vtkSurfaceVectors::Perpendicular);}
00056 void SetConstraintModeToPerpendicularScale()
00057 {this->SetConstraintMode(vtkSurfaceVectors::PerpendicularScale);}
00059
00060 protected:
00061 vtkSurfaceVectors();
00062 ~vtkSurfaceVectors();
00063
00064
00065 virtual int RequestData(vtkInformation *,
00066 vtkInformationVector **,
00067 vtkInformationVector *);
00068 virtual int RequestUpdateExtent(vtkInformation*,
00069 vtkInformationVector**,
00070 vtkInformationVector*);
00071
00072 int ConstraintMode;
00073
00074 private:
00075 vtkSurfaceVectors(const vtkSurfaceVectors&);
00076 void operator=(const vtkSurfaceVectors&);
00077 };
00078
00079 #endif