]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxSTLWidget_03.cxx
BUG contour line
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxSTLWidget_03.cxx
index 1afdbfb21c71739b3d04cfa34d040339fe354eb0..edfe3f3004da62d269e0faf7fc9c4ef49cc27a29 100644 (file)
 //-------------------------------------------------------------------
 //-------------------------------------------------------------------
 //-------------------------------------------------------------------
-wxSTLWidget_03::wxSTLWidget_03(wxWindow *parent, marInterface* mar)
+wxSTLWidget_03::wxSTLWidget_03(wxWindow *parent)//, marInterface* mar)
 : wxPanel( parent, -1) 
 {
        _wxMaracasMPR           = NULL;
        _maxSize                = 2000;
        _minSize                = 300;
-
+       _imagedata = NULL;
        _stlMarchingCubesLevel  = 128;
        _stlDeltaGaussLevel             = 100;
 
-       _mar=new marInterface();        
+       /*_mar=new marInterface();      
        _mar->_parameters->setRescaleSlope( mar->_parameters->getRescaleSlope() );
        _mar->_parameters->setRescaleIntercept( mar->_parameters->getRescaleIntercept() );
        _mar->_parameters->setIntParam( marParameters::e_voxel_type, marParameters::VOX_TYPE_MINIMUM );
@@ -83,15 +83,13 @@ wxSTLWidget_03::wxSTLWidget_03(wxWindow *parent, marInterface* mar)
        mar->_experiment->getVOI( voi );
        _mar->_experiment->setVOI( voi );
        _mar->SetDicom(mar->_dicom);
-       _mar->initExperiment( );
+       _mar->initExperiment( );*/
         
 
        wxBoxSizer              *sizer          = new wxBoxSizer(wxVERTICAL  );
        wxSplitterWindow        *pnlSplitter    = new wxSplitterWindow( this , -1);
        wxPanel                 *viewPanel      = CreateViewPanel(pnlSplitter);
-printf("EED wxSTLWidget_03::wxSTLWidget_03 01\n");
        wxPanel                 *controlPanel   = CreateControlPanel(pnlSplitter);
-printf("EED wxSTLWidget_03::wxSTLWidget_03 02\n");
 
        sizer           -> Add( pnlSplitter ,1,wxGROW  ,0);
        pnlSplitter     -> SetMinimumPaneSize( 150 );
@@ -123,7 +121,6 @@ printf("EED wxSTLWidget_03::wxSTLWidget_03 02\n");
        joinMarchingCubes       = NULL;
     joinMapper                 = NULL; 
        joinActor               = NULL;
-printf("EED wxSTLWidget_03::wxSTLWidget_03 03\n");
 
 
 }
@@ -140,51 +137,54 @@ wxPanel* wxSTLWidget_03::CreateViewPanel(wxWindow *parent)
 
 
    // MPR
-       vtkImageData *imagedata;
-       imagedata = _mar->_experiment->getDynData( )->getVolume( )->castVtk();
-       imagedata->Update();    
-printf("EED wxSTLWidget_03::CreateViewPanel  01 \n");
-       _wxMaracasMPR = new wxMaracasMPR( panel, new marImageData(imagedata), _mar->_parameters->getVoxelSize() );
-printf("EED wxSTLWidget_03::CreateViewPanel  02 \n");
+       //vtkImageData *imagedata;
+       //imagedata = _mar->_experiment->getDynData( )->getVolume( )->castVtk();
+       //imagedata->Update();  
+       _wxMaracasMPR = new wxMaracasMPR( panel);//JCP 10-03-2009, new marImageData(imagedata), 1 );
        _wxMaracasMPR->ConfigureVTK();
-printf("EED wxSTLWidget_03::CreateViewPanel  03 \n");
        
        sizer->Add(     _wxMaracasMPR , 1, wxEXPAND, 0);
        panel->SetSizer(sizer);
        panel->SetAutoLayout(true);
        panel->SetSize(400,400);
        panel->Layout();
