]> 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 5ce146c0a516ffb69bdb4e22e990abb273df0fef..ad0572976e277b80db4349fcc4f765a6deab230e 100644 (file)
@@ -3,8 +3,8 @@
   Program:   wxMaracas
   Module:    $RCSfile: wxMaracas_ViewerWidget.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/11/25 16:35:38 $
-  Version:   $Revision: 1.19 $
+  Date:      $Date: 2009/11/30 20:52:51 $
+  Version:   $Revision: 1.20 $
 
   Copyright: (c) 2002, 2003
   License:
                        wxWindow        *window3D                                       = mwxvtk3Dbaseview_Clipping3D->GetWxVTKRenderWindowInteractor();
 
                        wxPanel                 *panelControl                   = new wxPanel(panelClipping3D,-1);      
-                       wxPanel                 *controlPanelMPR3D              = mwxvtkmpr3Dview->CreateControlPanel(panelControl);
+                       wxPanel                 *controlPanelMPR3D              = mwxvtkmpr3Dview->CreateControlPanel(panelControl, false);
                        wxPanel                 *controlPanelClipping3D = mwxvtkclipping3Dview->CreateControlPanel(panelControl);
        //                               mbtnCutImageData               = new wxCheckBox(panelControl,-1,_T("Cut Module"));
        //              Connect(_btnCutImageData->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED  , (wxObjectEventFunction) &wxMPRWidget::OnCutImagaData );
                        wxWindow        *window3D                                       = mwxvtk3Dbaseview_Clipping3D->GetWxVTKRenderWindowInteractor();
 
                        wxPanel                 *panelControl                   = new wxPanel(panelClipping3D,-1);      
-                       wxPanel                 *controlPanelMPR3D              = mwxvtkmpr3Dview->CreateControlPanel(panelControl);
+                       wxPanel                 *controlPanelMPR3D              = mwxvtkmpr3Dview->CreateControlPanel(panelControl, false);
 
                        wxFlexGridSizer  *sizerCtrol             = new wxFlexGridSizer(1);
                        sizerCtrol->Add(controlPanelMPR3D               , 1, wxALL|wxEXPAND, 2);
                        
                }
 
+               if (type==7)
+               {
+                       mwxvtk3Dbaseview_Clipping3D                             = new wxVtk3DBaseView( panel );
+                       wxWindow        *window3D                                       = mwxvtk3Dbaseview_Clipping3D->GetWxVTKRenderWindowInteractor();
+                       wxwindow=window3D;
+
+/*Borrame
+                       wxSplitterWindow        *panelClipping3D        = new wxSplitterWindow( panel , -1);
+                       mwxvtk3Dbaseview_Clipping3D                             = new wxVtk3DBaseView( panelClipping3D );
+                       wxWindow        *window3D                                       = mwxvtk3Dbaseview_Clipping3D->GetWxVTKRenderWindowInteractor();
+                       panelClipping3D ->SetMinimumPaneSize( 5 );
+                       panelClipping3D ->SplitHorizontally( new wxPanel(panelClipping3D,-1) , window3D , 10  );
+                       wxwindow=panelClipping3D;
+*/
 
+/*Borrame
+                       wxSplitterWindow        *panelClipping3D        = new wxSplitterWindow( panel , -1);
+                       mwxvtk3Dbaseview_Clipping3D                             = new wxVtk3DBaseView( panelClipping3D );
+                       mwxvtkmpr3Dview                                                 = new wxVtkMPR3DView( mwxvtk3Dbaseview_Clipping3D );
+                       vtkmpr3Ddataviewer      = new 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;
+                       vtkmpr3Ddataviewer->SetVtkMPRBaseData(mvtkmprbasedata);                 
+                       //vtkmpr3Ddataviewer->Configure();
+                       mwxvtkmpr3Dview->SetVtkMPR3DDataViewer(vtkmpr3Ddataviewer);
+*/
+               }
 
