]> Creatis software - creaMaracasVisu.git/blob - lib/GUI/Base/VolumeRenderer/volumerendererdata.cxx
volume rendering qt with composite mip
[creaMaracasVisu.git] / lib / GUI / Base / VolumeRenderer / volumerendererdata.cxx
1 #include "volumerendererdata.h"
2
3 VolumeRendererData::VolumeRendererData()
4 {
5     VolRendData = 0;
6     ImageData = 0;
7     Renderer = 0;
8     Interactor = 0;
9 }
10
11
12 void VolumeRendererData::ShowVolume(bool checked){
13     if(checked){
14             invariant();
15             VolRendData = new VolumeRendererManagerData(ImageData, true);
16             if(!LookUpTable){
17
18             }else{
19                 VolRendData->SetLookupTable(LookUpTable);
20             }
21             Renderer->AddActor(VolRendData->getProp3D());
22     }else{
23         Renderer->RemoveActor(VolRendData->getProp3D());
24         VolRendData->Delete();
25         VolRendData = 0;
26     }
27 }
28
29 void VolumeRendererData::invariant(){
30     if(!ImageData){
31         throw "Image data not set";
32     }
33     if(!Renderer){
34         throw "renderer not initialized";
35     }
36 }
37 void VolumeRendererData::OpacityChanged(vector<double> greyvalues, vector<double> values){
38     invariant();
39     if(VolRendData){
40         VolRendData->setVolumeOpacity(greyvalues,values);
41     }
42 }
43 void  VolumeRendererData::BoundingBoxChanged(bool checked){
44     invariant();
45     if(VolRendData && Interactor){
46         if(checked){
47             VolRendData->EnableBoundingBox(Interactor);
48         }else{
49             VolRendData->DisableBoundingBox();
50         }
51     }
52 }
53
54 void VolumeRendererData::changeCompositeMIPFunction(int function){
55     invariant();
56     if(VolRendData)
57         VolRendData->changeCompositeMIPFunction(function);
58 }