Dynamic model editing.
PiperOrigin-RevId: 640838852 Change-Id: I559b1d60f2a3a2d866788d4006be31757454c619
This commit is contained in:
committed by
Copybara-Service
parent
40755e165d
commit
ba8a2d4c8a
@@ -1093,7 +1093,7 @@ static void mj_setPtrData(const mjModel* m, mjData* d) {
|
||||
|
||||
|
||||
// initialize plugins, copy into d (required for deletion)
|
||||
static void _initPlugin(const mjModel* m, mjData* d) {
|
||||
void mj_initPlugin(const mjModel* m, mjData* d) {
|
||||
d->nplugin = m->nplugin;
|
||||
for (int i = 0; i < m->nplugin; ++i) {
|
||||
d->plugin[i] = m->plugin[i];
|
||||
@@ -1203,7 +1203,7 @@ mjData* mj_makeData(const mjModel* m) {
|
||||
mjData* d = NULL;
|
||||
mj_makeRawData(&d, m);
|
||||
if (d) {
|
||||
_initPlugin(m, d);
|
||||
mj_initPlugin(m, d);
|
||||
mj_resetData(m, d);
|
||||
}
|
||||
return d;
|
||||
@@ -1219,7 +1219,7 @@ mjData* mj_copyData(mjData* dest, const mjModel* m, const mjData* src) {
|
||||
// allocate new data if needed
|
||||
if (!dest) {
|
||||
mj_makeRawData(&dest, m);
|
||||
_initPlugin(m, dest);
|
||||
mj_initPlugin(m, dest);
|
||||
}
|
||||
|
||||
// check sizes
|
||||
|
||||
@@ -110,6 +110,9 @@ MJAPI void mj_resetDataKeyframe(const mjModel* m, mjData* d, int key);
|
||||
// mjData arena allocate
|
||||
MJAPI void* mj_arenaAllocByte(mjData* d, size_t bytes, size_t alignment);
|
||||
|
||||
// init plugins
|
||||
MJAPI void mj_initPlugin(const mjModel* m, mjData* d);
|
||||
|
||||
#ifndef ADDRESS_SANITIZER
|
||||
|
||||
// mjData mark stack frame
|
||||
|
||||
Reference in New Issue
Block a user