+/*# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
/*=========================================================================
Program: wxMaracas
Module: $RCSfile: wxMaracas_ViewerWidget.cxx,v $
Language: C++
- Date: $Date: 2010/10/23 12:01:32 $
- Version: $Revision: 1.31 $
+ Date: $Date: 2012/11/15 14:14:35 $
+ Version: $Revision: 1.38 $
Copyright: (c) 2002, 2003
License:
//------------------------------------------------------------------------------------------------------------
// Other includes
//------------------------------------------------------------------------------------------------------------
-
//------------------------------------------------------------------------------------------------------------
// Constructors & Destructors
//------------------------------------------------------------------------------------------------------------
mwxvtkclipping3Dview = new wxVtkClipping3DView(mwxvtk3Dbaseview_Clipping3D);
vtkClipping3DDataViewer *vtkclipping3Ddataviewer = new vtkClipping3DDataViewer();
- vtkclipping3Ddataviewer->SetVtkMPRBaseData(mvtkmprbasedata);
+ vtkclipping3Ddataviewer->SetVtkMPRBaseData(mvtkmprbasedata);
vtkclipping3Ddataviewer->Configure();
mwxvtkclipping3Dview->SetVtkClipping3DDataViewer(vtkclipping3Ddataviewer);
panelClipping3D->SplitHorizontally( notebook , window3D , 10 );
//panelClipping3D->SetMinimumPaneSize( 15 );
panelClipping3D->SetMinimumPaneSize( 70 ); // JPR
+ //RaC Nov2012 Correctly resize internal panels with the window resize event
+ panelClipping3D->SetSashGravity(0.5);
/* EED 04 / Febrary / 2010
panelControl = new wxPanel(panelClipping3D,-1);
panelControl->SetSize(400,350);
panelControl->Layout();
//panelClipping3D->SetMinimumPaneSize( 5 );
- panelClipping3D->SetMinimumPaneSize( 100 ); // JPR
+ panelClipping3D->SetMinimumPaneSize( 130 ); // FCY
+ panelClipping3D->SplitHorizontally( panelControl , window3D , 0 );
+ //panelClipping3D->SetSashSize(10);
- panelClipping3D->SplitHorizontally( panelControl , window3D , 10 );
+ //RaC Nov2012 Correctly resize internal panels with the window resize event
+ panelClipping3D->SetSashGravity(0.5);
+ panelClipping3D->UpdateSize(); //FCY
wxwindow=panelClipping3D;
vtkmpr3Ddataviewer->SetVtkMPRBaseData(mvtkmprbasedata);
{
if (mvtkmprbasedata) { delete mvtkmprbasedata;}
}
-
+
if (mvtk2Dbaseview) { delete mvtk2Dbaseview; }
if (mvtkmpr2Dview_X) { delete mvtkmpr2Dview_X;}
if (mvtkmpr2Dview_Y) { delete mvtkmpr2Dview_Y;}
if (mwxvtkmpr3Dview) { delete mwxvtkmpr3Dview;}
if (mwxvtkclipping3Dview) { delete mwxvtkclipping3Dview;}
if (mwxvtk3Dbaseview_Clipping3D){ delete mwxvtk3Dbaseview_Clipping3D; mwxvtk3Dbaseview_Clipping3D=NULL;}
+ if (vtkmpr3Ddataviewer) { delete vtkmpr3Ddataviewer;}
}
//------------------------------------------------------------------------------------------------------------
// Methods
if (mvtkmprbasedata!=NULL)
{
mvtkmprbasedata->Configure();
- /*
- x = mvtkmprbasedata->GetMaxPositionX()/2;
- y = mvtkmprbasedata->GetMaxPositionY()/2;
- z = mvtkmprbasedata->GetMaxPositionZ()/2;
- */
if(mvtkmprbasedata->GetImageData() != NULL)
{
if ( mwidgetMesure !=NULL ) { mwidgetMesure->SetMesureScale( 1 ); }
if ( mwxsphereview !=NULL ) { mwxsphereview->Configure(); }
+
if (mwxvtk3Dbaseview_Clipping3D !=NULL)
{
mwxvtk3Dbaseview_Clipping3D->Configure();
if (mwxvtkmpr3Dview !=NULL)
{
mwxvtkmpr3Dview->Configure();
- mwxvtkmpr3Dview->ResetCamera(ext,org,spc);
+//EED??? mwxvtkmpr3Dview->ResetCamera(ext,org,spc);
}
if (mwxvtkclipping3Dview !=NULL)
mwxvtkclipping3Dview->Configure();
}
-
//if(vtkmpr3Ddataviewer!=NULL){vtkmpr3Ddataviewer->Configure();}
// RefreshView();
}
- //-------------------------------------------------------------------------
-
- void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect ) // virtual eraseBackground=true , rect=NULL
- {
- wxPanel::Refresh(false);
- }
+//-------------------------------------------------------------------------
+void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect ) // virtual eraseBackground=true , rect=NULL
+{
+ wxPanel::Refresh(false);
+}
//-------------------------------------------------------------------------
void wxMaracas_ViewerWidget::RefreshView()
{
- if (mvtk2Dbaseview !=NULL ){ mvtk2Dbaseview->Refresh(); }
- if (mvtkmpr2Dview_X !=NULL ){ mvtkmpr2Dview_X->Refresh(); }
- if (mvtkmpr2Dview_Y !=NULL ){ mvtkmpr2Dview_Y->Refresh(); }
- if (mvtkmpr2Dview_Z !=NULL ){ mvtkmpr2Dview_Z->Refresh(); }
- if (mvtkplane2Dview !=NULL ){ mvtkplane2Dview->Refresh(); }
- if (mwxsphereview !=NULL ){ mwxsphereview ->Refresh(); }
-
- if (mwxvtkmpr3Dview !=NULL ){ mwxvtkmpr3Dview->RefreshView(); }
- if (mwxvtkclipping3Dview !=NULL ){ mwxvtkclipping3Dview->Refresh(); }
- if (mwxvtk3Dbaseview_Clipping3D !=NULL ){ mwxvtk3Dbaseview_Clipping3D->Refresh();}
+ if (mvtk2Dbaseview !=NULL ){ mvtk2Dbaseview->Refresh(); }
+ if (mvtkmpr2Dview_X !=NULL ){ mvtkmpr2Dview_X->Refresh(); }
+ if (mvtkmpr2Dview_Y !=NULL ){ mvtkmpr2Dview_Y->Refresh(); }
+ if (mvtkmpr2Dview_Z !=NULL ){ mvtkmpr2Dview_Z->Refresh(); }
+ if (mvtkplane2Dview !=NULL ){ mvtkplane2Dview->Refresh(); }
+ if (mwxsphereview !=NULL ){ mwxsphereview ->Refresh(); }
+ if (mwxvtkmpr3Dview !=NULL ){ mwxvtkmpr3Dview->RefreshView(); }
+ if (mwxvtkclipping3Dview !=NULL ){ mwxvtkclipping3Dview->Refresh(); }
+ if (mwxvtk3Dbaseview_Clipping3D !=NULL ){ mwxvtk3Dbaseview_Clipping3D->Refresh(); }
}
//-------------------------------------------------------------------------
mar->AddImageData(image);
}
+
+ if (mvtk2Dbaseview!=NULL)
+ {
+ mvtk2Dbaseview->SetImageToVtkViewer(image);
+ }
+
+ if (mvtkmpr2Dview_X!=NULL){
+ mvtkmpr2Dview_X->SetImageToVtkViewer(image);
+ }
+ if (mvtkmpr2Dview_Y!=NULL){
+ mvtkmpr2Dview_Y->SetImageToVtkViewer(image);
+ }
+ if (mvtkmpr2Dview_Z!=NULL){
+ mvtkmpr2Dview_Z->SetImageToVtkViewer(image);
+ }
+
+ if (mvtkplane2Dview!=NULL){
+ // ??? EED 10 oct 2012
+ }
+ if (mwxsphereview!=NULL){
+ // ??? EED 10 oct 2012
+ }
+ if (mwxvtk3Dbaseview_Clipping3D!=NULL){
+ // ??? EED 10 oct 2012
+ }
+
+
+
//EED 26/11/2009
// ConfigureVTK();
// RefreshView();
// return mvtk2Dbaseview->GetVtkBaseData()->GetZ();
}
- void wxMaracas_ViewerWidget::setColorTransferFunction(vtkColorTransferFunction* colortable){
- if(mvtkmpr2Dview_X!=NULL){
- mvtkmpr2Dview_X->setColorTransferFunction(colortable);
- }
- if(mvtkmpr2Dview_Y!=NULL){
- mvtkmpr2Dview_Y->setColorTransferFunction(colortable);
- }
- if(mvtkmpr2Dview_Z!=NULL){
- mvtkmpr2Dview_Z->setColorTransferFunction(colortable);
- }
- if(mwxvtkmpr3Dview!=NULL){
- mwxvtkmpr3Dview->setColorTransferFunction(colortable);
- }
+//-------------------------------------------------------------------------------------------
+void wxMaracas_ViewerWidget::setColorTransferFunction(vtkColorTransferFunction* colortable)
+{
+ if(mvtkmpr2Dview_X!=NULL)
+ {
+ mvtkmpr2Dview_X->setColorTransferFunction(colortable);
}
-
- void wxMaracas_ViewerWidget::setWindowLevel(double level){
- if(mvtkmpr2Dview_X!=NULL){
- mvtkmpr2Dview_X->setWindowLevel(level);
- }
- if(mvtkmpr2Dview_Y!=NULL){
- mvtkmpr2Dview_Y->setWindowLevel(level);
- }
- if(mvtkmpr2Dview_Z!=NULL){
- mvtkmpr2Dview_Z->setWindowLevel(level);
- }
- /*if(mwxvtkmpr3Dview!=NULL){
- mwxvtkmpr3Dview->setWindowLevel(level);
- }*/
+
+ if(mvtkmpr2Dview_Y!=NULL)
+ {
+ mvtkmpr2Dview_Y->setColorTransferFunction(colortable);
+ }
+
+ if(mvtkmpr2Dview_Z!=NULL)
+ {
+ mvtkmpr2Dview_Z->setColorTransferFunction(colortable);
+ }
+
+ if(mwxvtkmpr3Dview!=NULL)
+ {
+ mwxvtkmpr3Dview->setColorTransferFunction(colortable);
+ }
+}
+
+//-------------------------------------------------------------------------------------------
+void wxMaracas_ViewerWidget::SetColorWindowLevel(double colorWindow, double colorLevel)
+{
+ mvtkmprbasedata->SetColorWindow(colorWindow);
+ mvtkmprbasedata->SetColorLevel(colorLevel);
+//EED Borrame
+/*
+ RefreshView();
+ if(mvtk2Dbaseview!=NULL)
+ {
+ mvtk2Dbaseview->SetColorWindow(level);
+ }
+
+ if(mvtkmpr2Dview_X!=NULL)
+ {
+ mvtkmpr2Dview_X->SetColorWindow(level);
+ }
+
+ if(mvtkmpr2Dview_Y!=NULL)
+ {
+ mvtkmpr2Dview_Y->SetColorWindow(level);
+ }
+
+ if(mvtkmpr2Dview_Z!=NULL)
+ {
+ mvtkmpr2Dview_Z->SetColorWindow(level);
+ }
+
+ if(mwxvtkmpr3Dview!=NULL)
+ {
+ mwxvtkmpr3Dview->SetColorWindow(level);
}
+ */
+}
+
+
- void wxMaracas_ViewerWidget::setColorLevel(double level){
- if(mvtkmpr2Dview_X!=NULL){
- mvtkmpr2Dview_X->setColorLevel(level);
- }
- if(mvtkmpr2Dview_Y!=NULL){
- mvtkmpr2Dview_Y->setColorLevel(level);
- }
- if(mvtkmpr2Dview_Z!=NULL){
- mvtkmpr2Dview_Z->setColorLevel(level);
- }
- /*if(mwxvtkmpr3Dview!=NULL){
- mwxvtkmpr3Dview->setColorLevel(level);
- }*/
- }