X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuViewerMPR.cxx;h=14b816ec867ca29b400bc91085214f093e8fd5a2;hb=8eebd53dcbe07edf0569621003178ee37d69a39b;hp=2ba4227066bf4a4e34bf455a1eeaa1f25863c8f2;hpb=44e4be7013ea566bd2bdefb9d48e1da0071c3d91;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuViewerMPR.cxx b/bbtk/src/bbmaracasvisuViewerMPR.cxx index 2ba4227..14b816e 100644 --- a/bbtk/src/bbmaracasvisuViewerMPR.cxx +++ b/bbtk/src/bbmaracasvisuViewerMPR.cxx @@ -1,7 +1,31 @@ +/*# --------------------------------------------------------------------- +# +# 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. +# ------------------------------------------------------------------------ */ #include "bbmaracasvisuViewerMPR.h" -#include "bbmaracasvisuPackage.h" -namespace bbmaracasvisu +#include "bbcreaMaracasVisuPackage.h" +namespace bbcreaMaracasVisu { //-------------------------------------------------------------------------- @@ -26,8 +50,12 @@ END_EVENT_TABLE( ); wxPanel *panel = this; mbbViewerMPR = box; + wxwidget = new wxMPRWidget2( panel, marimagedata , 1 ); - wxwidget->ConfigureVTK(); + + if(marimagedata != NULL){ + wxwidget->ConfigureVTK(); + } wxFlexGridSizer *sizer=new wxFlexGridSizer(1); sizer -> Add( wxwidget,0,wxGROW ); sizer -> AddGrowableCol(1); @@ -35,6 +63,13 @@ END_EVENT_TABLE( ); panel -> SetAutoLayout(true); panel -> Layout(); } + + void wxWidgetMPR::setImageData(vtkImageData* img){ + wxwidget->setImageData(img, 1); + } + void wxWidgetMPR::ConfigureVTK(){ + wxwidget->ConfigureVTK(); + } //-------------------------------------------------------------------------- wxWidgetMPR::~wxWidgetMPR() { @@ -75,16 +110,16 @@ END_EVENT_TABLE( ); //--------------- void wxWidgetMPR::OnRefreshView(wxCommandEvent &event) { - + printf("EED wxWidgetMPR::OnRefreshView 01\n"); if((wxwidget!=NULL) && (mbbViewerMPR!=NULL)) { + printf("EED wxWidgetMPR::OnRefreshView 02\n"); point.clear(); point.push_back((int)wxwidget->GetVtkMPRBaseData()->GetX()); point.push_back((int)wxwidget->GetVtkMPRBaseData()->GetY()); point.push_back((int)wxwidget->GetVtkMPRBaseData()->GetZ()); mbbViewerMPR->bbSetOutputPoint( GetPoint() ); - mbbViewerMPR->bbSetModifiedStatus(); - mbbViewerMPR->bbSignalOutputModification("Point"); + mbbViewerMPR->bbSignalOutputModification(std::string("Point")); wxwidget->RefreshView(); } } @@ -106,37 +141,60 @@ END_EVENT_TABLE( ); -BBTK_ADD_BLACK_BOX_TO_PACKAGE(maracasvisu,ViewerMPR) +BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ViewerMPR) BBTK_BLACK_BOX_IMPLEMENTATION(ViewerMPR,bbtk::WxBlackBox); void ViewerMPR::Process() { + if (wxwidget!=NULL){ wxBusyCursor wait; - bbSetOutputPoint( mwxwidgetmpr->GetPoint() ); - bbSetOutputRenderer( mwxwidgetmpr->GetRenderer() ); + vtkImageData* img = bbGetInputIn(); + if(img!=NULL && img != _img){ + _img = img; + wxwidget->setImageData(_img); + wxwidget->ConfigureVTK(); + +// wxwidget->wxPanel::Refresh(); + wxwidget->Refresh(); +// wxwidget->Show(); + + } + + + bbSetOutputPoint( wxwidget->GetPoint() ); + bbSetOutputRenderer( wxwidget->GetRenderer() ); + } // wxwidget } -void ViewerMPR::CreateWidget() +void ViewerMPR::CreateWidget(wxWindow* parent) { bbtkDebugMessageInc("Core",9,"ViewerMPR::CreateWidget() " <