Added functionality for user payload data in mjSpec.

PiperOrigin-RevId: 738343134
Change-Id: I6217362ced9993afcd5a2914c78718ffe3bf753a
This commit is contained in:
Alessio Quaglino
2025-03-19 04:35:12 -07:00
committed by Copybara-Service
parent dc50fbbb9b
commit 209d2bd2c5
9 changed files with 184 additions and 2 deletions
+24
View File
@@ -769,6 +769,30 @@ mjsFrame* mjs_bodyToFrame(mjsBody** body) {
// set user payload
void mjs_setUserValue(mjsElement* element, const char* key, const void* data) {
mjCBase* baseC = static_cast<mjCBase*>(element);
baseC->SetUserValue(key, data);
}
// return user payload or NULL if none found
const void* mjs_getUserValue(mjsElement* element, const char* key) {
mjCBase* baseC = static_cast<mjCBase*>(element);
return baseC->GetUserValue(key);
}
// delete user payload
void mjs_deleteUserValue(mjsElement* element, const char* key) {
mjCBase* baseC = static_cast<mjCBase*>(element);
baseC->DeleteUserValue(key);
}
// get id
int mjs_getId(mjsElement* element) {
if (!element) {