-printf("EED wxSTLWidget_03::CreateViewPanel  04 \n");
        return panel;
 }
+
+void wxSTLWidget_03::setImage(vtkImageData* img){
+
+       marImageData* marimagedata = new marImageData(img);
+
+       _wxMaracasMPR->setMarImage(marimagedata, 1);
+       _wxMaracasMPR->ConfigureVTK();
+       this->ConfigureProcessing(marimagedata,0,0,0);
+       this->ConfigureSTL();
+
+       _wxMaracasMPR->Refresh();
+       
+       //this->Refresh();
+}
 //-------------------------------------------------------------------
 wxWindow* wxSTLWidget_03::CreateSelectAPointPanel(wxWindow *parent)
 {
-printf("EED wxSTLWidget_03::CreateSelectAPointPanel  01\n");
        wxPanel *panel          = new wxPanel(parent,-1);
 
-printf("EED wxSTLWidget_03::CreateSelectAPointPanel  02\n");
 
     wxFlexGridSizer *sizer = new wxFlexGridSizer(2);
-printf("EED wxSTLWidget_03::CreateSelectAPointPanel  03\n");
 
        sizer->Add(new wxStaticText(panel,-1,_T("  ")));
        sizer->Add(new wxStaticText(panel,-1,_T("  ")));
-printf("EED wxSTLWidget_03::CreateSelectAPointPanel  04\n");
 
        sizer->Add(new wxStaticText(panel,-1,_T("  ")));
        sizer->Add(new wxStaticText(panel,-1,_T("  ")));
-printf("EED wxSTLWidget_03::CreateSelectAPointPanel  05\n");
 
        sizer->Add(new wxStaticText(panel,-1,_T(" Select a 3D Point...")));
        sizer->Add(new wxStaticText(panel,-1,_T("  ")));
-printf("EED wxSTLWidget_03::CreateSelectAPointPanel  06\n");
 
        panel->SetSizer(sizer);
        panel->SetAutoLayout(true);
        panel->SetSize(400,600);
        panel->Layout();
-printf("EED wxSTLWidget_03::CreateSelectAPointPanel  07\n");
 
 
        return panel;
@@ -388,19 +388,13 @@ wxWindow* wxSTLWidget_03::CreateReadSTLFilePanel(wxWindow *parent)
 //-------------------------------------------------------------------
 wxPanel* wxSTLWidget_03::CreateControlPanel(wxWindow *parent)
 {
-printf("EED wxSTLWidget_03::CreateControlPanel 01\n");
        wxPanel *panel                  = new wxPanel(parent,-1);
 
        wxNotebook *noteBook    = new wxNotebook(panel, -1);
-printf("EED wxSTLWidget_03::CreateControlPanel 02\n");
        noteBook->AddPage(CreateSelectAPointPanel(noteBook),_T("0 ->") );
-printf("EED wxSTLWidget_03::CreateControlPanel 03\n");
        noteBook->AddPage(CreateSegmentationPanel(noteBook),_T("1 ->") );
-printf("EED wxSTLWidget_03::CreateControlPanel 04\n");
        noteBook->AddPage(CreateSmoothingPanel(noteBook)   ,_T("2 ->") );
-printf("EED wxSTLWidget_03::CreateControlPanel 05\n");
        noteBook->AddPage(CreateReadSTLFilePanel(noteBook) ,_T("3 "  ) );
-printf("EED wxSTLWidget_03::CreateControlPanel 06\n");
        noteBook->SetSelection(0);
        noteBook->SetSize(350,250);
     wxFlexGridSizer *sizer = new wxFlexGridSizer(2);
@@ -410,7 +404,6 @@ printf("EED wxSTLWidget_03::CreateControlPanel 06\n");
        panel->SetSize(400,600);
        panel->Layout();
 
-printf("EED wxSTLWidget_03::CreateControlPanel 07\n");
        return panel;
 }
 //------------------------------------------------------------------------
@@ -544,11 +537,11 @@ void wxSTLWidget_03::ConfigureVTK()
 {
        wxBusyCursor wait;
 //     vtkImageData    *imagedata              = _mar->_experiment->getDynData( )->getVolume( )->castVtk();
-       marImageData    *marimagedata           = _mar->_experiment->getDynData( )->GetMarImageData();
+       //marImageData  *marimagedata;//                = _mar->_experiment->getDynData( )->GetMarImageData();
        
        //CONFIGURACION ADICIONAL
        this->ConfigureSTL();
-       this->ConfigureProcessing(marimagedata,0,0,0);
+       //this->ConfigureProcessing(marimagedata,0,0,0);
        
 }
 
@@ -761,8 +754,8 @@ void wxSTLWidget_03:: OnBarMoved_range(wxCommandEvent& event)
 
 void wxSTLWidget_03::OnBtnSaveBinaryFile(wxCommandEvent& event)
 {
-       wxString dirSTL = _mar->_parameters->getStringParam( 
-    marParameters::e_installation_directory ); 
+       wxString dirSTL;// = _mar->_parameters->getStringParam( 
+    //marParameters::e_installation_directory ); 
        dirSTL = ( dirSTL == _T("NO_DIRECTORY") ) ? wxGetHomeDir( ) : dirSTL;
        wxFileDialog dialog( this, _T("Choose a directory..."), ( !dirSTL.IsEmpty( ) )?
        dirSTL: wxGetHomeDir( ) );
@@ -843,8 +836,8 @@ void wxSTLWidget_03::OnBtnSTLFileErase(wxCommandEvent& event)
 //------------------------------------------------------------------------
 void wxSTLWidget_03::OnBtnSTLFileLoad(wxCommandEvent& event)
 {
-       wxString dirSTL = _mar->_parameters->getStringParam( 
-    marParameters::e_installation_directory ); 
+       wxString dirSTL;// = _mar->_parameters->getStringParam( 
+    //marParameters::e_installation_directory ); 
        dirSTL = ( dirSTL == _T("NO_DIRECTORY") ) ? wxGetHomeDir( ) : dirSTL;
        wxFileDialog dialog( this, _T("Choose a directory..."), ( !dirSTL.IsEmpty( ) )?
        dirSTL: wxGetHomeDir( ) );
@@ -865,8 +858,8 @@ void wxSTLWidget_03::OnBtnSTLFileLoad(wxCommandEvent& event)
                imgReader->Delete();
        }
        //By default *always* update e_installation_directory:
-       _mar->_parameters->setStringParam( marParameters::e_installation_directory, dialog.GetPath( ) ); 
-       _mar->saveParameters( );
+       //_mar->_parameters->setStringParam( marParameters::e_installation_directory, dialog.GetPath( ) ); 
+       //_mar->saveParameters( );
 }
 
 
@@ -939,8 +932,8 @@ void wxSTLWidget_03::OnOpacitySTLInternal(wxScrollEvent& event){
 void wxSTLWidget_03::OnBtnCreateFileSTL(wxCommandEvent& event)
 {
 
-       wxString dirSTL = _mar->_parameters->getStringParam( 
-    marParameters::e_installation_directory ); 
+       wxString dirSTL;// = _mar->_parameters->getStringParam( 
+    //marParameters::e_installation_directory ); 
        dirSTL = ( dirSTL == _T("NO_DIRECTORY") ) ? wxGetHomeDir( ) : dirSTL;
 
        
@@ -997,8 +990,8 @@ void wxSTLWidget_03::OnBtnCreateFileSTL(wxCommandEvent& event)
        }
 
        //By default *always* update e_installation_directory:
-       _mar->_parameters->setStringParam( marParameters::e_installation_directory, dialog.GetPath( ) ); 
-       _mar->saveParameters( );
+       //_mar->_parameters->setStringParam( marParameters::e_installation_directory, dialog.GetPath( ) ); 
+       //_mar->saveParameters( );
 }