#include "bbmaracasvisuViewerMPR.h" #include "bbcreaMaracasVisuPackage.h" namespace bbcreaMaracasVisu { //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // wxWidgetMPR //-------------------------------------------------------------------------- BEGIN_EVENT_TABLE( wxWidgetMPR, wxPanel ) EVT_MENU( 12121, wxWidgetMPR::OnRefreshView ) EVT_MENU( 12122, wxWidgetMPR::OnDClickLeft ) END_EVENT_TABLE( ); //----------- //Constructor //----------- wxWidgetMPR::wxWidgetMPR(ViewerMPR* box,wxWindow* parent, marImageData *marimagedata) : wxPanel( parent, -1 ) { wxPanel *panel = this; mbbViewerMPR = box; wxwidget = new wxMPRWidget2( panel, marimagedata , 1 ); wxwidget->ConfigureVTK(); wxFlexGridSizer *sizer=new wxFlexGridSizer(1); sizer -> Add( wxwidget,0,wxGROW ); sizer -> AddGrowableCol(1); panel -> SetSizer(sizer); panel -> SetAutoLayout(true); panel -> Layout(); } //-------------------------------------------------------------------------- wxWidgetMPR::~wxWidgetMPR() { } //-------------------------------------------------------------------------- /* Getting the point */ std::vector wxWidgetMPR::GetPoint() { return point; } /* Getting the render */ vtkRenderer* wxWidgetMPR::GetRenderer() { if(wxwidget!=NULL) { return wxwidget->GetWxvtkmpr3Dview_BB()->GetWxvtk3Dbaseview()->GetRenderer(); } else { return NULL; } } //-------------------------------------------------------------------------- void wxWidgetMPR::Refresh() { wxwidget->RefreshView(); } //-------------------------------------------------------------------------- //--------------- //Handling events //--------------- void wxWidgetMPR::OnRefreshView(wxCommandEvent &event) { if((wxwidget!=NULL) && (mbbViewerMPR!=NULL)) { 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->bbSignalOutputModification(std::string("Point")); wxwidget->RefreshView(); } } //-------------------------------------------------------------------------- void wxWidgetMPR::OnDClickLeft(wxCommandEvent & event) { wxwidget->RefreshView(); } //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ViewerMPR) BBTK_BLACK_BOX_IMPLEMENTATION(ViewerMPR,bbtk::WxBlackBox); void ViewerMPR::Process() { if (wxwidget!=NULL){ wxBusyCursor wait; bbSetOutputPoint( wxwidget->GetPoint() ); bbSetOutputRenderer( wxwidget->GetRenderer() ); } // wxwidget } void ViewerMPR::CreateWidget(wxWindow* parent) { bbtkDebugMessageInc("Core",9,"ViewerMPR::CreateWidget() " <