Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkSubPixelPositionEdgels.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkSubPixelPositionEdgels.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00050 #ifndef __vtkSubPixelPositionEdgels_h
00051 #define __vtkSubPixelPositionEdgels_h
00052 
00053 #include "vtkPolyDataToPolyDataFilter.h"
00054 
00055 class vtkStructuredPoints;
00056 class vtkDataArray;
00057 
00058 class VTK_GRAPHICS_EXPORT vtkSubPixelPositionEdgels : public vtkPolyDataToPolyDataFilter
00059 {
00060 public:
00061   static vtkSubPixelPositionEdgels *New();
00062   vtkTypeRevisionMacro(vtkSubPixelPositionEdgels,vtkPolyDataToPolyDataFilter);
00063   void PrintSelf(ostream& os, vtkIndent indent);
00064 
00066 
00067   void SetGradMaps(vtkStructuredPoints *gm);
00068   vtkStructuredPoints *GetGradMaps();
00070 
00072 
00074   vtkSetMacro(TargetFlag, int);
00075   vtkGetMacro(TargetFlag, int);
00076   vtkBooleanMacro(TargetFlag, int);
00077   vtkSetMacro(TargetValue, double);
00078   vtkGetMacro(TargetValue, double);
00080   
00081 protected:
00082   vtkSubPixelPositionEdgels();
00083   ~vtkSubPixelPositionEdgels();
00084 
00085   // Usual data generation method
00086   void Execute();
00087   void Move(int xdim, int ydim, int zdim, int x, int y,
00088             float *img, vtkDataArray *inVecs, 
00089             double *result, int z, double *aspect, double *resultNormal);
00090   void Move(int xdim, int ydim, int zdim, int x, int y,
00091             double *img, vtkDataArray *inVecs, 
00092             double *result, int z, double *aspect, double *resultNormal);
00093   // extension for target instead of maximum
00094   int TargetFlag;
00095   double TargetValue;
00096 private:
00097   vtkSubPixelPositionEdgels(const vtkSubPixelPositionEdgels&);  // Not implemented.
00098   void operator=(const vtkSubPixelPositionEdgels&);  // Not implemented.
00099 };
00100 
00101 #endif