]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbcreaMaracasVisuVolumeRendering.h
0d1d5b40bf7bf0939169c1d78f3972e01a5bce9f
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuVolumeRendering.h
1 #ifndef __bbcreaMaracasVisuVolumeRendering_h_INCLUDED__
2 #define __bbcreaMaracasVisuVolumeRendering_h_INCLUDED__
3 #include "bbcreaMaracasVisu_EXPORT.h"
4 #include "bbtkAtomicBlackBox.h"
5 #include "iostream"
6
7 #include <vtkVolumeRayCastCompositeFunction.h>
8 #include <vtkPlanes.h>
9 #include <vtkVolumeRayCastMapper.h>
10 #include <vtkVolumeProperty.h>
11 #include <vtkVolume.h>
12 #include <vtkPiecewiseFunction.h>
13 #include <vtkColorTransferFunction.h>
14 #include <vtkImageData.h>
15 #include <vtkProp3D.h>
16
17
18 namespace bbcreaMaracasVisu
19 {
20
21 class bbcreaMaracasVisu_EXPORT VolumeRendering
22  : 
23    public bbtk::AtomicBlackBox
24 {
25   BBTK_BLACK_BOX_INTERFACE(VolumeRendering,bbtk::AtomicBlackBox);
26   BBTK_DECLARE_INPUT(In,vtkImageData*);
27   BBTK_DECLARE_OUTPUT(Out,vtkProp3D*);
28   BBTK_PROCESS(Process);
29   void Process();
30
31 private:
32         vtkVolumeRayCastCompositeFunction       *_compositeFunction;
33         vtkPlanes                                                       *_volumePlanes;
34         vtkVolumeRayCastMapper                          *_volumeMapper;
35         vtkVolumeProperty                                       *_volumeProperty;
36         vtkVolume                                                       *_newvol;
37         vtkPiecewiseFunction* _tfun;
38         vtkColorTransferFunction* _ctfun;
39 };
40
41 BBTK_BEGIN_DESCRIBE_BLACK_BOX(VolumeRendering,bbtk::AtomicBlackBox);
42 BBTK_NAME("VolumeRendering");
43 BBTK_AUTHOR("car-prie@uniandes.edu.co");
44 BBTK_DESCRIPTION("Volume Rendering of a given image");
45 BBTK_CATEGORY("__CATEGORY__");
46 BBTK_INPUT(VolumeRendering,In,"Image to create the volume rendering",vtkImageData*,"");
47 BBTK_OUTPUT(VolumeRendering,Out,"Prop3D resulting from the volume rendering",vtkProp3D*,"");
48 BBTK_END_DESCRIBE_BLACK_BOX(VolumeRendering);
49 }
50 // EO namespace bbcreaMaracasVisu
51
52 #endif // __bbcreaMaracasVisuVolumeRendering_h_INCLUDED__
53