]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Visualization/ImageBlender.h
OpenGL with opaque binary image... Soon to be plural
[cpPlugins.git] / lib / cpExtensions / Visualization / ImageBlender.h
1 #ifndef __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__
2 #define __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__
3
4 #include <cpExtensions/cpExtensions_Export.h>
5
6 #include <vector>
7
8 #include <vtkThreadedImageAlgorithm.h>
9
10 namespace cpExtensions
11 {
12   namespace Visualization
13   {
14     /**
15      * @note: Based on vtkImageWeightedSum
16      */
17     class cpExtensions_EXPORT ImageBlender
18       : public vtkThreadedImageAlgorithm
19     {
20     public:
21       typedef ImageBlender Self;
22       vtkTypeMacro( ImageBlender, vtkThreadedImageAlgorithm );
23
24     public:
25       static Self* New( );
26
27     protected:
28       ImageBlender( );
29       virtual ~ImageBlender( );
30
31       int RequestInformation(
32         vtkInformation* request,
33         vtkInformationVector** inputVector,
34         vtkInformationVector* outputVector
35         );
36       void ThreadedRequestData(
37         vtkInformation* request,
38         vtkInformationVector** inputVector,
39         vtkInformationVector* outputVector,
40         vtkImageData*** inData, vtkImageData** outData,
41         int outExt[ 6 ], int id
42         );
43       int FillInputPortInformation( int i, vtkInformation* info );
44
45     private:
46       // Purposely not implemented.
47       ImageBlender( const Self& other );
48       void operator=( const Self& other );
49     };
50
51   } // ecapseman
52
53 } // ecapseman
54
55 #endif //  __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__
56
57 // eof - $RCSfile$