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)
35 mbbViewerNV->point.clear();
37 mbbViewerNV->point.push_back( (int)GetX() );
38 mbbViewerNV->point.push_back( (int)GetY() );
39 mbbViewerNV->point.push_back( (int)GetZ() );
40 mbbViewerNV->bbSetOutputPoint( mbbViewerNV->point );
41 mbbViewerNV->bbSignalOutputModification(std::string("Point"));
43 wxMaracas_N_ViewersWidget::OnRefreshView(event);
46 //-------------------------------------------------------------
47 void bbwxMaracas_N_ViewersWidget::OnDClickLeft(wxCommandEvent & event)
49 printf("EED bbwxMaracas_N_ViewersWidget::OnDClickLeft \n");
50 wxMaracas_N_ViewersWidget::OnDClickLeft(event);
51 mbbViewerNV->bbSignalOutputModification(std::string("Point"));
54 //-------------------------------------------------------------
55 //-------------------------------------------------------------
56 //-------------------------------------------------------------
61 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ViewerNV)
62 BBTK_BLACK_BOX_IMPLEMENTATION(ViewerNV,bbtk::WxBlackBox);
63 //-------------------------------------------------------------
64 void ViewerNV::Process()
67 vtkImageData* img = bbGetInputIn();
68 std::vector<int> type = bbGetInputnTypeView();
70 std::cout<<"img "<<img<<std::endl;
71 std::cout<<"widget "<<mwxwidget<<std::endl;
73 if(img != NULL && mwxwidget != NULL){// && !enter){
75 if(!compareVectors(type, currenttype)){
76 mwxwidget->SetType(&type);
77 mwxwidget->UpdateLayout(img);
78 }else if (img != currentimg){
79 mwxwidget->SetImage(img);
80 //mwxwidget->UpdateLayout(img);
87 point.push_back((int)mwxwidget->GetX());
88 point.push_back((int)mwxwidget->GetY());
89 point.push_back((int)mwxwidget->GetZ());
90 bbSetOutputPoint(point);
92 // WxBlackBox::Process();
93 // mwxwidget->SetImage(img );
94 wxVtkBaseView *wvbv1 = mwxwidget->GetwxVtkBaseView(1);
95 wxVtkBaseView *wvbv2 = mwxwidget->GetwxVtkBaseView(2);
96 wxVtkBaseView *wvbv3 = mwxwidget->GetwxVtkBaseView(3);
97 wxVtkBaseView *wvbv4 = mwxwidget->GetwxVtkBaseView(4);
99 //wxwidget->RefreshView();
101 bbSetOutputwxVtkBaseView1( wvbv1 );
102 bbSetOutputwxVtkBaseView2( wvbv2 );
103 bbSetOutputwxVtkBaseView3( wvbv3 );
104 bbSetOutputwxVtkBaseView4( wvbv4 );
105 if (wvbv1!=NULL) { bbSetOutputRenderer1( wvbv1->GetRenderer() ); }
106 if (wvbv2!=NULL) { bbSetOutputRenderer2( wvbv2->GetRenderer() ); }
107 if (wvbv3!=NULL) { bbSetOutputRenderer3( wvbv3->GetRenderer() ); }
108 if (wvbv4!=NULL) { bbSetOutputRenderer4( wvbv4->GetRenderer() ); }
112 //-------------------------------------------------------------
113 void ViewerNV::CreateWidget(wxWindow* parent)
116 bbtkDebugMessageInc("Core",9,"ViewerNV::CreateWidget()"<<std::endl);
117 mwxwidget = new bbwxMaracas_N_ViewersWidget( this, parent );
118 bbtkDebugDecTab("Core",9);
119 bbSetOutputWidget( mwxwidget );
122 //this->bbSignalOutputModification();
126 //-------------------------------------------------------------
127 void ViewerNV::bbUserSetDefaultValues()
133 std::vector<int> vecNTypeViwer;
134 vecNTypeViwer.push_back(5);
135 vecNTypeViwer.push_back(0);
136 vecNTypeViwer.push_back(1);
137 vecNTypeViwer.push_back(3);
138 bbSetInputnTypeView(vecNTypeViwer);
141 bbSetOutputwxVtkBaseView1( NULL );
142 bbSetOutputwxVtkBaseView2( NULL );
143 bbSetOutputwxVtkBaseView3( NULL );
144 bbSetOutputwxVtkBaseView4( NULL );
145 bbSetOutputRenderer1( NULL );
146 bbSetOutputRenderer2( NULL );
147 bbSetOutputRenderer3( NULL );
148 bbSetOutputRenderer4( NULL );
151 //-----------------------------------------------------------------
152 void ViewerNV::bbUserInitializeProcessing()
156 //-----------------------------------------------------------------
157 void ViewerNV::bbUserFinalizeProcessing()
161 //-----------------------------------------------------------------
165 bool ViewerNV::compareVectors(std::vector<int> type,std::vector<int> currenttype){
169 if(type.size()==currenttype.size()){
170 for(int i = 0; i < (int)(type.size()) && ret; i++){
171 if(type[i]!=currenttype[i]){
184 // EO namespace bbcreaMaracasVisu