+   
        wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
        sizer->Add( wxwindow , 1, wxGROW);      
        panel->SetSizer(sizer);
                        /*x = mvtkmprbasedata   ->      GetMaxPositionX()/2;
                        y = mvtkmprbasedata     ->      GetMaxPositionY()/2;
                        z = mvtkmprbasedata     ->      GetMaxPositionZ()/2;            */      
-
-                       mvtkmprbasedata->GetImageData()->GetExtent(ext);
-                       mvtkmprbasedata->GetImageData()->GetOrigin(org);
-                       mvtkmprbasedata->GetImageData()->GetSpacing(spc);
-
-                       x = (ext[0]+ext[1])/2;
-                       y = (ext[2]+ext[3])/2;
-                       z = (ext[4]+ext[5])/2;
-
-                       mvtkmprbasedata->SetX( x );
-                       mvtkmprbasedata->SetY( y );
-                       mvtkmprbasedata->SetZ( z );
-
+                       
+                       if(mvtkmprbasedata->GetImageData() != NULL)
+                       {
+                               mvtkmprbasedata->GetImageData()->GetExtent(ext);
+                               mvtkmprbasedata->GetImageData()->GetOrigin(org);
+                               mvtkmprbasedata->GetImageData()->GetSpacing(spc);
+
+                               x = (ext[0]+ext[1])/2;
+                               y = (ext[2]+ext[3])/2;
+                               z = (ext[4]+ext[5])/2;
+
+                               mvtkmprbasedata->SetX( x );
+                               mvtkmprbasedata->SetY( y );
+                               mvtkmprbasedata->SetZ( z );
+                       }
+                       else
+                       {
+                               mvtkmprbasedata->SetX( 0 );
+                               mvtkmprbasedata->SetY( 0 );
+                               mvtkmprbasedata->SetZ( 0 );
+                       }
                }
                
 
                if ( mwidgetMesure                              !=NULL ) { mwidgetMesure                                ->      SetMesureScale( 1 );            }
                if ( mwxsphereview                              !=NULL ) { mwxsphereview                                ->      Configure();                            }
 
-               if (mwxvtk3Dbaseview_Clipping3D !=NULL) { mwxvtk3Dbaseview_Clipping3D   ->      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) {                       
                        vtkmpr3Ddataviewer->Configure();
 
                if (mwxvtkclipping3Dview                !=NULL) { mwxvtkclipping3Dview                  ->      Configure();                            }
                
-
                
 
                
 
        void wxMaracas_ViewerWidget::SetImage( vtkImageData *image      )
        {
-               marImageData* mar = mvtkmprbasedata->GetMarImageData();
-               mar->removeImageData(0);
-               mar->AddImageData(image);
-
-               ConfigureVTK();
-               RefreshView();
-
-
+               if(mvtkmprbasedata !=NULL)
+               {
+                       marImageData* mar = mvtkmprbasedata->GetMarImageData();
+                       mar->removeImageData(0);
+                       mar->AddImageData(image);
+               }
 
+//EED 26/11/2009
+//             ConfigureVTK();
+//             RefreshView();
        }
 
        double wxMaracas_ViewerWidget :: GetX()
        {
-               return mvtkmprbasedata->GetX();
+               double value = -1;
+               if(mvtkmprbasedata !=NULL)
+               {
+                       value = mvtkmprbasedata->GetX();
+               }
+               return value;
        }
 
        double wxMaracas_ViewerWidget :: GetY()
        {
-               return mvtkmprbasedata->GetY();
+               double value = -1;
+               if(mvtkmprbasedata !=NULL)
+               {
+                       value = mvtkmprbasedata->GetY();
+               }
+               return value;
        }
 
        double wxMaracas_ViewerWidget :: GetZ()
        {
-               return mvtkmprbasedata->GetZ();
+               double value = -1;
+               if(mvtkmprbasedata !=NULL)
+               {
+                       value = mvtkmprbasedata->GetZ();
+               }
+               return value;
 //             return mvtk2Dbaseview->GetVtkBaseData()->GetZ();
        }