-#ifndef __FPA__VTK__IMAGE3DOBSERVER__H__
-#define __FPA__VTK__IMAGE3DOBSERVER__H__
-
-#include <map>
-
-#include <itkCommand.h>
-
-#include <vtkActor.h>
-#include <vtkPolyData.h>
-#include <vtkPolyDataMapper.h>
-#include <vtkSmartPointer.h>
-
-namespace fpa
-{
- namespace VTK
- {
- /**
- */
- template< class F, class R >
- class Image3DObserver
- : public itk::Command
- {
- public:
- typedef Image3DObserver Self;
- typedef itk::Command Superclass;
- 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 typename TFilter::TVertexCompare TVertexCompare;
-
- typedef std::set< TVertex > TVertices;
-
- public:
- itkNewMacro( Self );
- itkTypeMacro( Image3DObserver, itkCommand );
-
- itkGetConstMacro( RenderPercentage, double );
- itkSetMacro( RenderPercentage, double );
-
- public:
- void SetRenderWindow( R* rw );
- void Render( );
- void Execute( itk::Object* c, const itk::EventObject& e ) ITK_OVERRIDE
- { this->Execute( ( const itk::Object* )( c ), e ); }
- void Execute( const itk::Object* c, const itk::EventObject& e ) ITK_OVERRIDE;
-
- protected:
- Image3DObserver( );
- virtual ~Image3DObserver( );
-
- private:
- Image3DObserver( const Self& ); // Not impl.
- void operator=( const Self& ); // Not impl.
-
- protected:
- vtkSmartPointer< vtkPolyData > m_PolyData;
- vtkSmartPointer< vtkPolyDataMapper > m_PolyDataMapper;
- vtkSmartPointer< vtkActor > m_PolyDataActor;
- std::map< TVertex, unsigned long, TVertexCompare > m_PointsToReplace;
- std::map< TVertex, unsigned long, TVertexCompare > m_PointsInFront;
-
- R* m_RenderWindow;
- unsigned long m_Count;
- unsigned long m_RenderCount;
- double m_RenderPercentage;
- };
-
- } // ecapseman
-
-} // ecapseman
-
-#ifndef ITK_MANUAL_INSTANTIATION
-#include <fpa/VTK/Image3DObserver.hxx>
-#endif // ITK_MANUAL_INSTANTIATION
-
-#endif // __FPA__VTK__IMAGE3DOBSERVER__H__
-
-// eof - $RCSfile$