@@ -1009,35 +1009,41 @@ mjCBody& mjCBody::operator-=(const mjCBody& subtree) {
1009
1009
// set model of this body and its subtree
1010
1010
void mjCBody::SetModel (mjCModel* _model) {
1011
1011
model = _model;
1012
- mjSpec* origin = model ->FindSpec (mjs_getString (model-> spec . modelname ) );
1012
+ mjSpec* origin = _model ->FindSpec (compiler );
1013
1013
compiler = origin ? &origin->compiler : &model->spec .compiler ;
1014
1014
1015
1015
for (auto & body : bodies) {
1016
1016
body->SetModel (_model);
1017
1017
}
1018
1018
for (auto & frame : frames) {
1019
+ origin = _model->FindSpec (frame->compiler );
1019
1020
frame->model = _model;
1020
- frame->compiler = compiler;
1021
+ frame->compiler = origin ? &origin-> compiler : &model-> spec . compiler ;
1021
1022
}
1022
1023
for (auto & geom : geoms) {
1024
+ origin = _model->FindSpec (geom->compiler );
1023
1025
geom->model = _model;
1024
- geom->compiler = compiler;
1026
+ geom->compiler = origin ? &origin-> compiler : &model-> spec . compiler ;
1025
1027
}
1026
1028
for (auto & joint : joints) {
1029
+ origin = _model->FindSpec (joint->compiler );
1027
1030
joint->model = _model;
1028
- joint->compiler = compiler;
1031
+ joint->compiler = origin ? &origin-> compiler : &model-> spec . compiler ;
1029
1032
}
1030
1033
for (auto & site : sites) {
1034
+ origin = _model->FindSpec (site->compiler );
1031
1035
site->model = _model;
1032
- site->compiler = compiler;
1036
+ site->compiler = origin ? &origin-> compiler : &model-> spec . compiler ;
1033
1037
}
1034
1038
for (auto & camera : cameras) {
1039
+ origin = _model->FindSpec (camera->compiler );
1035
1040
camera->model = _model;
1036
- camera->compiler = compiler;
1041
+ camera->compiler = origin ? &origin-> compiler : &model-> spec . compiler ;
1037
1042
}
1038
1043
for (auto & light : lights) {
1044
+ origin = _model->FindSpec (light->compiler );
1039
1045
light->model = _model;
1040
- light->compiler = compiler;
1046
+ light->compiler = origin ? &origin-> compiler : &model-> spec . compiler ;
1041
1047
}
1042
1048
}
1043
1049
0 commit comments