#ifndef __CPEXTENSIONS__VISUALIZATION__MPROBJECTS__H__ #define __CPEXTENSIONS__VISUALIZATION__MPROBJECTS__H__ #include #include #include #include #include #include namespace cpExtensions { namespace Visualization { /** */ class cpExtensions_EXPORT MPRObjects : public vtkObject { public: typedef MPRObjects Self; typedef cpExtensions::Visualization::MPRActors TMPRActors; typedef cpExtensions::Visualization::ImageInteractorStyle TStyle; public: vtkTypeMacro( MPRObjects, vtkObject ); public: // Creation static MPRObjects* New( ); void SetRenderWindows( vtkRenderWindow* wx, vtkRenderWindow* wy, vtkRenderWindow* wz, vtkRenderWindow* w3D ); void SetImage( vtkImageData* image ); void AddAuxiliaryImage( vtkImageData* image ); void ActivateInteractors( ); void ResetCamera( const int& id ); void ResetCameras( ); void Render( const int& id ); void RenderAll( ); vtkRenderer* GetXRenderer( ); vtkRenderer* GetYRenderer( ); vtkRenderer* GetZRenderer( ); vtkRenderer* Get3DRenderer( ); const vtkRenderer* GetXRenderer( ) const; const vtkRenderer* GetYRenderer( ) const; const vtkRenderer* GetZRenderer( ) const; const vtkRenderer* Get3DRenderer( ) const; TMPRActors* GetMPRActors( ); const TMPRActors* GetMPRActors( ) const; protected: MPRObjects( ); virtual ~MPRObjects( ); private: // Purposely not implemented MPRObjects( const Self& ); Self& operator=( const Self& ); protected: // Inputs vtkSmartPointer< vtkRenderWindow > m_Windows[ 4 ]; // Internal pipelines vtkSmartPointer< TMPRActors > m_MPRActors; vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ]; vtkSmartPointer< TStyle > m_Styles[ 3 ]; }; } // ecapseman } // ecapseman #endif // __CPEXTENSIONS__VISUALIZATION__MPROBJECTS__H__ // eof - $RCSfile$