X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FProcessObject.cxx;h=e2ea0de61e79640917d122c376c24a2eed027b2f;hb=7e29f3aec097ba1bff1894fed6eb1094276c5b72;hp=809ef35c5dd91584beb59021dda536ea047ed088;hpb=dea0e89b762a27b1e4088f3d03b5169ca63a227f;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/ProcessObject.cxx b/lib/cpPlugins/Interface/ProcessObject.cxx index 809ef35..e2ea0de 100644 --- a/lib/cpPlugins/Interface/ProcessObject.cxx +++ b/lib/cpPlugins/Interface/ProcessObject.cxx @@ -7,6 +7,20 @@ #include #endif // cpPlugins_Interface_QT4 +// ------------------------------------------------------------------------- +void cpPlugins::Interface::ProcessObject:: +SetITK( itk::LightObject* o ) +{ + // Polymorphism: do nothing -> this is a filter!!! +} + +// ------------------------------------------------------------------------- +void cpPlugins::Interface::ProcessObject:: +SetVTK( vtkObjectBase* o ) +{ + // Polymorphism: do nothing -> this is a filter!!! +} + // ------------------------------------------------------------------------- std::set< std::string > cpPlugins::Interface::ProcessObject:: GetInputsNames( ) const @@ -138,7 +152,9 @@ Update( ) bool need_to_update = false; for( ; i != this->m_Inputs.end( ) && r == ""; ++i ) { - if( i->second.IsValid( ) ) + bool iv = i->second.IsValid( ); + bool ir = i->second.IsRequired( ); + if( iv || !ir ) { Self* src = dynamic_cast< Self* >( i->second->GetSource( ) ); if( src != NULL ) @@ -147,8 +163,12 @@ Update( ) r = src->Update( ); } // fi - - } // fi + } + else + r = + "ProcessObject: Required input \"" + + i->first + "@" + this->GetClassName( ) + + "\" is not valid (=NULL)."; } // rof