]> Creatis software - creaMaracasVisu.git/commitdiff
*** empty log message ***
authorperez <perez>
Tue, 1 Dec 2009 21:22:09 +0000 (21:22 +0000)
committerperez <perez>
Tue, 1 Dec 2009 21:22:09 +0000 (21:22 +0000)
13 files changed:
lib/maracasVisuLib/CMakeLists.txt
lib/maracasVisuLib/src/CutModule/kernel/CutModelFigure.h
lib/maracasVisuLib/src/CutModule/kernel/kernel.lnk [new file with mode: 0644]
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasDialog_NViewers.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageManagementPanel.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageTransformation.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk3DBaseView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.h

index 9b9cd0430ce2aa6e6dd0e0f9e29ebb729c328a8d..25374ae5204f801373f061b36a2ed4cb5c40436d 100644 (file)
@@ -36,6 +36,8 @@ IF ( BUILD_${LIBRARY_NAME} )
     src/interface/wxWindows/widgets/pPlotter
        src/interface/wxWindows/widgets/manualContour
        src/interface/wxWindows/widgets/ThresholdImageView
+       src/CutModule/interface
+       src/CutModule/kernel
        ../../../
        
 )
@@ -119,6 +121,7 @@ IF ( BUILD_${LIBRARY_NAME} )
                ${CREA_LIBRARIES}
        #${BOOST_LIBRARIES}
        #jhcl-End===========================================================================
+               creaMaracasVisu_CutModule_interface
     )
   #----------------------------------------------------------------------------
 
index 476a0902d4b7eddf5a7dd1897948c63da18f1068..f204ee64eee0a651d7ef873140e0e1a9b83112ee 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef FIGURECUTTINGMODEL_H_
-#define FIGURECUTTINGMODEL_H_
+#ifndef CUTTINGMODELFIGURE_H_
+#define CUTTINGMODELFIGURE_H_
 
 #include "vtkTransform.h"
 #include "vtkPolyData.h"
diff --git a/lib/maracasVisuLib/src/CutModule/kernel/kernel.lnk b/lib/maracasVisuLib/src/CutModule/kernel/kernel.lnk
new file mode 100644 (file)
index 0000000..e79cd99
Binary files /dev/null and b/lib/maracasVisuLib/src/CutModule/kernel/kernel.lnk differ
index 586cedcdf6042bb0f162f50a8f5fd97fa2b7cea5..086d31c64ede849e3033f37dce56c236f3db5914 100644 (file)
@@ -14,13 +14,14 @@ END_EVENT_TABLE( );
 wxMaracasDialog_NViewers::wxMaracasDialog_NViewers(wxWindow* parent, vtkImageData* img, std::vector<int>* type, wxString title)
 : wxFrame(parent, -1, title)
 {
-       viewer = new wxMaracas_N_ViewersWidget(this, img, type);
-       wxFlexGridSizer* sizer = new wxFlexGridSizer(1);
+       panelcut = new wxPanel(this, -1);
+       viewer = new wxMaracas_N_ViewersWidget(panelcut, img, type);
+       sizer = new wxFlexGridSizer(2);
 
-       sizer->Add(viewer, 1, wxGROW);
-       this->SetSizer( sizer, true );          
-       this->SetAutoLayout( true );
-       //viewer->SetSize(wxSizer(wxFIXED_MINSIZE));
+       sizer->Add(viewer, wxALL|wxEXPAND, 1);
+       panelcut->SetSizer( sizer, true );              
+       panelcut->SetAutoLayout( true );
+       //viewer->SetSize(wxSizer(wxALL|wxEXPAND));
 }
 
 /**
@@ -32,16 +33,20 @@ wxMaracasDialog_NViewers::~wxMaracasDialog_NViewers(){
 /**
 ** Adds a new panel to the frame
 **/
-void wxMaracasDialog_NViewers::AddPanel(wxPanel panel)
+void wxMaracasDialog_NViewers::AddPanel(wxWindow* panel)
 {
-       wxFlexGridSizer* sizer = new wxFlexGridSizer(1);
+       //wxFlexGridSizer* sizer = new wxFlexGridSizer(1);
 
-       //this->AddChild(panel);
-       //sizer->Add(panel, wxFIXED_MINSIZE);
-       this->SetSizer( sizer, true );          
-       this->SetAutoLayout( true );
+       panel->SetSize(400, 200);
+
+       sizer->Add(panel, wxALL|wxEXPAND);
+       panelcut->SetSizer( sizer, true );              
+       panelcut->SetAutoLayout( true );
 }
 
+/**
+**
+**/
 void wxMaracasDialog_NViewers::OnRefreshView(wxCommandEvent & event)
 {
        point.clear();
@@ -52,7 +57,26 @@ void wxMaracasDialog_NViewers::OnRefreshView(wxCommandEvent & event)
        viewer->OnRefreshView(event);
 }
 
