:wxMaracas_N_ViewersWidget(parent,imagedata,nTypeView)
{
mbbViewerNV=box;
+ backX=-9999;
+ backY=-9999;
+ backZ=-9999;
}
//-------------------------------------------------------------
//-------------------------------------------------------------
void bbwxMaracas_N_ViewersWidget::OnRefreshView(wxCommandEvent & event)
{
- //printf("CPR: bbwxMaracas_N_ViewersWidget::OnRefreshView -> actualiza X, Y y Z\n");
- mbbViewerNV->_point.clear();
- mbbViewerNV->_point.push_back( (int)GetX() );
- mbbViewerNV->_point.push_back( (int)GetY() );
- mbbViewerNV->_point.push_back( (int)GetZ() );
- mbbViewerNV->bbSetOutputPoint( mbbViewerNV->_point );
- mbbViewerNV->bbSignalOutputModification(std::string("Point"));
+ if ( (backX!=(int)GetX()) || (backY!=(int)GetY()) || (backZ!=(int)GetZ()) )
+ {
+ backX = GetX();
+ backY = GetY();
+ backZ = GetZ();
+ mbbViewerNV->_point.clear();
+ mbbViewerNV->_point.push_back( (int)GetX() );
+ mbbViewerNV->_point.push_back( (int)GetY() );
+ mbbViewerNV->_point.push_back( (int)GetZ() );
+ mbbViewerNV->bbSetOutputPoint( mbbViewerNV->_point );
+ mbbViewerNV->bbSignalOutputModification(std::string("Point"));
+ } // if
wxMaracas_N_ViewersWidget::OnRefreshView(event);
}
//-------------------------------------------------------------
void ViewerNV::Process()
{
- vtkImageData* img = bbGetInputIn();
- std::vector<int> type = bbGetInputnTypeView();
+ vtkImageData* img = bbGetInputIn();
+ std::vector<int> type = bbGetInputnTypeView();
if(img != NULL && _mwxwidget != NULL)
{
if(!compareVectors(type, _currenttype))
}else if (img != _currentimg){
_mwxwidget->SetImage(img);
}
- _mwxwidget->RefreshView();
+// _mwxwidget->RefreshView();
_currenttype = type;
_currentimg = img;
_point.clear();
- _point.push_back((int)_mwxwidget->GetX());
- _point.push_back((int)_mwxwidget->GetY());
- _point.push_back((int)_mwxwidget->GetZ());
- bbSetOutputPoint(_point);
-
- wxVtkBaseView *wvbv1 = _mwxwidget->GetwxVtkBaseView(1);
- wxVtkBaseView *wvbv2 = _mwxwidget->GetwxVtkBaseView(2);
- wxVtkBaseView *wvbv3 = _mwxwidget->GetwxVtkBaseView(3);
- wxVtkBaseView *wvbv4 = _mwxwidget->GetwxVtkBaseView(4);
+ _point.push_back( (int)_mwxwidget->GetX() );
+ _point.push_back( (int)_mwxwidget->GetY() );
+ _point.push_back( (int)_mwxwidget->GetZ() );
+ bbSetOutputPoint( _point );
+
+ wxVtkBaseView *wvbv1 = _mwxwidget->GetwxVtkBaseView( 1 );
+ wxVtkBaseView *wvbv2 = _mwxwidget->GetwxVtkBaseView( 2 );
+ wxVtkBaseView *wvbv3 = _mwxwidget->GetwxVtkBaseView( 3 );
+ wxVtkBaseView *wvbv4 = _mwxwidget->GetwxVtkBaseView( 4 );
//wxwidget->RefreshView();
bbSetOutputwxVtkBaseView1( wvbv1 );
bbSetOutputwxVtkBaseView2( wvbv2 );
}
}
_mwxwidget->SetInterpolate( bbGetInputInterpolate() );
+/* Borrame
+ if (wvbv1!=NULL)
+ {
+ wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh
+ //EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+ #if wxMAJOR_VERSION <= 2
+ wvbv1->GetWxVTKRenderWindowInteractor ()->GetParent()->ProcessEvent( newevent );
+ #else
+ wvbv1->GetWxVTKRenderWindowInteractor ()->GetParent()->ProcessWindowEvent( newevent );
+ #endif
+ }
+
+*/
}// mwxwidget != NULL
}
//-----------------------------------------------------------------
-
-
-bool ViewerNV::compareVectors(std::vector<int> type,std::vector<int> currenttype){
-
+bool ViewerNV::compareVectors(std::vector<int> type,std::vector<int> currenttype)
+{
bool ret = true;
-
- if(type.size()==currenttype.size()){
- for(int i = 0; i < (int)(type.size()) && ret; i++){
- if(type[i]!=currenttype[i]){
+ if(type.size()==currenttype.size())
+ {
+ for(int i = 0; i < (int)(type.size()) && ret; i++)
+ {
+ if(type[i]!=currenttype[i])
+ {
ret = false;
- }
- }
+ } // if
+ } // for
}else{
ret=false;
- }
+ } // type size
return ret;
}
-void ViewerNV::updateObservers(){
+void ViewerNV::updateObservers()
+{
vtkRenderWindowInteractor* interactor;
interactor = bbGetOutputInteractor1();
- if(interactor){
- if (bbGetInputObs1()!=NULL){
+ if(interactor)
+ {
+ if (bbGetInputObs1()!=NULL)
+ {
bbGetInputObs1()->SetInteractor(interactor);
bbGetInputObs1()->EnabledOn();
}
bbGetInputObs5()->SetInteractor(interactor);
bbGetInputObs5()->EnabledOn();
}
- }
+ } // if interactor
}
}