X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=lib%2Ffpa%2FVTK%2FImage3DObserver.h;fp=lib%2Ffpa%2FVTK%2FImage3DObserver.h;h=4e7a43082a48c19bcd4a7043e792234a85a8e79a;hb=818377732bc3fd1b02ca56bc78c225345a5fac27;hp=860946d78794451d3bbae28d23d8b00128921794;hpb=6a09951b1fc0a975f2cbf3263c1396fb153aedf2;p=FrontAlgorithms.git diff --git a/lib/fpa/VTK/Image3DObserver.h b/lib/fpa/VTK/Image3DObserver.h index 860946d..4e7a430 100644 --- a/lib/fpa/VTK/Image3DObserver.h +++ b/lib/fpa/VTK/Image3DObserver.h @@ -4,6 +4,7 @@ #include #include +#include #include #include @@ -26,35 +27,17 @@ namespace fpa typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; - typedef F TFilter; - typedef R TRenderWindow; - typedef typename TFilter::TInputImage TImage; - typedef typename TFilter::TVertex TVertex; - - typedef std::pair< unsigned long, unsigned long > TVertexIds; - - struct TVertexCmp - { - bool operator()( const TVertex& a, const TVertex& b ) const - { - unsigned int d = 0; - while( d < TVertex::Dimension && a[ d ] == b[ d ] ) - d++; - if( d < TVertex::Dimension ) - return( a[ d ] < b[ d ] ); - else - return( false ); - } - }; - typedef std::map< TVertex, TVertexIds, TVertexCmp > TVertices; + typedef F TFilter; + typedef R TRenderWindow; + + typedef itk::Image< long, 3 > TMarks; public: itkNewMacro( Self ); itkTypeMacro( Image3DObserver, itkCommand ); public: - void SetImage( const TImage* img, R* rw ); - void Render( ); + void SetRenderWindow( R* rw ); void Execute( itk::Object* c, const itk::EventObject& e ) { this->Execute( ( const itk::Object* )( c ), e ); } void Execute( const itk::Object* c, const itk::EventObject& e ); @@ -69,17 +52,14 @@ namespace fpa void operator=( const Self& ); // Not impl. protected: - typename TImage::ConstPointer m_Image; - R* m_RenderWindow; - unsigned long m_Number; - unsigned long m_Percentage; - - vtkSmartPointer< vtkPolyData > m_PolyData; - vtkSmartPointer< vtkPolyDataMapper > m_PolyDataMapper; - vtkSmartPointer< vtkActor > m_PolyDataActor; + unsigned long m_Count; + unsigned long m_RenderCount; - TVertices m_Vertices; + TMarks::Pointer m_Marks; + vtkSmartPointer< vtkPolyData > m_Data; + vtkSmartPointer< vtkPolyDataMapper > m_Mapper; + vtkSmartPointer< vtkActor > m_Actor; }; } // ecapseman