00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00039 #ifndef __vtkSubPixelPositionEdgels_h
00040 #define __vtkSubPixelPositionEdgels_h
00041
00042 #include "vtkPolyDataAlgorithm.h"
00043
00044 class vtkStructuredPoints;
00045 class vtkDataArray;
00046
00047 class VTK_GRAPHICS_EXPORT vtkSubPixelPositionEdgels : public vtkPolyDataAlgorithm
00048 {
00049 public:
00050 static vtkSubPixelPositionEdgels *New();
00051 vtkTypeRevisionMacro(vtkSubPixelPositionEdgels,vtkPolyDataAlgorithm);
00052 void PrintSelf(ostream& os, vtkIndent indent);
00053
00055
00056 void SetGradMaps(vtkStructuredPoints *gm);
00057 vtkStructuredPoints *GetGradMaps();
00059
00061
00063 vtkSetMacro(TargetFlag, int);
00064 vtkGetMacro(TargetFlag, int);
00065 vtkBooleanMacro(TargetFlag, int);
00066 vtkSetMacro(TargetValue, double);
00067 vtkGetMacro(TargetValue, double);
00069
00070 protected:
00071 vtkSubPixelPositionEdgels();
00072 ~vtkSubPixelPositionEdgels();
00073
00074
00075 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00076 virtual int FillInputPortInformation(int port, vtkInformation *info);
00077
00078 void Move(int xdim, int ydim, int zdim, int x, int y,
00079 float *img, vtkDataArray *inVecs,
00080 double *result, int z, double *aspect, double *resultNormal);
00081 void Move(int xdim, int ydim, int zdim, int x, int y,
00082 double *img, vtkDataArray *inVecs,
00083 double *result, int z, double *aspect, double *resultNormal);
00084
00085 int TargetFlag;
00086 double TargetValue;
00087 private:
00088 vtkSubPixelPositionEdgels(const vtkSubPixelPositionEdgels&);
00089 void operator=(const vtkSubPixelPositionEdgels&);
00090 };
00091
00092 #endif