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 ); }
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 <fpa/VTK/Image3DObserver.hxx>
+#endif // ITK_MANUAL_INSTANTIATION
#endif // __FPA__VTK__IMAGE3DOBSERVER__H__