X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FVTK%2FImage3DObserver.h;h=f9c123bece9f777fa3cb1d579125c57b1100f12d;hb=8fafb83c41ab35dfc25eb637170882a612924433;hp=860946d78794451d3bbae28d23d8b00128921794;hpb=9622bd5b833a8845881003228207e0caca59b081;p=FrontAlgorithms.git diff --git a/lib/fpa/VTK/Image3DObserver.h b/lib/fpa/VTK/Image3DObserver.h index 860946d..f9c123b 100644 --- a/lib/fpa/VTK/Image3DObserver.h +++ b/lib/fpa/VTK/Image3DObserver.h @@ -26,34 +26,23 @@ 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 typename TFilter::TInputImage TImage; + typedef typename TFilter::TVertex TVertex; + typedef typename TFilter::TVertexCompare TVertexCompare; + + typedef std::set< TVertex > TVertices; public: itkNewMacro( Self ); itkTypeMacro( Image3DObserver, itkCommand ); + itkGetConstMacro( RenderPercentage, double ); + itkSetMacro( RenderPercentage, double ); + public: - void SetImage( const TImage* img, R* rw ); + void SetRenderWindow( R* rw ); void Render( ); void Execute( itk::Object* c, const itk::EventObject& e ) { this->Execute( ( const itk::Object* )( c ), e ); } @@ -61,32 +50,32 @@ namespace fpa protected: Image3DObserver( ); - virtual ~Image3DObserver( ) - { } + virtual ~Image3DObserver( ); private: Image3DObserver( const Self& ); // Not impl. 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< vtkPolyData > m_PolyData; vtkSmartPointer< vtkPolyDataMapper > m_PolyDataMapper; - vtkSmartPointer< vtkActor > m_PolyDataActor; + vtkSmartPointer< vtkActor > m_PolyDataActor; + std::map< TVertex, unsigned long, TVertexCompare > m_PointsToReplace; + std::map< TVertex, unsigned long, TVertexCompare > m_PointsInFront; - TVertices m_Vertices; + R* m_RenderWindow; + unsigned long m_Count; + unsigned long m_RenderCount; + double m_RenderPercentage; }; } // ecapseman } // ecapseman +#ifndef ITK_MANUAL_INSTANTIATION #include +#endif // ITK_MANUAL_INSTANTIATION #endif // __FPA__VTK__IMAGE3DOBSERVER__H__