+/**
+**
+**/
 void wxMaracasDialog_NViewers::OnDClickLeft(wxCommandEvent & event)
 {
        viewer->OnDClickLeft(event);
+}
+
+/**
+**
+**/
+wxMaracas_N_ViewersWidget* wxMaracasDialog_NViewers::getViewer()
+{
+       return viewer;
+}
+
+/**
+**
+**/
+wxPanel* wxMaracasDialog_NViewers::getinternalPanel()
+{
+       return panelcut;
 }
\ No newline at end of file
index e6f116467ff0ca7ebac72f9ee485f00ddc605dba..867394208f24f266b1cf365fc1b222251b852d39 100644 (file)
@@ -13,11 +13,16 @@ class wxMaracasDialog_NViewers : public wxFrame{
                ~wxMaracasDialog_NViewers();
                void OnRefreshView(wxCommandEvent & event);
                void OnDClickLeft(wxCommandEvent & event);
-               void AddPanel(wxPanel panel);
+               void AddPanel(wxWindow* panel);
+               wxMaracas_N_ViewersWidget* getViewer();
+               wxPanel* getinternalPanel();
 
        private:
                wxMaracas_N_ViewersWidget* viewer;
                std::vector<int> point;
+
+               wxFlexGridSizer* sizer;
+               wxPanel* panelcut;
        
        DECLARE_EVENT_TABLE( );
 
index 51cb07eaa799d3d7c4cce058d713d5a2c529397f..4473513c2d9cf7e5d29d75f4b0fc8a7ed59f5dba 100644 (file)
@@ -1,5 +1,6 @@
 #include "wxMaracasRenderImageManagementPanel.h"
 
+
 #include <vtkVolume.h>
 
 /**
@@ -25,14 +26,14 @@ void wxMaracasRenderImageManagementPanel::createControls()
        sliderTranslateX->SetLineSize(1);
        Connect(sliderTranslateX->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
        sizersliders->Add(tx, wxFIXED_MINSIZE);
-       sizersliders->Add(sliderTranslateX,wxSizerFlags().Expand().Center());
+       sizersliders->Add(sliderTranslateX, 1, wxALL|wxEXPAND, 2);
 
        wxStaticText* ty = new wxStaticText(this, -1, wxString(_T("  Translate Y  ")));
        sliderTranslateY = new wxSlider(this, -1, 0, -200, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
        sliderTranslateY->SetLineSize(1);
        Connect(sliderTranslateY->GetId(), wxEVT_COMMAND_SLIDER_UPDATED, (wxObjectEventFunction)&wxMaracasRenderImageManagementPanel::Transform);
        sizersliders->Add(ty, wxFIXED_MINSIZE);
-       sizersliders->Add(sliderTranslateY,wxSizerFlags().Expand().Center());
+       sizersliders->Add(sliderTranslateY, 1, wxALL|wxEXPAND, 2);
 
        wxStaticText* tz = new wxStaticText(this, -1, wxString(_T("  Translate Z  ")));
        sliderTranslateZ = new wxSlider(this, -1, 0, -200, 200, wxDefaultPosition, wxDefaultSize, wxSL_LABELS);
index e2dad9083971c7133493d83373ae27261262034b..11f1d3985dcb96a7f2478143e3da67fc12af10b4 100644 (file)
@@ -1,4 +1,5 @@
 #include "wxMaracasRenderImageTransformation.h"
+#include "wxMaracasRendererView.h"
 
 /**
 ** Class constructor
@@ -16,7 +17,6 @@ wxMaracasRenderImageTransformation::wxMaracasRenderImageTransformation(wxMaracas
        transformS1 = vtkTransform::New();
        transformS2 = vtkTransform::New();
        transformS3 = vtkTransform::New();
-
 }
 
 /**
@@ -40,46 +40,62 @@ void wxMaracasRenderImageTransformation::Translate(int tx, int ty, int tz, int r
        double volspY;
        double volspZ;
        vol->getImageData()->GetSpacing(volspX, volspY, volspZ);
-
+       
        double surfspX;
        double surfspY;
        double surfspZ;
        surface1->getImageData()->GetSpacing(surfspX, surfspY, surfspZ);
 
-       transformV->Identity();
-       transformS1->Identity();
-       transformS2->Identity();
-       transformS3->Identity();
+       int ext[6];
+       vol->getImageData()->GetExtent(ext);
 
-       transformV->Translate( tx*volspX, ty*volspY, tz*volspZ );
-       transformS1->Translate( tx*surfspX, ty*surfspY, tz*surfspZ );
-       transformS2->Translate( tx*surfspX, ty*surfspY, tz*surfspZ );
-       transformS3->Translate( tx*surfspX, ty*surfspY, tz*surfspZ );
+       transformV      ->Identity();
+       transformS1     ->Identity();
+       transformS2     ->Identity();
+       transformS3     ->Identity();
 
-       transformV->RotateX( rx*volspX );
-       transformS1->RotateX( rx*surfspX );
-       transformS2->RotateX( rx*surfspX );
-       transformS3->RotateX( rx*surfspX );
-
-       transformV->RotateY( ry*volspY );
-       transformS1->RotateY( ry*surfspY );
-       transformS2->RotateY( ry*surfspY );
-       transformS3->RotateY( ry*surfspY );
+       transformV      ->PostMultiply();
+       transformS1     ->PostMultiply();
+       transformS2     ->PostMultiply();
+       transformS3     ->PostMultiply();
+       
+       printf("CPR: wxMaracasRenderImageTransformation::Translate-> %d\n", -(ext[1]-ext[0])*volspX );
+       printf("CPR: wxMaracasRenderImageTransformation::Translate-> %d\n", -(ext[3]-ext[2])*surfspY);
+       printf("CPR: wxMaracasRenderImageTransformation::Translate-> %d\n", -(ext[5]-ext[4])*surfspZ);
 
-       transformV->RotateZ( rz*volspZ );
-       transformS1->RotateZ( rz*surfspZ );
-       transformS2->RotateZ( rz*surfspZ );
-       transformS3->RotateZ( rz*surfspZ );
+       transformV ->Translate( -(ext[1]-ext[0])*volspX/2,  -(ext[3]-ext[2])*volspY/2,  -(ext[5]-ext[4])*volspZ/2  );
+       transformS1->Translate( -(ext[1]-ext[0])*surfspX/2, -(ext[3]-ext[2])*surfspY/2, -(ext[5]-ext[4])*surfspZ/2 );
+       transformS2->Translate( -(ext[1]-ext[0])*surfspX/2, -(ext[3]-ext[2])*surfspY/2, -(ext[5]-ext[4])*surfspZ/2 );
+       transformS3->Translate( -(ext[1]-ext[0])*surfspX/2, -(ext[3]-ext[2])*surfspY/2, -(ext[5]-ext[4])*surfspZ/2 );
 
-       transformV->Scale( (sx/100.0), (sy/100.0), (sz/100.0) );
+       transformV ->Scale( (sx/100.0), (sy/100.0), (sz/100.0) );
        transformS1->Scale( (sx/100.0), (sy/100.0), (sz/100.0) );
        transformS2->Scale( (sx/100.0), (sy/100.0), (sz/100.0) );
        transformS3->Scale( (sx/100.0), (sy/100.0), (sz/100.0) );
 
+       transformV ->RotateX( rx );
+       transformS1->RotateX( rx );
+       transformS2->RotateX( rx );
+       transformS3->RotateX( rx );
+
+       transformV ->RotateY( ry );
+       transformS1->RotateY( ry );
+       transformS2->RotateY( ry );
+       transformS3->RotateY( ry );
+
+       transformV ->RotateZ( rz );
+       transformS1->RotateZ( rz );
+       transformS2->RotateZ( rz );
+       transformS3->RotateZ( rz );
+
+       transformV ->Translate( tx*volspX + (ext[1]-ext[0])*volspX/2,  ty*volspY + (ext[3]-ext[2])*volspY/2,  tz*volspZ + (ext[5]-ext[4])*volspZ/2 );
+       transformS1->Translate( tx*surfspX + (ext[1]-ext[0])*volspX/2, ty*surfspY + (ext[3]-ext[2])*volspY/2, tz*surfspZ + (ext[5]-ext[4])*volspZ/2 );
+       transformS2->Translate( tx*surfspX + (ext[1]-ext[0])*volspX/2, ty*surfspY + (ext[3]-ext[2])*volspY/2, tz*surfspZ + (ext[5]-ext[4])*volspZ/2 );
+       transformS3->Translate( tx*surfspX + (ext[1]-ext[0])*volspX/2, ty*surfspY + (ext[3]-ext[2])*volspY/2, tz*surfspZ + (ext[5]-ext[4])*volspZ/2 );
+
        Refresh();
 }
 
-
 /**
 ** Updates each Matrix
 **/
@@ -91,10 +107,10 @@ void wxMaracasRenderImageTransformation::Refresh()throw(char*)
        transformS3->Update();
 
        vol->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix());
