Replace mjs_detachBody and mjs_detachDefault with mjs_detach.
In a follow-up, mjs_detach will be changed to only remove without deleting an element. PiperOrigin-RevId: 773637351 Change-Id: I9ee4d3584ba88ccc225591337cf036bab806e25c
This commit is contained in:
committed by
Copybara-Service
parent
4ce6293217
commit
0488d9f4eb
@@ -3783,23 +3783,14 @@ Attachment
|
||||
|
||||
Attach child to a parent, return the attached element if success or NULL otherwise.
|
||||
|
||||
.. _mjs_detachBody:
|
||||
.. _mjs_detach:
|
||||
|
||||
`mjs_detachBody <#mjs_detachBody>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
`mjs_detach <#mjs_detach>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. mujoco-include:: mjs_detachBody
|
||||
.. mujoco-include:: mjs_detach
|
||||
|
||||
Delete body and descendants from mjSpec, remove all references, return 0 on success.
|
||||
|
||||
.. _mjs_detachDefault:
|
||||
|
||||
`mjs_detachDefault <#mjs_detachDefault>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. mujoco-include:: mjs_detachDefault
|
||||
|
||||
Delete default class and descendants from mjSpec, remove all references, return 0 on success.
|
||||
Detach but not delete object corresponding to the given element, return 0 on success.
|
||||
|
||||
.. _AddTreeElements:
|
||||
|
||||
|
||||
@@ -5,6 +5,13 @@ Changelog
|
||||
Upcoming version (not yet released)
|
||||
-----------------------------------
|
||||
|
||||
.. admonition:: Breaking API changes
|
||||
:class: attention
|
||||
|
||||
- The functions ``mjs_detachBody`` and ``mjs_detachDefault`` have been replaced by :ref:`mjs_delete`. Additionally,
|
||||
`:ref:mjs_detach` was added in order to remove an element from the spec without deleting it.
|
||||
- The Python functions ``element.delete`` have been replaced by ``spec.delete(element)``.
|
||||
|
||||
Bug fixes
|
||||
^^^^^^^^^
|
||||
- Inverse dynamics were not being computed correctly when :ref:`tendon armature<tendon-spatial-armature>` was present,
|
||||
|
||||
@@ -3410,8 +3410,7 @@ void mju_defaultTask(mjTask* task);
|
||||
void mju_taskJoin(mjTask* task);
|
||||
mjsElement* mjs_attach(mjsElement* parent, const mjsElement* child,
|
||||
const char* prefix, const char* suffix);
|
||||
int mjs_detachBody(mjSpec* s, mjsBody* b);
|
||||
int mjs_detachDefault(mjSpec* s, mjsDefault* d);
|
||||
int mjs_detach(mjSpec* spec, mjsElement* element);
|
||||
mjsBody* mjs_addBody(mjsBody* body, const mjsDefault* def);
|
||||
mjsSite* mjs_addSite(mjsBody* body, const mjsDefault* def);
|
||||
mjsJoint* mjs_addJoint(mjsBody* body, const mjsDefault* def);
|
||||
@@ -3420,7 +3419,7 @@ mjsGeom* mjs_addGeom(mjsBody* body, const mjsDefault* def);
|
||||
mjsCamera* mjs_addCamera(mjsBody* body, const mjsDefault* def);
|
||||
mjsLight* mjs_addLight(mjsBody* body, const mjsDefault* def);
|
||||
mjsFrame* mjs_addFrame(mjsBody* body, mjsFrame* parentframe);
|
||||
int mjs_delete(mjsElement* element);
|
||||
int mjs_delete(mjSpec* spec, mjsElement* element);
|
||||
mjsActuator* mjs_addActuator(mjSpec* s, const mjsDefault* def);
|
||||
mjsSensor* mjs_addSensor(mjSpec* s);
|
||||
mjsFlex* mjs_addFlex(mjSpec* s);
|
||||
|
||||
+1
-1
@@ -607,7 +607,7 @@ For elements that can have children (bodies and defaults), the methods ``spec.de
|
||||
``spec.detach_default(def)`` remove, respectively, ``body`` and ``def`` from the spec, together with all of their
|
||||
children. When detaching body subtrees, all elements which reference elements in the subtree, will also be removed. For
|
||||
all other elements, the method ``delete()`` removes the corresponding element from the spec, e.g.
|
||||
``spec.geom('my_geom').delete()`` will remove the geom named "my_geom" and all of the elements that reference it.
|
||||
``spec.delete(spec.geom('my_geom'))`` will remove the geom named "my_geom" and all of the elements that reference it.
|
||||
|
||||
Tree traversal
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
Reference in New Issue
Block a user