+++ /dev/null
-#include <cpExtensions/Visualization/Simple3DCurveToPolyData.h>
-
-#include <vtkCellArray.h>
-#include <vtkInformation.h>
-#include <vtkInformationVector.h>
-#include <vtkSmartPointer.h>
-
-// -------------------------------------------------------------------------
-template< class _TCurve >
-typename cpExtensions::Visualization::Simple3DCurveToPolyData< _TCurve >::
-Self* cpExtensions::Visualization::Simple3DCurveToPolyData< _TCurve >::
-New( )
-{
- return( new Self( ) );
-}
-
-// -------------------------------------------------------------------------
-template< class _TCurve >
-const typename cpExtensions::Visualization::Simple3DCurveToPolyData< _TCurve >::
-TCurve* cpExtensions::Visualization::Simple3DCurveToPolyData< _TCurve >::
-GetInput( ) const
-{
- return( this->m_Curve );
-}
-
-// -------------------------------------------------------------------------
-template< class _TCurve >
-void
-cpExtensions::Visualization::Simple3DCurveToPolyData< _TCurve >::
-SetInput( const TCurve* c )
-{
- if( this->m_Curve != c )
- {
- this->m_Curve = c;
- this->Modified( );
-
- } // fi
-}
-
-// -------------------------------------------------------------------------
-template< class _TCurve >
-cpExtensions::Visualization::Simple3DCurveToPolyData< _TCurve >::
-Simple3DCurveToPolyData( )
- : vtkPolyDataAlgorithm( ),
- m_Curve( NULL )
-{
- this->SetNumberOfInputPorts( 0 );
-}
-
-// -------------------------------------------------------------------------
-template< class _TCurve >
-cpExtensions::Visualization::Simple3DCurveToPolyData< _TCurve >::
-~Simple3DCurveToPolyData( )
-{
-}
-
-// -------------------------------------------------------------------------
-template< class _TCurve >
-int cpExtensions::Visualization::Simple3DCurveToPolyData< _TCurve >::
-RequestData(
- vtkInformation* information,
- vtkInformationVector** input,
- vtkInformationVector* output
- )
-{
- if( this->m_Curve == NULL )
- return( 0 );
-
- // Get output
- vtkInformation* info = output->GetInformationObject( 0 );
- vtkPolyData* out = vtkPolyData::SafeDownCast(
- info->Get( vtkDataObject::DATA_OBJECT( ) )
- );
-
- // Prepare data
- out->SetPoints( vtkSmartPointer< vtkPoints >::New( ) );
- out->SetVerts( vtkSmartPointer< vtkCellArray >::New( ) );
- out->SetLines( vtkSmartPointer< vtkCellArray >::New( ) );
- out->SetPolys( vtkSmartPointer< vtkCellArray >::New( ) );
- out->SetStrips( vtkSmartPointer< vtkCellArray >::New( ) );
- vtkPoints* points = out->GetPoints( );
- vtkCellArray* lines = out->GetLines( );
-
- // Get data
- for( unsigned long i = 0; i < this->m_Curve->GetNumberOfPoints( ); ++i )
- {
- typename _TCurve::TPoint pnt = this->m_Curve->GetPoint( i );
- points->InsertNextPoint( pnt[ 0 ], pnt[ 1 ], pnt[ 2 ] );
- if( i > 0 )
- {
- lines->InsertNextCell( 2 );
- lines->InsertCellPoint( i - 1 );
- lines->InsertCellPoint( i );
-
- } // fi
-
- } // rof
- return( 1 );
-}
-
-// -------------------------------------------------------------------------
-template< class _TCurve >
-int cpExtensions::Visualization::Simple3DCurveToPolyData< _TCurve >::
-RequestInformation(
- vtkInformation* information,
- vtkInformationVector** input,
- vtkInformationVector* output
- )
-{
- return( 1 );
-}
-
-// -------------------------------------------------------------------------
-#include <cpExtensions/DataStructures/Simple3DCurve.h>
-
-template class cpExtensions::Visualization::Simple3DCurveToPolyData< cpExtensions::DataStructures::Simple3DCurve< float > >;
-template class cpExtensions::Visualization::Simple3DCurveToPolyData< cpExtensions::DataStructures::Simple3DCurve< double > >;
-
-// eof - $RCSfile$