]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbcreaMaracasVisuVolumeRendering.cxx
f804e323a9192673fb808980c63e5ef0a24de0a4
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuVolumeRendering.cxx
1 #include "bbcreaMaracasVisuVolumeRendering.h"
2 #include "bbcreaMaracasVisuPackage.h"
3
4 #include "wxMaracasMultipleVolumeRendererView.h"
5
6 namespace bbcreaMaracasVisu
7 {
8
9         BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,VolumeRendering)
10         BBTK_BLACK_BOX_IMPLEMENTATION(VolumeRendering,bbtk::WxBlackBox);
11         void VolumeRendering::Process()
12         {
13          
14         // THE MAIN PROCESSING METHOD BODY 
15         //   Here we simply set the input 'In' value to the output 'Out' 
16         //   And print out the output value 
17         // INPUT/OUTPUT ACCESSORS ARE OF THE FORM : 
18         //    void bbSet{Input|Output}NAME(const TYPE&) 
19         //    const TYPE& bbGet{Input|Output}NAME() const  
20         //    Where : 
21         //    * NAME is the name of the input/output 
22         //      (the one provided in the attribute 'name' of the tag 'input') 
23         //    * TYPE is the C++ type of the input/output 
24         //      (the one provided in the attribute 'type' of the tag 'input') 
25                 wxMaracasMultipleVolumeRendererView* volview = (wxMaracasMultipleVolumeRendererView*)bbGetOutputWidget();
26                 vtkImageData* _img1 = bbGetInputIn0();
27                 vtkImageData* _img2 = bbGetInputIn1();
28                 vtkImageData* _img3 = bbGetInputIn2();
29                 vtkImageData* _img4 = bbGetInputIn3();
30                 vtkRenderer* renderer = bbGetInputRenderer();
31
32                 if(volview!=NULL){
33                         if(renderer!=NULL&&_currentrenderer != renderer){
34                                 volview->setRenderer(renderer);                 
35                                 _currentrenderer = renderer;
36                         }
37                         if(_currentrenderer!=NULL){
38                                 if(_img1 !=NULL){
39                                 volview->addVolume(_img1, "INPUT 1");
40                                 }
41                                 if(_img2 !=NULL){
42                                         volview->addVolume(_img2, "INPUT 2");
43                                 }
44                                 if(_img3 !=NULL){
45                                         volview->addVolume(_img3, "INPUT 3");
46                                 }
47                                 if(_img4 !=NULL){
48                                         volview->addVolume(_img4, "INPUT 4");
49                                 }
50                         }       
51                 }
52
53                         //vtkImageData* img1 = ;
54
55                         /*bbSetOutputOut0(volview->GetOutputImages()[0]);
56                         bbSetOutputOut1(volview->GetOutputImages()[1]);
57                         bbSetOutputOut2(volview->GetOutputImages()[2]);
58                         bbSetOutputOut3(volview->GetOutputImages()[3]);*/
59
60         }
61         void VolumeRendering::CreateWidget(wxWindow* parent)
62         {
63                 wxMaracasMultipleVolumeRendererView* volview = wxMaracasMultipleVolumeRendererView::getInstance(parent);
64                 bbSetOutputWidget(volview);
65         }
66         void VolumeRendering::bbUserSetDefaultValues()
67         {
68          
69         //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX  
70         //  Here we initialize the input 'In' to 0 
71                 bbSetInputIn0(0); 
72                 bbSetInputIn1(0); 
73                 bbSetInputIn2(0); 
74                 bbSetInputIn3(0); 
75                 bbSetInputRenderer(0);  
76
77                 bbSetOutputOut0(NULL);
78                 bbSetOutputOut1(NULL);
79                 bbSetOutputOut2(NULL);
80                 bbSetOutputOut3(NULL);
81           
82         }
83         void VolumeRendering::bbUserInitializeProcessing()
84         { 
85                 _currentrenderer = NULL;
86         }
87         void VolumeRendering::bbUserFinalizeProcessing()
88         {
89          
90         //  THE FINALIZATION METHOD BODY : 
91         //    Here does nothing  
92         //    but this is where you should desallocate the internal/output pointers  
93         //    if any 
94           
95         }
96 }
97 // EO namespace bbcreaMaracasVisu
98
99