00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00025 #ifndef __vtkImageDotProduct_h
00026 #define __vtkImageDotProduct_h
00027 
00028 
00029 
00030 #include "vtkThreadedImageAlgorithm.h"
00031 
00032 class VTK_IMAGING_EXPORT vtkImageDotProduct : public vtkThreadedImageAlgorithm
00033 {
00034 public:
00035   static vtkImageDotProduct *New();
00036   vtkTypeMacro(vtkImageDotProduct,vtkThreadedImageAlgorithm);
00037 
00039 
00040   virtual void SetInput1(vtkDataObject *in) { this->SetInput(0,in); }
00041   virtual void SetInput2(vtkDataObject *in) { this->SetInput(1,in); }
00043 
00044 protected:
00045   vtkImageDotProduct();
00046   ~vtkImageDotProduct() {};
00047 
00048   virtual int RequestInformation (vtkInformation *, 
00049                                   vtkInformationVector **,
00050                                   vtkInformationVector *);
00051   
00052   virtual void ThreadedRequestData(vtkInformation *request, 
00053                                    vtkInformationVector **inputVector, 
00054                                    vtkInformationVector *outputVector,
00055                                    vtkImageData ***inData, 
00056                                    vtkImageData **outData,
00057                                    int extent[6], int threadId);
00058 
00059 private:
00060   vtkImageDotProduct(const vtkImageDotProduct&);  
00061   void operator=(const vtkImageDotProduct&);  
00062 };
00063 
00064 #endif
00065 
00066 
00067