Skip to content

Commit bf6ee43

Browse files
committed
U: model conversion uses different settings for hfd models
1 parent c1fa6fb commit bf6ee43

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

src/sconestudio/model_conversion.cpp

+18-4
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,23 @@ namespace scone
118118
QDialog dlg( parent );
119119
Ui::ConvertScenario ui;
120120
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_ );
124138
ui.keepOrigin->setChecked( mc.keep_body_origin_ );
125139

126140
if ( QDialog::Accepted == dlg.exec() ) {
@@ -132,7 +146,7 @@ namespace scone
132146
mc.use_limits_from_dof_range_ = ui.useCoordinateRange->isChecked();
133147
mc.compound_welded_bodies = ui.compoundBodies->isChecked();
134148
mc.compound_mass_threshold = ui.compoundMassThreshold->value();
135-
mc.use_pint_joints_ = ui.usePinJoints->isChecked();
149+
mc.use_pin_joints_ = ui.usePinJoints->isChecked();
136150
mc.keep_body_origin_ = ui.keepOrigin->isChecked();
137151

138152
auto& model = scenario.GetModel();

0 commit comments

Comments
 (0)