00001 #ifndef WXPANELCUTTINGIMAGEDATA_H_ 00002 #define WXPANELCUTTINGIMAGEDATA_H_ 00003 00004 #include "vtkClipping3DDataViewer.h" 00005 00006 #include "figureCuttingCylinderModel.h" 00007 #include "figureCuttingCubeModel.h" 00008 #include "figureCuttingSphereModel.h" 00009 #include "figureCuttingModel.h" 00010 00011 #include "wxVtk3DBaseView.h" 00012 00013 #include "vtkXYPlotActor.h" 00014 #include "vtkCubeSource.h" 00015 #include "vtkCylinderSource.h" 00016 #include "vtkSphereSource.h" 00017 00018 #include "vtkPolyDataMapper.h" 00019 00020 class wxPanelCuttingImageData : public wxPanel 00021 { 00022 public: 00023 wxPanelCuttingImageData (wxWindow *parent); 00024 ~wxPanelCuttingImageData (); 00025 void OnTransform(wxScrollEvent& event); 00026 void OnOpacityFig(wxScrollEvent& event); 00027 void OnTypeFig(wxCommandEvent& event); 00028 void OnExtract(wxCommandEvent& event); 00029 void SetVtkMPRBaseData( vtkMPRBaseData *vtkmprbasedata ); 00030 void SetVtkClipping3DDataViewer( vtkClipping3DDataViewer *vtkclipping3Ddataviewer ); 00031 void SetWxVtk3DBaseView( wxVtk3DBaseView * wxvtk3Dbaseview ); 00032 00033 void SetParamsOfTransformation( ); 00034 void Configure(); 00035 void Refresh(); 00036 void RefreshView(); 00037 void RemoveActors(); 00038 00039 00040 private: 00041 wxSlider *_opacityFig; 00042 wxSlider *_scaleX; 00043 wxSlider *_scaleY; 00044 wxSlider *_scaleZ; 00045 wxSlider *_rotationX; 00046 wxSlider *_rotationY; 00047 wxSlider *_rotationZ; 00048 00049 wxRadioButton *_volIntern; 00050 wxRadioButton *_volExtern; 00051 wxCheckBox *_histogrammeAccumulated; 00052 wxSlider *_isoValue; 00053 wxSlider *_valueBeforeIsoValue; 00054 wxSlider *_valueAfterIsoValue; 00055 wxChoice *_typeFig; 00056 00057 wxStaticText *_infoToVo; 00058 wxStaticText *_infoSuVo; 00059 wxStaticText *_infoSuVoA; 00060 wxStaticText *_infoPixLe; 00061 wxStaticText *_infoPixHi; 00062 00063 // Model 00064 figureCuttingCylinderModel *_modelCylinder; 00065 figureCuttingCubeModel *_modelCube; 00066 figureCuttingSphereModel *_modelSphere; 00067 figureCuttingModel *_actualCuttingModel; 00068 00069 // view 00070 vtkCubeSource *_vtkcube; 00071 vtkSphereSource *_vtksphere; 00072 vtkCylinderSource *_vtkcylinder; 00073 vtkPolyDataMapper *_cubeMapper; 00074 vtkPolyDataMapper *_sphereMapper; 00075 vtkPolyDataMapper *_cylinderMapper; 00076 vtkActor *_cubeActor; 00077 vtkActor *_sphereActor; 00078 vtkActor *_cylinderActor; 00079 vtkActor *_actualActor; 00080 00081 00082 vtkMPRBaseData *_vtkmprbasedata; 00083 wxVtk3DBaseView *_wxvtk3Dbaseview; 00084 vtkImageData *_imageData; 00085 vtkClipping3DDataViewer *_vtkclipping3Ddataviewer; 00086 00087 vtkImageData *_histogrammeVector; 00088 vtkXYPlotActor *_xyplot; 00089 wxVtkBaseView *_wxvtkbaseView; 00090 vtkRenderer *_renplotter; 00091 00092 void CreateModel(); 00093 void CreateInterface(); 00094 void Create3DViewObjects(); 00095 void RefreshOpacity(); 00096 wxWindow *CreatePlotHistogrammeInterface(); 00097 void InitHistogramme(); 00098 00099 00100 protected: 00101 }; 00102 00103 #endif /*WXPANELCUTTINGIMAGEDATA_H_*/