X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2Ffpa%2FVTK%2FImage3DObserver.h;h=344ede4bf0d599058456f2ffae4bd97a5cfacdfe;hb=52c34a2aded47a2a3ce068887d9e4eeaf671568b;hp=860946d78794451d3bbae28d23d8b00128921794;hpb=9622bd5b833a8845881003228207e0caca59b081;p=FrontAlgorithms.git diff --git a/lib/fpa/VTK/Image3DObserver.h b/lib/fpa/VTK/Image3DObserver.h index 860946d..344ede4 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,20 @@ 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 ); + itkGetConstMacro( RenderPercentage, double ); + itkSetMacro( RenderPercentage, double ); + 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 +55,15 @@ 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; - - TVertices m_Vertices; + unsigned long m_Count; + unsigned long m_RenderCount; + double m_RenderPercentage; + + TMarks::Pointer m_Marks; + vtkSmartPointer< vtkPolyData > m_Data; + vtkSmartPointer< vtkPolyDataMapper > m_Mapper; + vtkSmartPointer< vtkActor > m_Actor; }; } // ecapseman