00001 /*========================================================================= 00002 00003 Program: wxMaracas 00004 Module: $RCSfile: wxManualRegistration3D.h,v $ 00005 Language: C++ 00006 Date: $Date: 2009/05/14 13:54:57 $ 00007 Version: $Revision: 1.1 $ 00008 00009 Copyright: (c) 2002, 2003 00010 License: 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notice for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef __WX__MANUAL__REGISTRATION__3D__HXX__ 00019 #define __WX__MANUAL__REGISTRATION__3D__HXX__ 00020 00021 /* 00022 #include <vector> 00023 00024 #include <vtkObjectBase.h> 00025 #include <vtkCommand.h> 00026 #include <vtkActor.h> 00027 #include <vtkPoints.h> 00028 #include <vtkPolyData.h> 00029 #include <vtkPolyDataMapper.h> 00030 #include <vtkProbeFilter.h> 00031 #include <vtkPlaneSource.h> 00032 #include <vtkImageChangeInformation.h> 00033 #include <vtkStructuredPoints.h> 00034 #include <vtkTransform.h> 00035 #include <vtkImageViewer2.h> 00036 #include <vtkBoxWidget.h> 00037 */ 00038 00039 /* 00040 #include "kernel/marInterface.h" 00041 00042 #include "wxMPRBaseData.h" 00043 #include "wxVtkBaseView.h" 00044 */ 00045 00046 #include <vtkImageData.h> 00047 00048 #include "wxMPRWidget.h" 00049 00050 #include <wx/panel.h> 00051 #include <wx/notebook.h> 00052 00053 00054 //------------------------------------------------------------------ 00055 //------------------------------------------------------------------ 00056 //------------------------------------------------------------------ 00057 00058 00059 class wxManualRegistration3D : public wxPanel 00060 { 00061 public: 00062 wxManualRegistration3D(wxWindow* parent,marImageData *marimageData); 00063 ~wxManualRegistration3D( ); 00064 00065 void ConfigureVTK(); 00066 void ConfigureVTK_B(); 00067 00068 void RefreshView(); 00069 void OnRefreshView(wxCommandEvent & event); 00070 void OnPositionRotation(wxScrollEvent& event); 00071 00072 void AddPanelControl_B( wxWindow *parent, marImageData *marimagedata); 00073 void AddSecondVolume(marImageData *marimagedata); 00074 bool GetIfSecondVolumeExist(); 00075 void OnTracking(wxCommandEvent& event); 00076 00077 void OnCutImagaData(wxCommandEvent &event); 00078 00079 private: 00080 00081 vtkMPRBaseData *_vtkmprbasedata_A; 00082 00083 vtkTransform *_transform; 00084 vtkTransform *_transformBak; 00085 00086 wxPanelCuttingImageData *_panelCutting; 00087 wxCheckBox *_btnCutImageData; 00088 wxFrame *_framePanelCutting; 00089 00090 double xBak; 00091 double yBak; 00092 double zBak; 00093 wxSlider *_posX; 00094 wxSlider *_posY; 00095 wxSlider *_posZ; 00096 wxSlider *_scaleX; 00097 wxSlider *_scaleY; 00098 wxSlider *_scaleZ; 00099 wxSlider *_angAlfa; 00100 wxSlider *_angBeta; 00101 wxSlider *_angGama; 00102 wxCheckBox *_btnTrack; 00103 wxPanel *_panelControl_B; 00104 marImageData *_marimageData; 00105 // vtkImageData *_imageData_B; 00106 wxVtk3DBaseView *_wxvtk3Dbaseview_Clipping3D; 00107 wxVtkMPR3DView *_wxvtkmpr3Dview_A; 00108 wxVtkClipping3DView *_wxvtkclipping3Dview_A; 00109 wxVtkMPR3DView *_wxvtkmpr3Dview_B; 00110 wxVtkClipping3DView *_wxvtkclipping3Dview_B; 00111 00112 wxPanel* Create3DView( wxWindow *parent, vtkMPRBaseData *vtkmprbasedata); 00113 wxPanel* CreateRegistration3DControl( wxWindow *parent, vtkMPRBaseData *vtkmprbasedata); 00114 00115 DECLARE_EVENT_TABLE( ); 00116 }; 00117 00118 00119 00120 #endif // __WX__MANUAL__REGISTRATION__3D__HXX__ 00121 00122 // EOF - wxManualRegistration3D.h