: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();
-/*
- double spc[3];
- img->GetSpacing(spc);
- printf ("EED ViewerNV::Process A %f %f %f \n", spc[0], spc[1], spc[2] );
- img->SetSpacing( 1,1,1 );
- img->Update( );
- img->GetSpacing(spc);
- img->PrintSelf(std::cout,(vtkIndent)2);
- img->Print(std::cout);
- printf ("EED ViewerNV::Process B %f %f %f \n", spc[0], spc[1], spc[2] );
-*/
- std::vector<int> type = bbGetInputnTypeView();
-
-
- if(img != NULL && _mwxwidget != NULL){
- if(!compareVectors(type, _currenttype)){
+ vtkImageData* img = bbGetInputIn();
+ std::vector<int> type = bbGetInputnTypeView();
+ if(img != NULL && _mwxwidget != NULL)
+ {
+ if(!compareVectors(type, _currenttype))
+ {
_mwxwidget->SetType(&type);
_mwxwidget->UpdateLayout(img);
}else if (img != _currentimg){
_mwxwidget->SetImage(img);
}
-
- _mwxwidget->RefreshView();
-
- _currenttype = type;
- _currentimg = img;
-
+// _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);
-
- // WxBlackBox::Process();
-// mwxwidget->SetImage(img );
- 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 );
bbSetOutputwxVtkBaseView3( wvbv3 );
if (wvbv2!=NULL) { bbSetOutputRenderer2( wvbv2->GetRenderer() ); }
if (wvbv3!=NULL) { bbSetOutputRenderer3( wvbv3->GetRenderer() ); }
if (wvbv4!=NULL) { bbSetOutputRenderer4( wvbv4->GetRenderer() ); }
-
if (wvbv1!=NULL)
{
bbSetOutputInteractor1( wvbv1->GetWxVTKRenderWindowInteractor() );
updateObservers();
}
-
if(bbGetInputColorFunction()!=NULL)
{
_mwxwidget->setColorTransferFunction(bbGetInputColorFunction());
}
-
-
if( (bbGetInputColorLevel()!=-1) && (bbGetInputWindowLevel()!=-1))
{
if(bbGetInputColorLevel() == 0)
_mwxwidget->SetColorWindowLevel( bbGetInputWindowLevel() , bbGetInputColorLevel() );
}
}
+ _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
}
bbSetInputObs3(NULL);
bbSetInputObs4(NULL);
bbSetInputObs5(NULL);
+ bbSetInputInterpolate(true);
std::vector<int> vecNTypeViwer;
vecNTypeViwer.push_back(5);
//-----------------------------------------------------------------
-
-
-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
}
}