-       //vol->getRenderer()->Render();
+       //vol->Update(propID);
 
        surface1->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix());
-       //surface1->getRenderer()->Render();
+       //surface1->Update(propID);
 
        surface2->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix());
        //surface2->getRenderer()->Render();
index 414d660457c238c15199755903562a620d53f2c9..80eb7e54a1aedd06abdbb6ea08b32833ab45f7f9 100644 (file)
@@ -42,6 +42,9 @@ wxMaracasRenderTabbedPanel::~wxMaracasRenderTabbedPanel()
        //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorSA(_propid, false);
        //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorSB(_propid, false);
        //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorSC(_propid, false);
+       if( vtkmpr3Ddataviewer  )       { delete vtkmpr3Ddataviewer;    }
+       if( mwxvtkmpr3Dview             )       { delete mwxvtkmpr3Dview;               }
+
        this->deleteVolume(_id);
        delete dialog;
        delete wxtabs;  
@@ -57,17 +60,17 @@ void wxMaracasRenderTabbedPanel::createControls(vtkImageData* inImg, std::string
        wxFlexGridSizer* sizercheck = new wxFlexGridSizer(3);
        checkboxVol = new  wxCheckBox(this,-1,wxString(_T("Volume Rendering")));
        Connect(checkboxVol->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onCheckBoxVChange);   
-       checkboxVol->SetValue(true);    
+       checkboxVol->SetValue(false);   
        sizercheck->Add(checkboxVol, wxFIXED_MINSIZE);
 
        checkboxSA = new  wxCheckBox(this,-1,wxString(_T("Surface Rendering A")));
        Connect(checkboxSA->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onCheckBoxSAChange);   
-       checkboxSA->SetValue(true);     
+       checkboxSA->SetValue(false);    
        sizercheck->Add(checkboxSA, wxFIXED_MINSIZE);   
 
        checkboxViewer = new  wxCheckBox(this,-1,wxString(_T("MPR")));
        Connect(checkboxViewer->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction)&wxMaracasRenderTabbedPanel::onMPROptions);     
