Discard all keyframes when attaching models.
PiperOrigin-RevId: 649415647 Change-Id: Ie2defe248df7078684d987351985cb66bd754e5b
This commit is contained in:
committed by
Copybara-Service
parent
a0945e4b5a
commit
a5a3c9efc7
@@ -1072,6 +1072,14 @@ void mjCModel::DeleteAll<mjCTexture>(std::vector<mjCTexture*>& elements) {
|
|||||||
elements.clear();
|
elements.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
void mjCModel::DeleteAll<mjCKey>(std::vector<mjCKey*>& elements) {
|
||||||
|
for (mjCKey* element : elements) {
|
||||||
|
delete element;
|
||||||
|
}
|
||||||
|
elements.clear();
|
||||||
|
}
|
||||||
|
|
||||||
// set nuser fields
|
// set nuser fields
|
||||||
void mjCModel::SetNuser() {
|
void mjCModel::SetNuser() {
|
||||||
if (nuser_body == -1) {
|
if (nuser_body == -1) {
|
||||||
|
|||||||
@@ -860,6 +860,9 @@ mjCBody& mjCBody::operator+=(const mjCFrame& other) {
|
|||||||
// attach referencing elements
|
// attach referencing elements
|
||||||
*model += *other.model;
|
*model += *other.model;
|
||||||
|
|
||||||
|
// (b/350784262) delete keyframes
|
||||||
|
model->DeleteAll<mjCKey>(model->keys_);
|
||||||
|
|
||||||
// clear namespace and return body
|
// clear namespace and return body
|
||||||
other.model->prefix.clear();
|
other.model->prefix.clear();
|
||||||
other.model->suffix.clear();
|
other.model->suffix.clear();
|
||||||
@@ -1598,6 +1601,9 @@ mjCFrame& mjCFrame::operator+=(const mjCBody& other) {
|
|||||||
// attach referencing elements
|
// attach referencing elements
|
||||||
*model += *other.model;
|
*model += *other.model;
|
||||||
|
|
||||||
|
// (b/350784262) delete keyframes
|
||||||
|
model->DeleteAll<mjCKey>(model->keys_);
|
||||||
|
|
||||||
// clear suffixes and return
|
// clear suffixes and return
|
||||||
other.model->suffix.clear();
|
other.model->suffix.clear();
|
||||||
other.model->prefix.clear();
|
other.model->prefix.clear();
|
||||||
|
|||||||
Reference in New Issue
Block a user