+void wxMaracasIRMView::changeIsoValue(int propid, double value){
+ irmmanager->changeIsoValue(propid, value);
+}
+
+void wxMaracasIRMView::changeColor(int propid, double red, double green, double blue){
+ try{
+ irmmanager->changeColor(propid, red, green, blue);
+
+ }catch(char* str){
+
+ wxString s( str,wxConvUTF8 );
+ wxMessageDialog* diag = new wxMessageDialog(this, s, s, wxICON_ERROR);
+ diag->ShowModal();
+ delete diag;
+
+ }
+}
+
+void wxMaracasIRMView::onLoadImageFile(){
+
+ wxString mhd(_T("mhd"));
+ wxString stl(_T("stl"));
+
+ wxFileDialog* fildial = new wxFileDialog(this, wxString(_T("Select a STL file")),wxString(_T("")),
+ wxString(_T("")),wxString(_T("STL files (*.stl)|*.stl|MHD files (*.mhd)|*.mhd")) );
+
+ if(fildial->ShowModal()==wxID_OK){
+ wxString filename = fildial->GetFilename();
+ wxString pathfile(fildial->GetDirectory() + _T("/") + filename);
+
+
+ if(filename.EndsWith(mhd)){
+ loadPropMHD(pathfile,filename);
+ }else if(filename.EndsWith(stl)){
+ loadProp3D(pathfile,filename);
+ }
+ }
+ delete fildial;
+
+}
+void wxMaracasIRMView::loadPropMHD(wxString filename, wxString dataname){
+
+ std::string s = std::string(filename.mb_str());
+ vtkImageData* img = irmmanager->getImageData(s);
+ if(img!=NULL){
+ s = std::string(dataname.mb_str());
+ addPropMHD(img, s);
+ }
+
+
+
+}
+
+void wxMaracasIRMView::addPropMHD(vtkImageData* imgdata, std::string dataname){
+ try{
+ int id = irmmanager->addPropMHD(imgdata,dataname);
+ if(id!=-1){
+
+ wxMaracasIRMViewPanel* controlpan = new wxMaracasIRMViewProp3DMHD(this, id);
+ int maxiso = irmmanager->getMaxIsoValue(id);
+ ((wxMaracasIRMViewProp3DMHD*)controlpan)->createControls(maxiso);
+ addIRMViewPanel(controlpan, dataname);
+ }
+
+ }catch(char* str){
+
+ std::cout << "Exception : " << str << '\n';
+ wxMessageDialog* diag = new wxMessageDialog(this, wxString( str,wxConvUTF8 ), wxString( str,wxConvUTF8 ), wxICON_ERROR);
+ diag->ShowModal();