-       checkboxViewer->SetValue(false);
+       checkboxViewer->SetValue(true);
        sizercheck->Add(checkboxViewer, wxFIXED_MINSIZE);
 
        checkboxSB = new  wxCheckBox(this,-1,wxString(_T("Surface Rendering B")));
@@ -150,6 +153,9 @@ void wxMaracasRenderTabbedPanel::addVolume(vtkImageData* img, std::string datana
                        wxMaracasMultipleVolumeRendererPanel* controlpanV = new wxMaracasMultipleVolumeRendererPanel(wxtabs, _propidV, img, true);
                        wxtabs->AddPage(controlpanV, _T("Vol Rendering"), true);
                        controlpanV->updateVolume();
+                       wxtabs->GetPage(0)->Disable();
+
+                       volmanager->addRemoveActor(this->getPropIdV(), checkboxSC->GetValue());
                }
        }
        catch(char* str)
@@ -176,6 +182,9 @@ void wxMaracasRenderTabbedPanel::addSurface1(vtkImageData* img, std::string data
                        int maxiso = surrendmanager1->getMaxIsoValue(_propidSA);
                        ((wxMaracasSurfaceRenderingProp3DMHD*)controlpanSA)->createControls(maxiso);
                        wxtabs->AddPage(controlpanSA, _T("SR A"));
+                       wxtabs->GetPage(1)->Disable();
+
+                       surrendmanager1->addRemoveActor(this->getPropIdV(), checkboxSC->GetValue());
                }
        }
        catch(char* str)
@@ -203,6 +212,8 @@ void wxMaracasRenderTabbedPanel::addSurface2(vtkImageData* img, std::string data
                        wxtabs->AddPage(controlpanSB, _T("SR B"));
                        wxtabs->GetPage(2)->Disable();
 
+                       surrendmanager2->addRemoveActor(this->getPropIdV(), checkboxSC->GetValue());
+
                }
        }
        catch(char* str)
@@ -230,6 +241,8 @@ void wxMaracasRenderTabbedPanel::addSurface3(vtkImageData* img, std::string data
                        ((wxMaracasSurfaceRenderingProp3DMHD*)controlpanSC)->createControls(maxiso);
                        wxtabs->AddPage(controlpanSC, _T("SR C"));
                        wxtabs->GetPage(3)->Disable();
+
+                       surrendmanager3->addRemoveActor(this->getPropIdV(), checkboxSC->GetValue());
                }
        }
        catch(char* str)
@@ -264,25 +277,24 @@ void wxMaracasRenderTabbedPanel::addMPROptions()
        spc[2] = 0;
 
        vtkMPRBaseData* mvtkmprbasedata = new vtkMPRBaseData(); 
-       marImageData* marimagedata              = new marImageData( getVolImage() );                    
-       mvtkmprbasedata->SetMarImageData(marimagedata);
+       marImageData*   marimagedata    = new marImageData( getVolImage() );                    
+       mvtkmprbasedata                                 ->SetMarImageData(marimagedata);
        
        mwxvtkmpr3Dview                                 = new wxVtkMPR3DView( baseView );
 
        vtkmpr3Ddataviewer                              = new vtkMPR3DDataViewer();     
 
