1 #ifndef __IMAGEMPR__H__
2 #define __IMAGEMPR__H__
12 #include <vtkRenderer.h>
13 #include <vtkSmartPointer.h>
16 #include <cpPlugins/Interface/Interface.h>
17 #include <cpPlugins/Interface/ProcessObject.h>
18 #include <cpPlugins/Interface/Image.h>
19 #include <cpPlugins/Interface/DataObject.h>
20 #include <cpPlugins/Extensions/Visualization/MPRActors.h>
21 #include <cpPlugins/Extensions/Visualization/ImageInteractorStyle.h>
25 #include <vtkOrientationMarkerWidget.h>
28 #include "InteractorStyleImage.h"
29 #include "VolumeActors.h"
33 #include <itkImageToVTKImageFilter.h>
35 #include <cpm/DataStructures/QuadEdgeMesh.h>
37 #include <cpm/VTK/MeshMapper.h>
38 #include <cpm/Algorithms/QuadEdge/MeshPlaneCutterFilter.h>
41 // -------------------------------------------------------------------------
47 // -------------------------------------------------------------------------
57 typedef cpPlugins::Interface::Interface TPluginsInterface;
58 typedef cpPlugins::Interface::Object TPluginObject;
59 typedef cpPlugins::Interface::DataObject TPluginData;
60 typedef cpPlugins::Interface::Image TPluginImage;
61 typedef cpPlugins::Interface::ProcessObject TPlugin;
62 typedef TPlugin::TParameters TParameters;
64 typedef std::map< std::string, std::string > TStringMap;
65 typedef cpPlugins::Extensions::Visualization::MPRActors TMPRActors;
66 typedef cpPlugins::Extensions::Visualization::ImageInteractorStyle TStyle;
70 explicit ImageMPR( QWidget* parent = 0 );
74 void _triggered_actionOpenPlugins( );
75 void _triggered_actionOpenInputImage( );
81 TPluginsInterface m_Plugins;
83 // Needed object from plugins
84 TStringMap m_BaseClasses;
87 TPluginImage* m_InputImage;
89 // Visualization stuff
90 vtkSmartPointer< vtkRenderer > m_3DRenderer;
91 vtkSmartPointer< vtkRenderer > m_XPlaneRenderer;
92 vtkSmartPointer< vtkRenderer > m_YPlaneRenderer;
93 vtkSmartPointer< vtkRenderer > m_ZPlaneRenderer;
94 vtkSmartPointer< TMPRActors > m_MPRActors;
95 vtkSmartPointer< TStyle > m_XStyle;
96 vtkSmartPointer< TStyle > m_YStyle;
97 vtkSmartPointer< TStyle > m_ZStyle;
100 vtkSmartPointer< idms::VolumeActors > m_ImageActors;
101 vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;
105 TTriangulation::Pointer m_Mesh;
106 vtkSmartPointer< TTriangulationMapper > m_MeshMapper;
107 vtkSmartPointer< vtkActor > m_MeshActor;
108 TCutter::Pointer m_ZCutter;
112 #endif // __IMAGEMPR__H__