X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpExtensions%2FVisualization%2FImageIndexesContainerToPolyData.hxx;fp=lib%2FcpExtensions%2FVisualization%2FImageIndexesContainerToPolyData.hxx;h=0000000000000000000000000000000000000000;hb=2e142df11d6f312a2a2b5097b8da73571ed523e8;hp=a1403ce6d58e172cddb81016d51088ed2c73b5aa;hpb=61b3659afe961ed248f30e26f9ca8f28fcfafddc;p=cpPlugins.git diff --git a/lib/cpExtensions/Visualization/ImageIndexesContainerToPolyData.hxx b/lib/cpExtensions/Visualization/ImageIndexesContainerToPolyData.hxx deleted file mode 100644 index a1403ce..0000000 --- a/lib/cpExtensions/Visualization/ImageIndexesContainerToPolyData.hxx +++ /dev/null @@ -1,188 +0,0 @@ -#ifndef __CPEXTENSIONS__VISUALIZATION__IMAGEINDEXESCONTAINERTOPOLYDATA__HXX__ -#define __CPEXTENSIONS__VISUALIZATION__IMAGEINDEXESCONTAINERTOPOLYDATA__HXX__ - -#include -#include - -// ------------------------------------------------------------------------- -template< class _TIndexes > -typename cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -Self* cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -New( ) -{ - return( new Self( ) ); -} - -// ------------------------------------------------------------------------- -template< class _TIndexes > -const typename cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -TIndexes* cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -GetInput( ) const -{ - return( this->m_Indexes ); -} - -// ------------------------------------------------------------------------- -template< class _TIndexes > -const typename cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -TImage* cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -GetReferenceImage( ) const -{ - return( this->m_ReferenceImage ); -} - -// ------------------------------------------------------------------------- -template< class _TIndexes > -void cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -SetInput( const TIndexes* c ) -{ - if( this->m_Indexes != c ) - { - this->m_Indexes = c; - this->Modified( ); - - } // fi -} - -// ------------------------------------------------------------------------- -template< class _TIndexes > -void cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -SetReferenceImage( const TImage* i ) -{ - if( this->m_ReferenceImage != i ) - { - this->m_ReferenceImage = i; - this->Modified( ); - - } // fi -} - -// ------------------------------------------------------------------------- -template< class _TIndexes > -cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -ImageIndexesContainerToPolyData( ) - : vtkPolyDataAlgorithm( ), - m_Indexes( NULL ), - m_ReferenceImage( NULL ) -{ - this->SetNumberOfInputPorts( 0 ); -} - -// ------------------------------------------------------------------------- -template< class _TIndexes > -cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -~ImageIndexesContainerToPolyData( ) -{ -} - -// ------------------------------------------------------------------------- -template< class _TIndexes > -int cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -RequestData( - vtkInformation* information, - vtkInformationVector** input, - vtkInformationVector* output - ) -{ - static const unsigned int dim = TIndex::Dimension; - - if( this->m_Indexes == NULL ) - return( 0 ); - - // Get output - vtkInformation* info = output->GetInformationObject( 0 ); - vtkPolyData* out = vtkPolyData::SafeDownCast( - info->Get( vtkDataObject::DATA_OBJECT( ) ) - ); - - // Get input data - auto& lst = this->m_Indexes->Get( ); - - // Prepare points - vtkPoints* points = out->GetPoints( ); - if( points == NULL ) - { - points = vtkPoints::New( ); - out->SetPoints( points ); - points->Delete( ); - - } // fi - points->SetNumberOfPoints( lst.size( ) ); - - // Prepare cells - vtkSmartPointer< vtkCellArray > verts = - vtkSmartPointer< vtkCellArray >::New( ); - - for( unsigned int i = 0; i < lst.size( ); ++i ) - { - auto idx = lst[ i ]; - if( this->m_ReferenceImage != NULL ) - { - typename TImage::PointType pnt; - this->m_ReferenceImage->TransformIndexToPhysicalPoint( idx, pnt ); - if( dim == 1 ) - points->SetPoint( i, pnt[ 0 ], 0, 0 ); - else if( dim == 2 ) - points->SetPoint( i, pnt[ 0 ], pnt[ 1 ], 0 ); - else - points->SetPoint( i, pnt[ 0 ], pnt[ 1 ], pnt[ 2 ] ); - } - else - { - if( dim == 1 ) - points->SetPoint( i, idx[ 0 ], 0, 0 ); - else if( dim == 2 ) - points->SetPoint( i, idx[ 0 ], idx[ 1 ], 0 ); - else - points->SetPoint( i, idx[ 0 ], idx[ 1 ], idx[ 2 ] ); - - } // fi - verts->InsertNextCell( 1 ); - verts->InsertCellPoint( i ); - - } // rof - out->SetPoints( points ); - out->SetVerts( verts ); - return( 1 ); -} - -// ------------------------------------------------------------------------- -template< class _TIndexes > -int -cpExtensions::Visualization::ImageIndexesContainerToPolyData< _TIndexes >:: -RequestInformation( - vtkInformation* information, - vtkInformationVector** input, - vtkInformationVector* output - ) -{ - vtkInformation* info = output->GetInformationObject( 0 ); - /* TODO - info->Set( - vtkStreamingDemandDrivenPipeline::MAXIMUM_NUMBER_OF_PIECES( ), -1 - ); - */ - - if( this->m_Indexes != NULL && this->m_ReferenceImage != NULL ) - { - /* TODO - typename C::TScalar len = this->m_RGC->GetTotalLength( ); - typename C::TScalar s0 = this->m_RGC->Gets0( ); - typename C::TPoint p0 = this->m_RGC->Axis( s0 ); - typename C::TPoint p1 = this->m_RGC->Axis( s0 + len ); - - info->Set( - vtkStreamingDemandDrivenPipeline::WHOLE_BOUNDING_BOX( ), - double( p0[ 0 ] ), double( p1[ 0 ] ), - double( p0[ 1 ] ), double( p1[ 1 ] ), - double( p0[ 2 ] ), double( p1[ 2 ] ) - ); - */ - - } // fi - return( 1 ); -} - -#endif // __CPEXTENSIONS__VISUALIZATION__IMAGEINDEXESCONTAINERTOPOLYDATA__HXX__ - -// eof - $RCSfile$