]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/ProcessObject.hxx
...
[cpPlugins.git] / lib / cpPlugins / ProcessObject.hxx
index 73e87433ba6d92af212d0f45a6148d04916667b5..f0f2cd0d7c17a763b82637d14ab2aa6f33cfa6a9 100644 (file)
@@ -1,6 +1,42 @@
 #ifndef __CPPLUGINS__PROCESSOBJECT__HXX__
 #define __CPPLUGINS__PROCESSOBJECT__HXX__
 
+// -------------------------------------------------------------------------
+template< class _TType >
+_TType* cpPlugins::ProcessObject::
+GetInputData( const std::string& name )
+{
+  auto in = this->GetInput( name );
+  if( in != NULL )
+  {
+    auto i = in->GetITK< _TType >( );
+    auto v = in->GetVTK< _TType >( );
+    if     ( i != NULL ) return( i );
+    else if( v != NULL ) return( v );
+    else                 return( NULL );
+  }
+  else
+    return( NULL );
+}
+
+// -------------------------------------------------------------------------
+template< class _TType >
+_TType* cpPlugins::ProcessObject::
+GetOutputData( const std::string& name )
+{
+  auto out = this->GetOutput( name );
+  if( out != NULL )
+  {
+    auto i = out->GetITK< _TType >( );
+    auto v = out->GetVTK< _TType >( );
+    if     ( i != NULL ) return( i );
+    else if( v != NULL ) return( v );
+    else                 return( NULL );
+  }
+  else
+    return( NULL );
+}
+
 // -------------------------------------------------------------------------
 template< class O >
 void cpPlugins::ProcessObject::