2 #include "wxMaracasMultipleVolumeRendererManagerData.h"
4 /********************************************************************************************
5 ** Start of data viewmanagerData
6 *********************************************************************************************/
8 wxMaracasMultipleVolumeRendererManagerData::wxMaracasMultipleVolumeRendererManagerData(vtkImageData* vol, std::string dataname){
13 _tfun = vtkPiecewiseFunction::New();
14 _ctfun = vtkColorTransferFunction::New();
16 _volumePlanes = vtkPlanes::New();
17 _compositeFunction = vtkVolumeRayCastCompositeFunction::New();
18 _volumeMapper = vtkVolumeRayCastMapper::New();
19 _volumeMapper->SetVolumeRayCastFunction(_compositeFunction);
20 _volumeMapper->SetClippingPlanes( _volumePlanes );
21 _volumeMapper->AutoAdjustSampleDistancesOn();
22 _volumeProperty = vtkVolumeProperty::New();
23 _volumeProperty->SetInterpolationTypeToLinear();
24 _volumeProperty->ShadeOn();
25 _volumeProperty->DisableGradientOpacityOn();
26 _volumeProperty->SetColor(_ctfun);
27 _volumeProperty->SetScalarOpacity(_tfun );
29 _newvol = vtkVolume::New();
30 _newvol->SetMapper(_volumeMapper );
31 _newvol->SetProperty(_volumeProperty );
32 _volumeMapper->SetInput( _vol );
33 _volumeMapper->Update();
38 wxMaracasMultipleVolumeRendererManagerData::~wxMaracasMultipleVolumeRendererManagerData(){
42 _volumePlanes->Delete();
43 _compositeFunction->Delete();
44 _volumeMapper->Delete();
45 _volumeProperty->Delete();
52 void wxMaracasMultipleVolumeRendererManagerData::setVolumeColor(std::vector<double>& greylevelcolors,
53 std::vector<double>& red,
54 std::vector<double>& green,
55 std::vector<double>& blue)
58 _ctfun->RemoveAllPoints();
59 for(int i = 0; i < greylevelcolors.size();i++){
60 _ctfun->AddRGBPoint(greylevelcolors[i], red[i],green[i], blue[i]);
61 //std::cout<<"wxMaracasMultipleVolumeRendererManagerData::setVolumeColor "<<greylevelcolors[i]<<" "<<red[i]<<" "<<green[i]<<" "<<blue[i]<<std::endl;
69 void wxMaracasMultipleVolumeRendererManagerData::setVolumeOpacity(std::vector<double> greylevel,std::vector<double> value){
71 _tfun->RemoveAllPoints();
72 for(int i = 0; i < greylevel.size();i++){
73 _tfun->AddPoint(greylevel[i], value[i]);
74 //std::cout<<"wxMaracasMultipleVolumeRendererManagerData::setVolumeOpacity "<<greylevel[i]<<" "<< value[i]<<std::endl;
80 ** Check if the variables are setted correctly
82 void wxMaracasMultipleVolumeRendererManagerData::checkInvariant(){
88 vtkProp3D* wxMaracasMultipleVolumeRendererManagerData::getProp3D(){
92 ** return the id from the daat
94 int wxMaracasMultipleVolumeRendererManagerData::getId(){
100 void wxMaracasMultipleVolumeRendererManagerData::setId(int propid){
107 std::string wxMaracasMultipleVolumeRendererManagerData::getDataname(){
113 void wxMaracasMultipleVolumeRendererManagerData::setDataname(std::string dataname){
114 _dataname = dataname;