00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00043 #ifndef __vtkWarpScalar_h
00044 #define __vtkWarpScalar_h
00045
00046 #include "vtkPointSetAlgorithm.h"
00047
00048 class vtkDataArray;
00049
00050 class VTK_GRAPHICS_EXPORT vtkWarpScalar : public vtkPointSetAlgorithm
00051 {
00052 public:
00053 static vtkWarpScalar *New();
00054 vtkTypeMacro(vtkWarpScalar,vtkPointSetAlgorithm);
00055 void PrintSelf(ostream& os, vtkIndent indent);
00056
00058
00059 vtkSetMacro(ScaleFactor,double);
00060 vtkGetMacro(ScaleFactor,double);
00062
00064
00066 vtkSetMacro(UseNormal,int);
00067 vtkGetMacro(UseNormal,int);
00068 vtkBooleanMacro(UseNormal,int);
00070
00072
00074 vtkSetVector3Macro(Normal,double);
00075 vtkGetVectorMacro(Normal,double,3);
00077
00079
00083 vtkSetMacro(XYPlane,int);
00084 vtkGetMacro(XYPlane,int);
00085 vtkBooleanMacro(XYPlane,int);
00087
00088 protected:
00089 vtkWarpScalar();
00090 ~vtkWarpScalar();
00091
00092 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00093
00094 double ScaleFactor;
00095 int UseNormal;
00096 double Normal[3];
00097 int XYPlane;
00098
00099
00100 double *(vtkWarpScalar::*PointNormal)(vtkIdType id, vtkDataArray *normals);
00101 double *DataNormal(vtkIdType id, vtkDataArray *normals=NULL);
00102 double *InstanceNormal(vtkIdType id, vtkDataArray *normals=NULL);
00103 double *ZNormal(vtkIdType id, vtkDataArray *normals=NULL);
00104
00105
00106 private:
00107 vtkWarpScalar(const vtkWarpScalar&);
00108 void operator=(const vtkWarpScalar&);
00109 };
00110
00111 #endif