-/********************************************************************************************
-** Start of data viewmanagerData
-*********************************************************************************************/
-
-wxMaracasIRMViewManagerData::wxMaracasIRMViewManagerData(vtkProp3D* prop3Dvect, std::string dataname){
-
- _prop3D = prop3Dvect;
- _dataname = dataname;
- _maxgreylevel=-1;
-
- _cubesFilter=NULL;
- _cleanFilter=NULL;
- _dataMapper=NULL;
-}
-wxMaracasIRMViewManagerData::wxMaracasIRMViewManagerData(vtkImageData* imagedata, std::string dataname){
-
- this->setVtkImageData(imagedata);
- _dataname = dataname;
-
- _maxgreylevel = getMaxLevel(imagedata);
- _prop3D=NULL;
-
- _cubesFilter = vtkMarchingCubes::New();
- _cleanFilter = vtkCleanPolyData::New();
- _dataMapper = vtkPolyDataMapper::New();
- vtkActor* dataActor = vtkActor::New();
-
- _cubesFilter->SetInput(this->_imagedata);
- _cubesFilter->ComputeGradientsOn ();
- _cubesFilter->ComputeScalarsOn ();
- _cubesFilter->SetNumberOfContours( 1 );
- _cleanFilter->SetInput ( _cubesFilter->GetOutput() );
- _dataMapper->SetInput(_cleanFilter->GetOutput());
- _dataMapper->ScalarVisibilityOff();
- _dataMapper->ImmediateModeRenderingOn();
- dataActor->SetMapper(_dataMapper);
-
- this->_prop3D = dataActor;
-
- this->changeIsoValue(this->_maxgreylevel);
-
-
-}
-/**
-** changes the isovalue in a prop3D
-**/
-void wxMaracasIRMViewManagerData::changeIsoValue(double value){
-
-
- _cubesFilter->SetValue(0,value);
- _cubesFilter->Update();
- _cleanFilter->Update();
- _dataMapper->Update();
-
-
-
-}
-int wxMaracasIRMViewManagerData::getMaxGreyLevel(){
- return _maxgreylevel;
-}
-wxMaracasIRMViewManagerData::~wxMaracasIRMViewManagerData(){
- if(_cubesFilter!=NULL){
- _cubesFilter->Delete();
- _cleanFilter->Delete();
- _dataMapper->Delete();
- }
- _prop3D->Delete();
-}
-/**
-** Adds a prop3D to the world of the application
-**/
-/**
- ** Get's the max grey level of the image
- **/
-int wxMaracasIRMViewManagerData::getMaxLevel(vtkImageData* img){
-
- int ext[6], i, j, k,max=0;
- img->GetExtent(ext);
-
- for(i = ext[0]; i < ext[1];i++){
- for(j = ext[2]; j < ext[3];j++){
- for(k = ext[4]; k < ext[5];k++){
- unsigned short* ptr = (unsigned short*)img->GetScalarPointer(i,j,k);
- int temp = (int)*ptr;
- if(temp > max){
- max = temp;
- }
- }
- }
- }
- return max;
-
-
-}
-void wxMaracasIRMViewManagerData::setVtkImageData(vtkImageData* imagedata){
- _imagedata = imagedata;
-}
-/**
-** Adds a prop3D to the world of the application
-**/
-void wxMaracasIRMViewManagerData::setProp3D(vtkProp3D* prop3D){
- _prop3D = prop3D;
-}
-/**
-** Changes the opacity in a prop3D
-**/
-void wxMaracasIRMViewManagerData::changeOpacity(int value){
- std::cout<<"chage op"<<value<<std::endl;
- vtkActor* actor = (vtkActor*)this->_prop3D;
- actor->GetProperty()->SetOpacity((double)value/100.0);
-
-
-
-}
-void wxMaracasIRMViewManagerData::changeColor(double red, double green, double blue){
- std::cout<<"chage col"<<red<<green<<blue<<std::endl;
- vtkActor* actor = (vtkActor*)this->_prop3D;
- actor->GetProperty()->SetColor(red,green,blue);
-}
-/**
-** Check if the variables are setted correctly
-**/
-void wxMaracasIRMViewManagerData::checkInvariant(){
-
-}
-/**
-** get the prop3D
-**/
-vtkProp3D* wxMaracasIRMViewManagerData::getProp3D(){
- return this->_prop3D;
-}
-/**
-** return the id from the daat
-**/
-int wxMaracasIRMViewManagerData::getId(){
- return _id;
-}
-/**
-** set data id
-**/
-void wxMaracasIRMViewManagerData::setId(int propid){
- _id = propid;
-}
-
-/**
-** Get the filanme
-**/
-std::string wxMaracasIRMViewManagerData::getDataname(){
- return _dataname;
-}
-/**
-** Set the filanme
-**/
-void wxMaracasIRMViewManagerData::setDataname(std::string dataname){
- _dataname = dataname;
-}
-