-       wxPanel         *panelControl           = new wxPanel(wxtabs,-1);       
+       wxPanel                 *panelControl   = new wxPanel(wxtabs,-1);       
        controlPanelMPR3D                               = mwxvtkmpr3Dview->CreateControlPanel(panelControl, true);
 
-       wxFlexGridSizer  *sizerCtrol    = new wxFlexGridSizer(1);
-       sizerCtrol->Add(controlPanelMPR3D, 1, wxALL|wxEXPAND, 2);
+       wxFlexGridSizer *sizerCtrol             = new wxFlexGridSizer(1);
+       sizerCtrol                                              ->Add(controlPanelMPR3D, 1, wxALL|wxEXPAND, 2);
 
        panelControl->SetAutoLayout(true);
        panelControl->SetSizer(sizerCtrol);
        panelControl->SetSize(400,350);
        panelControl->Layout();
 
-
        if (mvtkmprbasedata!=NULL)
        {
                mvtkmprbasedata->Configure();
@@ -327,9 +339,14 @@ void wxMaracasRenderTabbedPanel::addMPROptions()
                mwxvtkmpr3Dview         ->ResetCamera(ext,org,spc);
        }
 
+       int id = 4;
        wxtabs->AddPage(panelControl, _T("MPR"));
-       wxtabs->GetPage(4)->Disable();
-       mwxvtkmpr3Dview->showOutlineActor(false);
+       wxtabs->GetPage(id)->Enable();
+       wxtabs->SetSelection(id);
+
+       ((wxVtkMPR3DViewCntrlPanel*)controlPanelMPR3D)->SetVisibleZ(true);
+       ((wxVtkMPR3DViewCntrlPanel*)controlPanelMPR3D)->SetVisibleXYZ(true);
+       mwxvtkmpr3Dview->showOutlineActor(true);
        mwxvtkmpr3Dview->Refresh();
                        
 }
@@ -692,11 +709,16 @@ void wxMaracasRenderTabbedPanel::onMPROptions(wxCommandEvent& event)
                bool valueX = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleX();
                bool valueY = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleY();
                bool valueZ = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleZ();
+               bool valueXYZ = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleXYZ();
+               bool valuePlane = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisiblePlane();
 
                mwxvtkmpr3Dview->VisibleImageActor( 0, valueX );
                mwxvtkmpr3Dview->VisibleImageActor( 1, valueY );
                mwxvtkmpr3Dview->VisibleImageActor( 2, valueZ );
+               mwxvtkmpr3Dview->VisiblePointWidget(valueXYZ);
+               mwxvtkmpr3Dview->VisiblePlaneWidget(valuePlane);
                mwxvtkmpr3Dview->showOutlineActor(true);
+               
                mwxvtkmpr3Dview->Refresh();
 
                wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);  // Refresh
