#include <map>
#include <itkCommand.h>
+#include <itkImage.h>
#include <vtkActor.h>
#include <vtkPolyData.h>
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 );
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