]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracas_ViewerWidget.cxx
index 66b0d25091c7412de0035091e5f08e603a61a20f..dd6b80cf5d8c455295ab7de2ade80fae77ef488e 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracas_ViewerWidget.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/10/31 16:32:42 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2009/03/24 10:49:21 $
+  Version:   $Revision: 1.4 $
 
   Copyright: (c) 2002, 2003
   License:
@@ -53,6 +53,9 @@
                mwxvtk3Dbaseview_Clipping3D     = NULL;
                mwxvtkmpr3Dview                         = NULL; 
 
+
+               std::cout<<"mtype "<<mType<<std::endl;
+               std::cout<<"type "<<type<<std::endl;
                if (type==-1)
                {
                        mvtk2Dbaseview  = new wxVtk2DBaseView(panel);
@@ -73,6 +76,7 @@
                        mvtkmpr2Dview_X->SetVtkBaseData(mvtkmprbasedata);
                        wxwindow                =       mvtkmpr2Dview_X->GetWxVTKRenderWindowInteractor();
                }
+
                if (type==2)
                {
                        mvtkmpr2Dview_Y = new wxVtkMPR2DView(panel,2);
                        wxwindow=panelClipping3D;
                }
 
+               if (type==6)
+               {
+                       wxSplitterWindow        *panelClipping3D        = new wxSplitterWindow( panel , -1);
+                       mwxvtk3Dbaseview_Clipping3D                             = new wxVtk3DBaseView( panelClipping3D );
+
+                       mwxvtkmpr3Dview                                                 = new wxVtkMPR3DView( mwxvtk3Dbaseview_Clipping3D );
+                       vtkMPR3DDataViewer *vtkmpr3Ddataviewer  = new vtkMPR3DDataViewer(); 
+                       vtkmpr3Ddataviewer->SetVtkMPRBaseData(mvtkmprbasedata);
+                       vtkmpr3Ddataviewer->Configure();
+                       mwxvtkmpr3Dview->SetVtkMPR3DDataViewer(vtkmpr3Ddataviewer);
+
+                       wxWindow        *window3D                                       = mwxvtk3Dbaseview_Clipping3D->GetWxVTKRenderWindowInteractor();
+
+                       wxPanel                 *panelControl                   = new wxPanel(panelClipping3D,-1);      
+                       wxPanel                 *controlPanelMPR3D              = mwxvtkmpr3Dview->CreateControlPanel(panelControl);
+
+                       wxFlexGridSizer  *sizerCtrol             = new wxFlexGridSizer(1);
+                       sizerCtrol->Add(controlPanelMPR3D               , 1, wxALL|wxEXPAND, 2);
+
+                       panelControl->SetAutoLayout(true);
+                       panelControl->SetSizer(sizerCtrol);
+                       panelControl->SetSize(400,350);
+                       panelControl->Layout();
+                       panelClipping3D -> SetMinimumPaneSize( 5 );
+                       panelClipping3D -> SplitHorizontally( panelControl , window3D , 10  );
+                       wxwindow=panelClipping3D;
+               }
+
+
+
        wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
-       sizer->Add( wxwindow , 1, wxEXPAND, 0);
+       sizer->Add( wxwindow , 1, wxGROW);      
        panel->SetSizer(sizer);
        panel->SetAutoLayout(true);
+       sizer->Layout();
        panel->Layout();
+       panel->Refresh();
 
        //   mbbtkViewerMaracas= NULL;
        }
        wxMaracas_ViewerWidget::~wxMaracas_ViewerWidget()
        {
 
+               testDelete(mvtkmprbasedata);
+               testDelete(mvtk2Dbaseview);
+               testDelete(mvtkmpr2Dview_X); 
+               testDelete(mvtkmpr2Dview_Y); 
+               testDelete(mvtkmpr2Dview_Z); 
+               testDelete(mwidgetMesure);
+               testDelete(mvtkplane2Dview);
+               testDelete(mwxsphereview); 
+               testDelete(mwxvtkclipping3Dview);
+               testDelete(mwxvtk3Dbaseview_Clipping3D);
+               testDelete(mwxvtkmpr3Dview);
+
+       }
+
+       void wxMaracas_ViewerWidget::testDelete(void* point){
+               if(point!=NULL){
+                       delete point;
+               }
        }
            
        //------------------------------------------------------------------------------------------------------------
 
        void wxMaracas_ViewerWidget::SetImage( vtkImageData *image      )
        {
-               printf("EED wxMaracas_ViewerWidget::SetImage   IMPORTANT this methode is missing \n");
+               //printf("EED wxMaracas_ViewerWidget::SetImage   IMPORTANT this methode is missing \n");
+               marImageData* mar = mvtkmprbasedata->GetMarImageData();
+               mar->removeImageData(0);
+               mar->AddImageData(image);
+
+               ConfigureVTK();
+               RefreshView();
+
+
+
        }
 
        double wxMaracas_ViewerWidget :: GetX()