--- /dev/null
+#include <cpPluginsExtensions/Simple3DCurve.h>
+#include <cpExtensions/DataStructures/Simple3DCurve.h>
+#include <cpExtensions/Visualization/Simple3DCurveToPolyData.h>
+
+// -------------------------------------------------------------------------
+void cpPluginsExtensions::Simple3DCurve::
+SetITK( itk::LightObject* o )
+{
+ cpPlugins_Demangle_Simple3DCurve_All_1( o, _ITK_2_VTK )
+ {
+ this->m_VTK = NULL;
+ this->m_ITKvVTK = NULL;
+ }
+}
+
+// -------------------------------------------------------------------------
+void cpPluginsExtensions::Simple3DCurve::
+SetVTK( vtkObjectBase* o )
+{
+ // Do nothing
+ this->m_ITK = NULL;
+ this->m_VTK = NULL;
+ this->m_ITKvVTK = NULL;
+}
+
+// -------------------------------------------------------------------------
+cpPluginsExtensions::Simple3DCurve::
+Simple3DCurve( )
+ : Superclass( )
+{
+}
+
+// -------------------------------------------------------------------------
+cpPluginsExtensions::Simple3DCurve::
+~Simple3DCurve( )
+{
+}
+
+// -------------------------------------------------------------------------
+template< class _TSimple3DCurve >
+void cpPluginsExtensions::Simple3DCurve::
+_ITK_2_VTK( _TSimple3DCurve* curve )
+{
+ typedef
+ cpExtensions::Visualization::Simple3DCurveToPolyData< _TSimple3DCurve >
+ _TFilter;
+ _TFilter* f = dynamic_cast< _TFilter* >( this->m_ITKvVTK.GetPointer( ) );
+ if( f == NULL )
+ {
+ _TFilter* nf = _TFilter::New( );
+ this->m_ITKvVTK = nf;
+ f = nf;
+
+ } // fi
+ f->SetInput( curve );
+ f->Update( );
+
+ // Keep object track
+ this->m_ITK = curve;
+ this->m_VTK = f->GetOutput( );
+}
+
+// eof - $RCSfile$