@@ -707,6 +729,8 @@ void wxMaracasRenderTabbedPanel::onMPROptions(wxCommandEvent& event)
        {
                wxtabs->GetPage(id)->Disable();
 
+               mwxvtkmpr3Dview->VisiblePointWidget(false);
+               mwxvtkmpr3Dview->VisiblePlaneWidget(false);
                mwxvtkmpr3Dview->VisibleImageActor(0, false );
                mwxvtkmpr3Dview->VisibleImageActor(1, false );
                mwxvtkmpr3Dview->VisibleImageActor(2, false );
@@ -725,7 +749,7 @@ void wxMaracasRenderTabbedPanel::onOpenParameters(wxCommandEvent& event){
        if(dialog == NULL)
        {
                dialog = new wxMaracasRenderImageManagementPanel(this, volmanager, surrendmanager1, surrendmanager2, surrendmanager3, volname, _id);
-               dialog->SetSize(400, 580);
+               dialog->SetSize(460, 580);
                dialog->Show();
        }
        else if(dialog != NULL)
@@ -747,12 +771,15 @@ void wxMaracasRenderTabbedPanel::onOpenCutter(wxCommandEvent& event)
        type.push_back(3);
        
        wxMaracasDialog_NViewers* dialog1 = new wxMaracasDialog_NViewers(this, img, &type, wxString(_T("Cut Module") ));
-       //dialog1->SetSize(800, 700);
+       dialog1->SetSize(800, 700);
        
        std::string path = crea::System::GetDllAppPath("bbcreaMaracasVisu.dll");
-       //cutter = new CutModel2MainPanel(dialog1, path);
+       cutter = CutModel2MainPanel::getInstance(dialog1->getinternalPanel(), path);
+       cutter->setRenderer( dialog1->getViewer()->GetwxVtkBaseView(1)->GetRenderer() );
+       cutter->setInteractor( dialog1->getViewer()->GetwxVtkBaseView(1)->GetWxVTKRenderWindowInteractor() );
+       cutter->setImageData(getVolImage());
        
-       //dialog1->AddPanel(cutter);
+       dialog1->AddPanel(cutter);
        dialog1->Show();
 }
 
index 14411e98be7d3376049e9ac5609473b2ca974a52..4118b75f7915ebeca9ed8bacb5b8a6466a7d9c7c 100644 (file)
@@ -5,7 +5,7 @@
 #include <wx/notebook.h> 
 
 #include "wxMaracasRenderImageManagementPanel.h"
-//#include "CutModelMainPanel.h"
+#include "CutModel2MainPanel.h"
 #include "wxMaracasMultipleVolumeRendererManager.h"
 #include "wxMaracasSurfaceRenderingManager.h"
 #include "wxVtkBaseView.h"
@@ -27,7 +27,6 @@ public:
        void addSurface3(vtkImageData* img, std::string dataname);
 
        void deleteVolume(int volid);
-       void Transform(vtkMatrix4x4* tmatrix);
        void addRemoveActorV(int id, bool addremove);
        void addRemoveActorSA(int id, bool addremove);
        void addRemoveActorSB(int id, bool addremove);
@@ -87,7 +86,7 @@ private:
        bool first;
        int _id;
 
-       //CutModel2MainPanel* cutter;
+       CutModel2MainPanel* cutter;
        wxMaracasRenderImageManagementPanel*    dialog;
        wxMaracasMultipleVolumeRendererManager* volmanager;
        wxMaracasSurfaceRenderingManager*               surrendmanager1;
index ad0572976e277b80db4349fcc4f765a6deab230e..86642eedc29c069e2b420eb7a9a30617c9b5f01f 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracas_ViewerWidget.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/11/30 20:52:51 $
-  Version:   $Revision: 1.20 $
+  Date:      $Date: 2009/12/01 21:22:12 $
+  Version:   $Revision: 1.21 $
 
   Copyright: (c) 2002, 2003
   License:
                if ( mwidgetMesure                              !=NULL ) { mwidgetMesure                                ->      SetMesureScale( 1 );            }
                if ( mwxsphereview                              !=NULL ) { mwxsphereview                                ->      Configure();                            }
 
-               printf("CPR wxMaracas_ViewerWidget::ConfigureVTK A \n");
                if (mwxvtk3Dbaseview_Clipping3D !=NULL) { mwxvtk3Dbaseview_Clipping3D   ->      Configure();                            
-               printf("CPR wxMaracas_ViewerWidget::ConfigureVTK B \n");
-/*Borrame
-               mwxvtk3Dbaseview_Clipping3D->GetRenderer()->SetActiveCamera(mwxvtk3Dbaseview_Clipping3D->GetCamera());
-               mwxvtk3Dbaseview_Clipping3D->GetRenderer()->ResetCamera ();     
-               mwxvtk3Dbaseview_Clipping3D->GetCamera()->Dolly(1.5);   
-               mwxvtk3Dbaseview_Clipping3D->GetRenderer()->SetBackground( 0.36 , 0.36 , 0.36 );
-               mwxvtk3Dbaseview_Clipping3D->GetRenWin()->SetSize(400, 400);
-               mwxvtk3Dbaseview_Clipping3D->GetRenderer()->ResetCameraClippingRange();
-*/
                }
                
                if (vtkmpr3Ddataviewer                  !=NULL) {                       
index 3722c50fc2a985278d3031e1a6fa9c57ce0134f8..1f2ee8024dd4e8d0b45ae5cbca3f3bd836fea8dd 100644 (file)
@@ -48,10 +48,10 @@ void wxVtk3DBaseView::Refresh()
 //-------------------------------------------------------------------
 void wxVtk3DBaseView::Configure()
 {
-       printf("EED wxVtk3DBaseView::Configure A\n");
+       //printf("EED wxVtk3DBaseView::Configure A\n");
        if (_configure==false)
        {
-       printf("EED wxVtk3DBaseView::Configure B\n");
+       //printf("EED wxVtk3DBaseView::Configure B\n");
                _configure=true;
                //wxVtkBaseView::Configure();
                _aRenderer      = vtkRenderer::New();
@@ -70,9 +70,6 @@ void wxVtk3DBaseView::Configure()
 
                GetWxVTKRenderWindowInteractor()->SetRenderWindow(_renWin);
 
-
-// EED Borrame
-//             vtkInteractorStyle3DMaracas *interactorStyle3DMaracas = vtkInteractorStyle3DMaracas::New(); 
                vtkInteractorStyleBaseView3D *interactorStyleBaseView3D = vtkInteractorStyleBaseView3D::New(); 
 
                SetInteractorStyleBaseView( interactorStyleBaseView3D );
@@ -80,12 +77,6 @@ void wxVtk3DBaseView::Configure()
                GetWxVTKRenderWindowInteractor()->SetInteractorStyle( interactorStyleBaseView3D );
                interactorStyleBaseView3D->SetwxVtkBaseView(this);      
 
-
-/* EED Borrame
-  vtkInteractorStyleSwitch *iss = dynamic_cast<vtkInteractorStyleSwitch*>(_iren->GetInteractorStyle());
-  iss->SetCurrentStyleToTrackballCamera();
-*/
-
                // It is convenient to create an initial view of the data. The
                // FocalPoint and Position form a vector direction. Later on
                // (ResetCamera() method) this vector is used to position the camera
index 04ebd6ce39f1485ff7293bd1dce9a942404419b9..dd262f4b379abfa61a0c21c1423d5e3d09bad149 100644 (file)
@@ -73,20 +73,20 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV
                sizer    = new wxFlexGridSizer(2);
 
                sizerH4 = new wxFlexGridSizer(2);
-               sizerH4->Add( _positionX                        ,1,wxGROW                                       , 0 );
+               sizerH4->Add( _positionX                        ,1,wxGROW                                                       , 0 );
                sizerH4->Add( ckBoxX                            ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 );
-               sizerH4->Add( _positionY                        ,1,wxGROW                                       , 0 );
+               sizerH4->Add( _positionY                        ,1,wxGROW                                                       , 0 );
                sizerH4->Add( ckBoxY                            ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED     , 0 );
-               sizerH4->Add( _positionZ                        ,1,wxGROW                                       , 0 );
+               sizerH4->Add( _positionZ                        ,1,wxGROW                                                       , 0 );
                sizerH4->Add( ckBoxZ                            ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED     , 0 );
                
                sizerH5 = new wxFlexGridSizer(1);
-               sizerH5->Add( new wxStaticText(panel, -1,_T("      "))                  , 1, wxALL|wxEXPAND, 0);
-               sizerH5->Add( _ckBoxXYZ                         ,  1, wxALL|wxEXPAND, 0);
-               sizerH5->Add( new wxStaticText(panel, -1,_T("      "))                  , 1, wxALL|wxEXPAND, 0);
-               sizerH5->Add( _ckBoxPlane                       ,  1, wxALL|wxEXPAND, 0);
-               sizerH5->Add( new wxStaticText(panel, -1,_T("      "))                  , 1, wxALL|wxEXPAND, 0);
-               sizerH5->Add( btnColorTable                                                             ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED     , 0 );
+               sizerH5->Add( new wxStaticText(panel, -1,_T("      "))  , 1, wxALL|wxEXPAND                     , 0);
+               sizerH5->Add( _ckBoxXYZ                                                                 , 1, wxALL|wxEXPAND                     , 0);
+               sizerH5->Add( new wxStaticText(panel, -1,_T("      "))  , 1, wxALL|wxEXPAND                     , 0);
+               sizerH5->Add( _ckBoxPlane                                                               , 1, wxALL|wxEXPAND                     , 0);
+               sizerH5->Add( new wxStaticText(panel, -1,_T("      "))  , 1, wxALL|wxEXPAND                     , 0);
+               sizerH5->Add( btnColorTable                                                             , 0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
                //sizerH5->Add( new wxStaticText(panel, -1,_T("      "))                        , 1, wxALL|wxEXPAND, 0);
        }
        else
@@ -96,17 +96,17 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV
                sizerH4 = new wxFlexGridSizer(10);
                sizerH5 = new wxFlexGridSizer(10);
 
-               sizerH4->Add( _positionX                        ,1,wxGROW                                       , 0 );
-               sizerH4->Add( ckBoxX                            ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED     , 0 );
-               sizerH4->Add( _positionY                        ,1,wxGROW                                       , 0 );
-               sizerH4->Add( ckBoxY                            ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED     , 0 );
-               sizerH4->Add( _positionZ                        ,1,wxGROW                                       , 0 );
-               sizerH4->Add( ckBoxZ                            ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED     , 0 );
-               sizerH4->Add( btnColorTable                     ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED     , 0 );
-
-               sizerH5->Add( _ckBoxXYZ                          1, wxALL|wxEXPAND, 0);
-               sizerH5->Add( _ckBoxPlane                        1, wxALL|wxEXPAND, 0);
-               sizerH5->Add( new wxStaticText(panel, -1,_T("      "))                  , 1, wxALL|wxEXPAND, 0);
+               sizerH4->Add( _positionX        , 1, wxGROW                                                      , 0 );
+               sizerH4->Add( ckBoxX            , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
+               sizerH4->Add( _positionY        , 1, wxGROW                                                      , 0 );
+               sizerH4->Add( ckBoxY            , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
+               sizerH4->Add( _positionZ        , 1, wxGROW                                                      , 0 );
+               sizerH4->Add( ckBoxZ            , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
+               sizerH4->Add( btnColorTable     , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 );
+
+               sizerH5->Add( _ckBoxXYZ                                                                 , 1, wxALL|wxEXPAND, 0);
+               sizerH5->Add( _ckBoxPlane                                                               , 1, wxALL|wxEXPAND, 0);
+               sizerH5->Add( new wxStaticText(panel, -1,_T("      "))  , 1, wxALL|wxEXPAND, 0);
        }
        
 
@@ -139,8 +139,8 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV
        //      sizerH5->Add( ckBoxY                            ,  1, wxALL|wxEXPAND, 0);
        //      sizerH5->Add( ckBoxZ                            ,  1, wxALL|wxEXPAND, 0);
 
-       sizer->Add( sizerH4                                     ,  1, wxALL|wxGROW, 2);
-       sizer->Add( sizerH5                                     ,  1, wxALL|wxEXPAND, 2);
+       sizer->Add( sizerH4,  1, wxALL|wxGROW,  2);
+       sizer->Add( sizerH5,  1, wxALL|wxEXPAND,2);
 
        panel->SetSize(400,50);
        panel->SetAutoLayout(true);
@@ -150,7 +150,6 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV
        panel->SetEventHandler((wxEvtHandler*)this);
 
        //this->UpdateControlPanel();
-
 }
 void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel()
 {
@@ -353,7 +352,6 @@ void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisX(wxCommandEvent& event)
        }catch(char* e){
                std::cout<<e<<std::endl;
        }
-
 }
 //-------------------------------------------------------------------
 void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisY(wxCommandEvent& event)
@@ -386,8 +384,8 @@ void wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ(wxCommandEvent& event)
 void wxVtkMPR3DViewCntrlPanel::OnVisiblePlane(wxCommandEvent& event)
 {
        _wxvtkmpr3Dview->VisiblePlaneWidget(event.IsChecked());
-}
 
+}
 
 //-------------------------------------------------------------------
 void wxVtkMPR3DViewCntrlPanel::OnPositionX(wxScrollEvent& event)
@@ -431,4 +429,67 @@ bool wxVtkMPR3DViewCntrlPanel::GetVisibleY()
 bool wxVtkMPR3DViewCntrlPanel::GetVisibleZ()
 {
        return ckBoxZ->GetValue();
+}
+
+//-------------------------------------------------------------------
+bool wxVtkMPR3DViewCntrlPanel::GetVisibleXYZ()
+{
+       return _ckBoxXYZ->GetValue();
+}
+
+//-------------------------------------------------------------------
+bool wxVtkMPR3DViewCntrlPanel::GetVisiblePlane()
+{
+       return _ckBoxPlane->GetValue();
+}
+
+//-------------------------------------------------------------------
+void wxVtkMPR3DViewCntrlPanel::SetVisibleX(bool value)
+{
+       ckBoxX->SetValue(value);
+       
+       _wxvtkmpr3Dview->VisibleImageActor(0, value );
+       _wxvtkmpr3Dview->Refresh();
+
+       wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
+       _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
+}
+
+//-------------------------------------------------------------------
+void wxVtkMPR3DViewCntrlPanel::SetVisibleY(bool value)
+{
+       ckBoxY->SetValue(value);
+       
+       _wxvtkmpr3Dview->VisibleImageActor(1, value );
+       _wxvtkmpr3Dview->Refresh();
+
+       wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
+       _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
+}
+
+//-------------------------------------------------------------------
+void wxVtkMPR3DViewCntrlPanel::SetVisibleZ(bool value)
+{
+       ckBoxZ->SetValue(value);
+
+       _wxvtkmpr3Dview->VisibleImageActor(2, value );
+       _wxvtkmpr3Dview->Refresh();
+
+       wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
+       _wxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
+}
+
+//-------------------------------------------------------------------
+void wxVtkMPR3DViewCntrlPanel::SetVisibleXYZ(bool value)
+{
+       _ckBoxXYZ->SetValue(value);
+       _wxvtkmpr3Dview->VisiblePointWidget(value);
+
+}
+
+//-------------------------------------------------------------------
+void wxVtkMPR3DViewCntrlPanel::SetVisiblePlane(bool value)
+{
+       _ckBoxPlane->SetValue(value);
+       _wxvtkmpr3Dview->VisiblePlaneWidget(value);
 }
\ No newline at end of file
index d0ba6a2fe64e6cfba91907bcebf4c340770e7b60..aab553b1ff4b506cbd39972301e7f2db4ceef01f 100644 (file)
@@ -27,6 +27,13 @@ public:
        bool            GetVisibleX();
        bool            GetVisibleY();
        bool            GetVisibleZ();
+       bool            GetVisibleXYZ();
+       bool            GetVisiblePlane();
+       void            SetVisibleX(bool value);
+       void            SetVisibleY(bool value);
+       void            SetVisibleZ(bool value);
+       void            SetVisibleXYZ(bool value);
+       void            SetVisiblePlane(bool value);
 
 private:
        wxVtkMPR3DView  *_wxvtkmpr3Dview;