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();
|
||||
}
|
||||
|
||||
template <>
|
||||
void mjCModel::DeleteAll<mjCKey>(std::vector<mjCKey*>& elements) {
|
||||
for (mjCKey* element : elements) {
|
||||
delete element;
|
||||
}
|
||||
elements.clear();
|
||||
}
|
||||
|
||||
// set nuser fields
|
||||
void mjCModel::SetNuser() {
|
||||
if (nuser_body == -1) {
|
||||
|
||||
@@ -860,6 +860,9 @@ mjCBody& mjCBody::operator+=(const mjCFrame& other) {
|
||||
// attach referencing elements
|
||||
*model += *other.model;
|
||||
|
||||
// (b/350784262) delete keyframes
|
||||
model->DeleteAll<mjCKey>(model->keys_);
|
||||
|
||||
// clear namespace and return body
|
||||
other.model->prefix.clear();
|
||||
other.model->suffix.clear();
|
||||
@@ -1598,6 +1601,9 @@ mjCFrame& mjCFrame::operator+=(const mjCBody& other) {
|
||||
// attach referencing elements
|
||||
*model += *other.model;
|
||||
|
||||
// (b/350784262) delete keyframes
|
||||
model->DeleteAll<mjCKey>(model->keys_);
|
||||
|
||||
// clear suffixes and return
|
||||
other.model->suffix.clear();
|
||||
other.model->prefix.clear();
|
||||
|
||||
Reference in New Issue
Block a user