#ifdef cpExtensions_QT4
-#include <map>
-#include <string>
-
#include <QWidget>
+#include <cpExtensions/Visualization/ImageSliceActors.h>
+#include <vtkRenderer.h>
#include <vtkSmartPointer.h>
-#include <vtkImageData.h>
-#include <vtkPolyDataMapper.h>
-#include <vtkPolyDataNormals.h>
-#include <vtkQuadricLODActor.h>
-#include <vtkStripper.h>
-#include <cpExtensions/Visualization/MPRObjects.h>
+/*
+ #include <map>
+ #include <string>
+ #include <vtkSmartPointer.h>
+ #include <vtkImageData.h>
+ #include <vtkPolyDataMapper.h>
+ #include <vtkPolyDataNormals.h>
+ #include <vtkQuadricLODActor.h>
+ #include <vtkStripper.h>
+ #include <cpExtensions/Visualization/MPRObjects.h>
+*/
// -------------------------------------------------------------------------
-class QTreeWidgetItem;
+// TODO: class QTreeWidgetItem;
class QVTKWidget;
namespace Ui
public:
typedef SimpleMPRWidget Self;
- typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
- typedef TMPRObjects::TStyle TStyle;
- typedef TMPRObjects::TMouseCommand TMouseCommand;
- typedef TMPRObjects::TMouseWheelCommand TMouseWheelCommand;
- typedef TMPRObjects::TKeyCommand TKeyCommand;
- typedef TMPRObjects::TVoidCommand TVoidCommand;
- typedef TMPRObjects::TMouseMoveCommand TMouseMoveCommand;
- typedef TMPRObjects::TMouseClickCommand TMouseClickCommand;
- typedef TMPRObjects::TMouseDoubleClickCommand TMouseDoubleClickCommand;
- typedef TMPRObjects::TExposeCommand TExposeCommand;
- typedef TMPRObjects::TConfigureCommand TConfigureCommand;
- typedef TMPRObjects::TEnterCommand TEnterCommand;
- typedef TMPRObjects::TLeaveCommand TLeaveCommand;
+ typedef cpExtensions::Visualization::ImageSliceActors TActors;
+ /* TODO
+ typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
+ typedef TMPRObjects::TStyle TStyle;
+ typedef TMPRObjects::TMouseCommand TMouseCommand;
+ typedef TMPRObjects::TMouseWheelCommand TMouseWheelCommand;
+ typedef TMPRObjects::TKeyCommand TKeyCommand;
+ typedef TMPRObjects::TVoidCommand TVoidCommand;
+ typedef TMPRObjects::TMouseMoveCommand TMouseMoveCommand;
+ typedef TMPRObjects::TMouseClickCommand TMouseClickCommand;
+ typedef TMPRObjects::TMouseDoubleClickCommand TMouseDoubleClickCommand;
+ typedef TMPRObjects::TExposeCommand TExposeCommand;
+ typedef TMPRObjects::TConfigureCommand TConfigureCommand;
+ typedef TMPRObjects::TEnterCommand TEnterCommand;
+ typedef TMPRObjects::TLeaveCommand TLeaveCommand;
+ */
public:
explicit SimpleMPRWidget( QWidget* parent = 0 );
virtual ~SimpleMPRWidget( );
// Data management
- unsigned int GetNumberOfData( ) const;
- bool AddData(
- vtkImageData* data, const std::string& name,
- const std::string& parent
- );
- bool AddData(
- vtkPolyData* data, const std::string& name
- );
- const std::string& GetMainImage( ) const;
- bool SetMainImage( const std::string& name );
- void DeleteData( const std::string& name );
- void DeleteAllData( );
-
- // Some qt accessors
- void SetDataColor(
- const std::string& name,
- const double& r, const double& g, const double& b
- );
- void ShowData( const std::string& name );
- void HideData( const std::string& name );
- void SetWindowLevel( const double& w, const double& l );
- double GetWindow( ) const;
- double GetLevel( ) const;
-
- vtkRenderWindowInteractor* GetInteractor( unsigned int i );
-
- // Visual objects accessors
- std::string GetSelectedData( ) const;
-
+ void SetMainImage( vtkImageData* image );
+
+ /* TODO
+ unsigned int GetNumberOfData( ) const;
+ bool AddData(
+ vtkImageData* data, const std::string& name,
+ const std::string& parent
+ );
+ bool AddData(
+ vtkPolyData* data, const std::string& name
+ );
+ const std::string& GetMainImage( ) const;
+ bool SetMainImage( const std::string& name );
+ void DeleteData( const std::string& name );
+ void DeleteAllData( );
+
+ // Some qt accessors
+ void SetDataColor(
+ const std::string& name,
+ const double& r, const double& g, const double& b
+ );
+ void ShowData( const std::string& name );
+ void HideData( const std::string& name );
+ void SetWindowLevel( const double& w, const double& l );
+ double GetWindow( ) const;
+ double GetLevel( ) const;
+
+ vtkRenderWindowInteractor* GetInteractor( unsigned int i );
+
+ // Visual objects accessors
+ std::string GetSelectedData( ) const;
+ vtkProp* GetProp( const std::string& name );
+ */
+
private slots:
void _SyncBottom( int a, int b );
void _SyncTop( int a, int b );
protected:
- static double cm_Colors[ 8 ][ 3 ];
-
- Ui::SimpleMPRWidget* m_UI;
- vtkSmartPointer< TMPRObjects > m_MPRObjects;
- QVTKWidget* m_VTK[ 4 ];
-
- struct PolyDataActor
- {
- vtkPolyData* Mesh;
- vtkPolyDataNormals* Normals;
- vtkStripper* Stripper;
- vtkPolyDataMapper* Mapper;
- vtkQuadricLODActor* Actor;
-
- PolyDataActor( );
- virtual ~PolyDataActor( );
- void Configure( vtkPolyData* pd );
- };
-
- struct Data
- {
- enum { IMAGE, MESH } Tag;
- vtkImageData* Image;
- PolyDataActor Mesh;
-
- Data( );
- virtual ~Data( );
-
- Data& operator=( const Data& data );
-
- void SetImageData( vtkImageData* data );
- void SetPolyData( vtkPolyData* data );
-
- vtkImageData* GetImage( );
- vtkPolyData* GetMesh( );
- vtkProp* GetMeshActor( );
- };
-
- std::string m_MainImage;
- std::map< std::string, Data > m_Data;
- std::map< std::string, std::string > m_Tree;
+ Ui::SimpleMPRWidget* m_UI;
+ QVTKWidget* m_VTK[ 4 ];
+
+ vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ];
+ vtkSmartPointer< TActors > m_2DSlices[ 3 ];
+ vtkSmartPointer< TActors > m_3DSlices[ 3 ];
+
+ /* TODO
+ static double cm_Colors[ 8 ][ 3 ];
+ vtkSmartPointer< TMPRObjects > m_MPRObjects;
+ struct PolyDataActor
+ {
+ vtkPolyData* Mesh;
+ vtkPolyDataNormals* Normals;
+ vtkStripper* Stripper;
+ vtkPolyDataMapper* Mapper;
+ vtkQuadricLODActor* Actor;
+
+ PolyDataActor( );
+ virtual ~PolyDataActor( );
+ void Configure( vtkPolyData* pd );
+ };
+
+ struct Data
+ {
+ enum { IMAGE, MESH } Tag;
+ vtkImageData* Image;
+ PolyDataActor Mesh;
+ Data( );
+ virtual ~Data( );
+ Data& operator=( const Data& data );
+ void SetImageData( vtkImageData* data );
+ void SetPolyData( vtkPolyData* data );
+ vtkImageData* GetImage( );
+ vtkPolyData* GetMesh( );
+ vtkProp* GetMeshActor( );
+ };
+ std::string m_MainImage;
+ std::map< std::string, Data > m_Data;
+ std::map< std::string, std::string > m_Tree;
+ */
};
} // ecapseman