@@ -118,9 +118,23 @@ namespace scone
118
118
QDialog dlg ( parent );
119
119
Ui::ConvertScenario ui;
120
120
ui.setupUi ( &dlg );
121
- ui.outputModel ->init ( QFileEdit::SaveFile, " *.hfd" , to_qt ( scenario.GetModel ().GetModelFile ().replace_extension ( " hfd" ) ) );
122
- ui.outputScenario ->init ( QFileEdit::SaveFile, " *.scone" , to_qt ( path ( scenario.GetScenarioPath () ).concat_stem ( " _hfd" ) ) );
123
- ui.usePinJoints ->setChecked ( mc.use_pint_joints_ );
121
+
122
+ bool is_hfd = scenario.GetModel ().GetModelFile ().extension_no_dot () == " hfd" ;
123
+ if ( is_hfd ) {
124
+ ui.outputModel ->init ( QFileEdit::SaveFile, " *.hfd" , to_qt ( scenario.GetModel ().GetModelFile ().concat_stem ( " _convert" ) ) );
125
+ ui.outputScenario ->init ( QFileEdit::SaveFile, " *.scone" , to_qt ( path ( scenario.GetScenarioPath () ).concat_stem ( " _convert" ) ) );
126
+ ui.convertScenario ->setChecked ( false );
127
+ mc.use_body_mass_threshold_ = false ;
128
+ mc.compound_welded_bodies = false ;
129
+ } else {
130
+ ui.outputModel ->init ( QFileEdit::SaveFile, " *.hfd" , to_qt ( scenario.GetModel ().GetModelFile ().replace_extension ( " hfd" ) ) );
131
+ ui.outputScenario ->init ( QFileEdit::SaveFile, " *.scone" , to_qt ( path ( scenario.GetScenarioPath () ).concat_stem ( " _hfd" ) ) );
132
+ }
133
+
134
+ // set mc settings in ui
135
+ ui.useBodyMassThreshold ->setChecked ( mc.use_body_mass_threshold_ );
136
+ ui.compoundBodies ->setChecked ( mc.compound_welded_bodies );
137
+ ui.usePinJoints ->setChecked ( mc.use_pin_joints_ );
124
138
ui.keepOrigin ->setChecked ( mc.keep_body_origin_ );
125
139
126
140
if ( QDialog::Accepted == dlg.exec () ) {
@@ -132,7 +146,7 @@ namespace scone
132
146
mc.use_limits_from_dof_range_ = ui.useCoordinateRange ->isChecked ();
133
147
mc.compound_welded_bodies = ui.compoundBodies ->isChecked ();
134
148
mc.compound_mass_threshold = ui.compoundMassThreshold ->value ();
135
- mc.use_pint_joints_ = ui.usePinJoints ->isChecked ();
149
+ mc.use_pin_joints_ = ui.usePinJoints ->isChecked ();
136
150
mc.keep_body_origin_ = ui.keepOrigin ->isChecked ();
137
151
138
152
auto & model = scenario.GetModel ();
0 commit comments