1 #include "bbmaracasvisuViewerNV.h"
2 #include "bbcreaMaracasVisuPackage.h"
3 namespace bbcreaMaracasVisu
7 BEGIN_EVENT_TABLE( bbwxMaracas_N_ViewersWidget, wxPanel )
8 EVT_MENU( 12121, bbwxMaracas_N_ViewersWidget::OnRefreshView )
9 EVT_MENU( 12122, bbwxMaracas_N_ViewersWidget::OnDClickLeft )
13 //-------------------------------------------------------------
14 //-------------------------------------------------------------
15 //-------------------------------------------------------------
17 bbwxMaracas_N_ViewersWidget::bbwxMaracas_N_ViewersWidget(ViewerNV* box,
19 vtkImageData* imagedata,
20 std::vector<int> *nTypeView)
21 :wxMaracas_N_ViewersWidget(parent,imagedata,nTypeView)
26 //-------------------------------------------------------------
27 bbwxMaracas_N_ViewersWidget::~bbwxMaracas_N_ViewersWidget()
31 //-------------------------------------------------------------
32 void bbwxMaracas_N_ViewersWidget::OnRefreshView(wxCommandEvent & event)
34 wxMaracas_N_ViewersWidget::OnRefreshView(event);
35 mbbViewerNV->bbSignalOutputModification(std::string("Point"));
39 //-------------------------------------------------------------
40 void bbwxMaracas_N_ViewersWidget::OnDClickLeft(wxCommandEvent & event)
42 wxMaracas_N_ViewersWidget::OnDClickLeft(event);
43 mbbViewerNV->bbSignalOutputModification(std::string("Point"));
46 //-------------------------------------------------------------
47 //-------------------------------------------------------------
48 //-------------------------------------------------------------
53 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ViewerNV)
54 BBTK_BLACK_BOX_IMPLEMENTATION(ViewerNV,bbtk::WxBlackBox);
55 //-------------------------------------------------------------
56 void ViewerNV::Process()
59 vtkImageData* img = bbGetInputIn();
60 std::vector<int> type = bbGetInputnTypeView();
62 std::cout<<"img "<<img<<std::endl;
63 std::cout<<"widget "<<mwxwidget<<std::endl;
65 if(img != NULL && mwxwidget != NULL){// && !enter){
67 if(!compareVectors(type, currenttype)){
68 mwxwidget->SetType(&type);
69 mwxwidget->UpdateLayout(img);
70 }else if (img != currentimg){
71 mwxwidget->SetImage(img);
72 //mwxwidget->UpdateLayout(img);
79 point.push_back((int)mwxwidget->GetX());
80 point.push_back((int)mwxwidget->GetY());
81 point.push_back((int)mwxwidget->GetZ());
82 bbSetOutputPoint(point);
84 // WxBlackBox::Process();
85 // mwxwidget->SetImage(img );
86 wxVtkBaseView *wvbv1 = mwxwidget->GetwxVtkBaseView(1);
87 wxVtkBaseView *wvbv2 = mwxwidget->GetwxVtkBaseView(2);
88 wxVtkBaseView *wvbv3 = mwxwidget->GetwxVtkBaseView(3);
89 wxVtkBaseView *wvbv4 = mwxwidget->GetwxVtkBaseView(4);
91 //wxwidget->RefreshView();
93 bbSetOutputwxVtkBaseView1( wvbv1 );
94 bbSetOutputwxVtkBaseView2( wvbv2 );
95 bbSetOutputwxVtkBaseView3( wvbv3 );
96 bbSetOutputwxVtkBaseView4( wvbv4 );
97 if (wvbv1!=NULL) { bbSetOutputRenderer1( wvbv1->GetRenderer() ); }
98 if (wvbv2!=NULL) { bbSetOutputRenderer2( wvbv2->GetRenderer() ); }
99 if (wvbv3!=NULL) { bbSetOutputRenderer3( wvbv3->GetRenderer() ); }
100 if (wvbv4!=NULL) { bbSetOutputRenderer4( wvbv4->GetRenderer() ); }
104 //-------------------------------------------------------------
105 void ViewerNV::CreateWidget(wxWindow* parent)
108 bbtkDebugMessageInc("Core",9,"ViewerNV::CreateWidget()"<<std::endl);
109 mwxwidget = new bbwxMaracas_N_ViewersWidget( this, parent );
110 bbtkDebugDecTab("Core",9);
111 bbSetOutputWidget( mwxwidget );
114 //this->bbSignalOutputModification();
118 //-------------------------------------------------------------
119 void ViewerNV::bbUserSetDefaultValues()
125 std::vector<int> vecNTypeViwer;
126 vecNTypeViwer.push_back(5);
127 vecNTypeViwer.push_back(0);
128 vecNTypeViwer.push_back(1);
129 vecNTypeViwer.push_back(3);
130 bbSetInputnTypeView(vecNTypeViwer);
133 bbSetOutputwxVtkBaseView1( NULL );
134 bbSetOutputwxVtkBaseView2( NULL );
135 bbSetOutputwxVtkBaseView3( NULL );
136 bbSetOutputwxVtkBaseView4( NULL );
137 bbSetOutputRenderer1( NULL );
138 bbSetOutputRenderer2( NULL );
139 bbSetOutputRenderer3( NULL );
140 bbSetOutputRenderer4( NULL );
143 //-----------------------------------------------------------------
144 void ViewerNV::bbUserInitializeProcessing()
148 //-----------------------------------------------------------------
149 void ViewerNV::bbUserFinalizeProcessing()
153 //-----------------------------------------------------------------
157 bool ViewerNV::compareVectors(std::vector<int> type,std::vector<int> currenttype){
161 if(type.size()==currenttype.size()){
162 for(int i = 0; i < (int)(type.size()) && ret; i++){
163 if(type[i]!=currenttype[i]){
176 // EO namespace bbcreaMaracasVisu