00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00040 #ifndef __vtkWarpScalar_h
00041 #define __vtkWarpScalar_h
00042
00043 #include "vtkPointSetAlgorithm.h"
00044
00045 class vtkDataArray;
00046
00047 class VTK_GRAPHICS_EXPORT vtkWarpScalar : public vtkPointSetAlgorithm
00048 {
00049 public:
00050 static vtkWarpScalar *New();
00051 vtkTypeRevisionMacro(vtkWarpScalar,vtkPointSetAlgorithm);
00052 void PrintSelf(ostream& os, vtkIndent indent);
00053
00055
00056 vtkSetMacro(ScaleFactor,double);
00057 vtkGetMacro(ScaleFactor,double);
00059
00061
00063 vtkSetMacro(UseNormal,int);
00064 vtkGetMacro(UseNormal,int);
00065 vtkBooleanMacro(UseNormal,int);
00067
00069
00071 vtkSetVector3Macro(Normal,double);
00072 vtkGetVectorMacro(Normal,double,3);
00074
00076
00080 vtkSetMacro(XYPlane,int);
00081 vtkGetMacro(XYPlane,int);
00082 vtkBooleanMacro(XYPlane,int);
00084
00085 protected:
00086 vtkWarpScalar();
00087 ~vtkWarpScalar();
00088
00089 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00090
00091 double ScaleFactor;
00092 int UseNormal;
00093 double Normal[3];
00094 int XYPlane;
00095
00096
00097 double *(vtkWarpScalar::*PointNormal)(vtkIdType id, vtkDataArray *normals);
00098 double *DataNormal(vtkIdType id, vtkDataArray *normals=NULL);
00099 double *InstanceNormal(vtkIdType id, vtkDataArray *normals=NULL);
00100 double *ZNormal(vtkIdType id, vtkDataArray *normals=NULL);
00101
00102
00103 private:
00104 vtkWarpScalar(const vtkWarpScalar&);
00105 void operator=(const vtkWarpScalar&);
00106 };
00107
00108 #endif