]> Creatis software - creaMaracasVisu.git/blob - lib/GUI/Base/VolumeRenderer/volumerendererdata.cxx
*** empty log message ***
[creaMaracasVisu.git] / lib / GUI / Base / VolumeRenderer / volumerendererdata.cxx
1 #include "volumerendererdata.h"
2 #include "vtkObjectFactory.h"
3
4 vtkCxxRevisionMacro(VolumeRendererData, "$Revision: 1.4 $");
5 vtkStandardNewMacro(VolumeRendererData);
6
7 VolumeRendererData::VolumeRendererData()
8 {
9     VolRendData = 0;
10     ImageData = 0;
11     Renderer = 0;
12     Interactor = 0;
13 }
14
15
16 void VolumeRendererData::ShowVolume(bool checked){
17     if(checked){
18           //  invariant();
19             cout<<"JPRG::VolumeRendererData::ShowVolume"<<endl;
20             VolRendData = new VolumeRendererManagerData(ImageData, true);
21             VolRendData->SetLookupTable(LookUpTable);
22             Renderer->AddActor(VolRendData->getProp3D());
23     }else{
24         Renderer->RemoveActor(VolRendData->getProp3D());
25         VolRendData->Delete();
26         VolRendData = 0;
27     }
28 }
29
30 void VolumeRendererData::invariant(){
31     if(!ImageData){
32         throw "Image data not set";
33     }
34     if(!Renderer){
35         throw "renderer not initialized";
36     }
37 }
38 void VolumeRendererData::OpacityChanged(vector<double> greyvalues, vector<double> values){
39     //invariant();
40
41      if(VolRendData==NULL)
42     {
43           VolRendData = new VolumeRendererManagerData(ImageData, true);
44
45     }
46     VolRendData->SetLookupTable(LookUpTable);
47     VolRendData->setVolumeOpacity(greyvalues,values);
48
49 }
50
51 void  VolumeRendererData::BoundingBoxChanged(bool checked){
52    // invariant();
53
54     if(VolRendData==NULL)
55     {
56          VolRendData = new VolumeRendererManagerData(ImageData, true);
57          VolRendData->SetLookupTable(LookUpTable);
58     }
59
60
61     if(VolRendData && Interactor){
62         if(checked){
63             VolRendData->EnableBoundingBox(Interactor);
64         }else{
65             VolRendData->DisableBoundingBox();
66         }
67     }
68 }
69
70 void VolumeRendererData::changeCompositeMIPFunction(int function){
71     invariant();
72     if(VolRendData)
73         VolRendData->changeCompositeMIPFunction(function);
74 }