Add a section for element casting in the function API reference, move these functions to the end.
PiperOrigin-RevId: 677783917 Change-Id: I5042e7df20f2a2e0ecfe01a85a1969ccfc2307cd
This commit is contained in:
committed by
Copybara-Service
parent
0ba11b9623
commit
41ea95f077
@@ -52,5 +52,6 @@ API function can be classified as:
|
|||||||
- :ref:`Attribute getters<AttributeGetters>`.
|
- :ref:`Attribute getters<AttributeGetters>`.
|
||||||
- :ref:`Spec utilities<SpecUtilities>`.
|
- :ref:`Spec utilities<SpecUtilities>`.
|
||||||
- :ref:`Element initialization<ElementInitialization>`.
|
- :ref:`Element initialization<ElementInitialization>`.
|
||||||
|
- :ref:`Element casting<ElementCasting>`.
|
||||||
|
|
||||||
.. include:: functions.rst
|
.. include:: functions.rst
|
||||||
|
|||||||
+220
-216
@@ -4225,222 +4225,6 @@ mjs_nextElement
|
|||||||
|
|
||||||
Return spec's next element; return NULL if element is last.
|
Return spec's next element; return NULL if element is last.
|
||||||
|
|
||||||
.. _mjs_asBody:
|
|
||||||
|
|
||||||
mjs_asBody
|
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asBody
|
|
||||||
|
|
||||||
Safely cast an element as mjsBody, or return NULL if the element is not an mjsBody.
|
|
||||||
|
|
||||||
.. _mjs_asGeom:
|
|
||||||
|
|
||||||
mjs_asGeom
|
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asGeom
|
|
||||||
|
|
||||||
Safely cast an element as mjsGeom, or return NULL if the element is not an mjsGeom.
|
|
||||||
|
|
||||||
.. _mjs_asJoint:
|
|
||||||
|
|
||||||
mjs_asJoint
|
|
||||||
~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asJoint
|
|
||||||
|
|
||||||
Safely cast an element as mjsJoint, or return NULL if the element is not an mjsJoint.
|
|
||||||
|
|
||||||
.. _mjs_asSite:
|
|
||||||
|
|
||||||
mjs_asSite
|
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asSite
|
|
||||||
|
|
||||||
Safely cast an element as mjsSite, or return NULL if the element is not an mjsSite.
|
|
||||||
|
|
||||||
.. _mjs_asCamera:
|
|
||||||
|
|
||||||
mjs_asCamera
|
|
||||||
~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asCamera
|
|
||||||
|
|
||||||
Safely cast an element as mjsCamera, or return NULL if the element is not an mjsCamera.
|
|
||||||
|
|
||||||
.. _mjs_asLight:
|
|
||||||
|
|
||||||
mjs_asLight
|
|
||||||
~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asLight
|
|
||||||
|
|
||||||
Safely cast an element as mjsLight, or return NULL if the element is not an mjsLight.
|
|
||||||
|
|
||||||
.. _mjs_asFrame:
|
|
||||||
|
|
||||||
mjs_asFrame
|
|
||||||
~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asFrame
|
|
||||||
|
|
||||||
Safely cast an element as mjsFrame, or return NULL if the element is not an mjsFrame.
|
|
||||||
|
|
||||||
.. _mjs_asActuator:
|
|
||||||
|
|
||||||
mjs_asActuator
|
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asActuator
|
|
||||||
|
|
||||||
Safely cast an element as mjsActuator, or return NULL if the element is not an mjsActuator.
|
|
||||||
|
|
||||||
.. _mjs_asSensor:
|
|
||||||
|
|
||||||
mjs_asSensor
|
|
||||||
~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asSensor
|
|
||||||
|
|
||||||
Safely cast an element as mjsSensor, or return NULL if the element is not an mjsSensor.
|
|
||||||
|
|
||||||
.. _mjs_asFlex:
|
|
||||||
|
|
||||||
mjs_asFlex
|
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asFlex
|
|
||||||
|
|
||||||
Safely cast an element as mjsFlex, or return NULL if the element is not an mjsFlex.
|
|
||||||
|
|
||||||
.. _mjs_asPair:
|
|
||||||
|
|
||||||
mjs_asPair
|
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asPair
|
|
||||||
|
|
||||||
Safely cast an element as mjsPair, or return NULL if the element is not an mjsPair.
|
|
||||||
|
|
||||||
.. _mjs_asEquality:
|
|
||||||
|
|
||||||
mjs_asEquality
|
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asEquality
|
|
||||||
|
|
||||||
Safely cast an element as mjsEquality, or return NULL if the element is not an mjsEquality.
|
|
||||||
|
|
||||||
.. _mjs_asExclude:
|
|
||||||
|
|
||||||
mjs_asExclude
|
|
||||||
~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asExclude
|
|
||||||
|
|
||||||
Safely cast an element as mjsExclude, or return NULL if the element is not an mjsExclude.
|
|
||||||
|
|
||||||
.. _mjs_asTendon:
|
|
||||||
|
|
||||||
mjs_asTendon
|
|
||||||
~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asTendon
|
|
||||||
|
|
||||||
Safely cast an element as mjsTendon, or return NULL if the element is not an mjsTendon.
|
|
||||||
|
|
||||||
.. _mjs_asNumeric:
|
|
||||||
|
|
||||||
mjs_asNumeric
|
|
||||||
~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asNumeric
|
|
||||||
|
|
||||||
Safely cast an element as mjsNumeric, or return NULL if the element is not an mjsNumeric.
|
|
||||||
|
|
||||||
.. _mjs_asText:
|
|
||||||
|
|
||||||
mjs_asText
|
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asText
|
|
||||||
|
|
||||||
Safely cast an element as mjsText, or return NULL if the element is not an mjsText.
|
|
||||||
|
|
||||||
.. _mjs_asTuple:
|
|
||||||
|
|
||||||
mjs_asTuple
|
|
||||||
~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asTuple
|
|
||||||
|
|
||||||
Safely cast an element as mjsTuple, or return NULL if the element is not an mjsTuple.
|
|
||||||
|
|
||||||
.. _mjs_asKey:
|
|
||||||
|
|
||||||
mjs_asKey
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asKey
|
|
||||||
|
|
||||||
Safely cast an element as mjsKey, or return NULL if the element is not an mjsKey.
|
|
||||||
|
|
||||||
.. _mjs_asMesh:
|
|
||||||
|
|
||||||
mjs_asMesh
|
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asMesh
|
|
||||||
|
|
||||||
Safely cast an element as mjsMesh, or return NULL if the element is not an mjsMesh.
|
|
||||||
|
|
||||||
.. _mjs_asHField:
|
|
||||||
|
|
||||||
mjs_asHField
|
|
||||||
~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asHField
|
|
||||||
|
|
||||||
Safely cast an element as mjsHField, or return NULL if the element is not an mjsHField.
|
|
||||||
|
|
||||||
.. _mjs_asSkin:
|
|
||||||
|
|
||||||
mjs_asSkin
|
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asSkin
|
|
||||||
|
|
||||||
Safely cast an element as mjsSkin, or return NULL if the element is not an mjsSkin.
|
|
||||||
|
|
||||||
.. _mjs_asTexture:
|
|
||||||
|
|
||||||
mjs_asTexture
|
|
||||||
~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asTexture
|
|
||||||
|
|
||||||
Safely cast an element as mjsTexture, or return NULL if the element is not an mjsTexture.
|
|
||||||
|
|
||||||
.. _mjs_asMaterial:
|
|
||||||
|
|
||||||
mjs_asMaterial
|
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asMaterial
|
|
||||||
|
|
||||||
Safely cast an element as mjsMaterial, or return NULL if the element is not an mjsMaterial.
|
|
||||||
|
|
||||||
.. _mjs_asPlugin:
|
|
||||||
|
|
||||||
mjs_asPlugin
|
|
||||||
~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. mujoco-include:: mjs_asPlugin
|
|
||||||
|
|
||||||
Safely cast an element as mjsPlugin, or return NULL if the element is not an mjsPlugin.
|
|
||||||
|
|
||||||
.. _AttributeSetters:
|
.. _AttributeSetters:
|
||||||
|
|
||||||
Attribute setters
|
Attribute setters
|
||||||
@@ -4835,3 +4619,223 @@ mjs_defaultPlugin
|
|||||||
|
|
||||||
Default plugin attributes.
|
Default plugin attributes.
|
||||||
|
|
||||||
|
.. _ElementCasting:
|
||||||
|
|
||||||
|
Element casting
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
.. _mjs_asBody:
|
||||||
|
|
||||||
|
mjs_asBody
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asBody
|
||||||
|
|
||||||
|
Safely cast an element as mjsBody, or return NULL if the element is not an mjsBody.
|
||||||
|
|
||||||
|
.. _mjs_asGeom:
|
||||||
|
|
||||||
|
mjs_asGeom
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asGeom
|
||||||
|
|
||||||
|
Safely cast an element as mjsGeom, or return NULL if the element is not an mjsGeom.
|
||||||
|
|
||||||
|
.. _mjs_asJoint:
|
||||||
|
|
||||||
|
mjs_asJoint
|
||||||
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asJoint
|
||||||
|
|
||||||
|
Safely cast an element as mjsJoint, or return NULL if the element is not an mjsJoint.
|
||||||
|
|
||||||
|
.. _mjs_asSite:
|
||||||
|
|
||||||
|
mjs_asSite
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asSite
|
||||||
|
|
||||||
|
Safely cast an element as mjsSite, or return NULL if the element is not an mjsSite.
|
||||||
|
|
||||||
|
.. _mjs_asCamera:
|
||||||
|
|
||||||
|
mjs_asCamera
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asCamera
|
||||||
|
|
||||||
|
Safely cast an element as mjsCamera, or return NULL if the element is not an mjsCamera.
|
||||||
|
|
||||||
|
.. _mjs_asLight:
|
||||||
|
|
||||||
|
mjs_asLight
|
||||||
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asLight
|
||||||
|
|
||||||
|
Safely cast an element as mjsLight, or return NULL if the element is not an mjsLight.
|
||||||
|
|
||||||
|
.. _mjs_asFrame:
|
||||||
|
|
||||||
|
mjs_asFrame
|
||||||
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asFrame
|
||||||
|
|
||||||
|
Safely cast an element as mjsFrame, or return NULL if the element is not an mjsFrame.
|
||||||
|
|
||||||
|
.. _mjs_asActuator:
|
||||||
|
|
||||||
|
mjs_asActuator
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asActuator
|
||||||
|
|
||||||
|
Safely cast an element as mjsActuator, or return NULL if the element is not an mjsActuator.
|
||||||
|
|
||||||
|
.. _mjs_asSensor:
|
||||||
|
|
||||||
|
mjs_asSensor
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asSensor
|
||||||
|
|
||||||
|
Safely cast an element as mjsSensor, or return NULL if the element is not an mjsSensor.
|
||||||
|
|
||||||
|
.. _mjs_asFlex:
|
||||||
|
|
||||||
|
mjs_asFlex
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asFlex
|
||||||
|
|
||||||
|
Safely cast an element as mjsFlex, or return NULL if the element is not an mjsFlex.
|
||||||
|
|
||||||
|
.. _mjs_asPair:
|
||||||
|
|
||||||
|
mjs_asPair
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asPair
|
||||||
|
|
||||||
|
Safely cast an element as mjsPair, or return NULL if the element is not an mjsPair.
|
||||||
|
|
||||||
|
.. _mjs_asEquality:
|
||||||
|
|
||||||
|
mjs_asEquality
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asEquality
|
||||||
|
|
||||||
|
Safely cast an element as mjsEquality, or return NULL if the element is not an mjsEquality.
|
||||||
|
|
||||||
|
.. _mjs_asExclude:
|
||||||
|
|
||||||
|
mjs_asExclude
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asExclude
|
||||||
|
|
||||||
|
Safely cast an element as mjsExclude, or return NULL if the element is not an mjsExclude.
|
||||||
|
|
||||||
|
.. _mjs_asTendon:
|
||||||
|
|
||||||
|
mjs_asTendon
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asTendon
|
||||||
|
|
||||||
|
Safely cast an element as mjsTendon, or return NULL if the element is not an mjsTendon.
|
||||||
|
|
||||||
|
.. _mjs_asNumeric:
|
||||||
|
|
||||||
|
mjs_asNumeric
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asNumeric
|
||||||
|
|
||||||
|
Safely cast an element as mjsNumeric, or return NULL if the element is not an mjsNumeric.
|
||||||
|
|
||||||
|
.. _mjs_asText:
|
||||||
|
|
||||||
|
mjs_asText
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asText
|
||||||
|
|
||||||
|
Safely cast an element as mjsText, or return NULL if the element is not an mjsText.
|
||||||
|
|
||||||
|
.. _mjs_asTuple:
|
||||||
|
|
||||||
|
mjs_asTuple
|
||||||
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asTuple
|
||||||
|
|
||||||
|
Safely cast an element as mjsTuple, or return NULL if the element is not an mjsTuple.
|
||||||
|
|
||||||
|
.. _mjs_asKey:
|
||||||
|
|
||||||
|
mjs_asKey
|
||||||
|
~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asKey
|
||||||
|
|
||||||
|
Safely cast an element as mjsKey, or return NULL if the element is not an mjsKey.
|
||||||
|
|
||||||
|
.. _mjs_asMesh:
|
||||||
|
|
||||||
|
mjs_asMesh
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asMesh
|
||||||
|
|
||||||
|
Safely cast an element as mjsMesh, or return NULL if the element is not an mjsMesh.
|
||||||
|
|
||||||
|
.. _mjs_asHField:
|
||||||
|
|
||||||
|
mjs_asHField
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asHField
|
||||||
|
|
||||||
|
Safely cast an element as mjsHField, or return NULL if the element is not an mjsHField.
|
||||||
|
|
||||||
|
.. _mjs_asSkin:
|
||||||
|
|
||||||
|
mjs_asSkin
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asSkin
|
||||||
|
|
||||||
|
Safely cast an element as mjsSkin, or return NULL if the element is not an mjsSkin.
|
||||||
|
|
||||||
|
.. _mjs_asTexture:
|
||||||
|
|
||||||
|
mjs_asTexture
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asTexture
|
||||||
|
|
||||||
|
Safely cast an element as mjsTexture, or return NULL if the element is not an mjsTexture.
|
||||||
|
|
||||||
|
.. _mjs_asMaterial:
|
||||||
|
|
||||||
|
mjs_asMaterial
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asMaterial
|
||||||
|
|
||||||
|
Safely cast an element as mjsMaterial, or return NULL if the element is not an mjsMaterial.
|
||||||
|
|
||||||
|
.. _mjs_asPlugin:
|
||||||
|
|
||||||
|
mjs_asPlugin
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. mujoco-include:: mjs_asPlugin
|
||||||
|
|
||||||
|
Safely cast an element as mjsPlugin, or return NULL if the element is not an mjsPlugin.
|
||||||
|
|
||||||
|
|||||||
+24
-24
@@ -3599,30 +3599,6 @@ mjsElement* mjs_firstChild(mjsBody* body, mjtObj type);
|
|||||||
mjsElement* mjs_nextChild(mjsBody* body, mjsElement* child);
|
mjsElement* mjs_nextChild(mjsBody* body, mjsElement* child);
|
||||||
mjsElement* mjs_firstElement(mjSpec* s, mjtObj type);
|
mjsElement* mjs_firstElement(mjSpec* s, mjtObj type);
|
||||||
mjsElement* mjs_nextElement(mjSpec* s, mjsElement* element);
|
mjsElement* mjs_nextElement(mjSpec* s, mjsElement* element);
|
||||||
mjsBody* mjs_asBody(mjsElement* element);
|
|
||||||
mjsGeom* mjs_asGeom(mjsElement* element);
|
|
||||||
mjsJoint* mjs_asJoint(mjsElement* element);
|
|
||||||
mjsSite* mjs_asSite(mjsElement* element);
|
|
||||||
mjsCamera* mjs_asCamera(mjsElement* element);
|
|
||||||
mjsLight* mjs_asLight(mjsElement* element);
|
|
||||||
mjsFrame* mjs_asFrame(mjsElement* element);
|
|
||||||
mjsActuator* mjs_asActuator(mjsElement* element);
|
|
||||||
mjsSensor* mjs_asSensor(mjsElement* element);
|
|
||||||
mjsFlex* mjs_asFlex(mjsElement* element);
|
|
||||||
mjsPair* mjs_asPair(mjsElement* element);
|
|
||||||
mjsEquality* mjs_asEquality(mjsElement* element);
|
|
||||||
mjsExclude* mjs_asExclude(mjsElement* element);
|
|
||||||
mjsTendon* mjs_asTendon(mjsElement* element);
|
|
||||||
mjsNumeric* mjs_asNumeric(mjsElement* element);
|
|
||||||
mjsText* mjs_asText(mjsElement* element);
|
|
||||||
mjsTuple* mjs_asTuple(mjsElement* element);
|
|
||||||
mjsKey* mjs_asKey(mjsElement* element);
|
|
||||||
mjsMesh* mjs_asMesh(mjsElement* element);
|
|
||||||
mjsHField* mjs_asHField(mjsElement* element);
|
|
||||||
mjsSkin* mjs_asSkin(mjsElement* element);
|
|
||||||
mjsTexture* mjs_asTexture(mjsElement* element);
|
|
||||||
mjsMaterial* mjs_asMaterial(mjsElement* element);
|
|
||||||
mjsPlugin* mjs_asPlugin(mjsElement* element);
|
|
||||||
void mjs_setBuffer(mjByteVec* dest, const void* array, int size);
|
void mjs_setBuffer(mjByteVec* dest, const void* array, int size);
|
||||||
void mjs_setString(mjString* dest, const char* text);
|
void mjs_setString(mjString* dest, const char* text);
|
||||||
void mjs_setStringVec(mjStringVec* dest, const char* text);
|
void mjs_setStringVec(mjStringVec* dest, const char* text);
|
||||||
@@ -3666,4 +3642,28 @@ void mjs_defaultText(mjsText* text);
|
|||||||
void mjs_defaultTuple(mjsTuple* tuple);
|
void mjs_defaultTuple(mjsTuple* tuple);
|
||||||
void mjs_defaultKey(mjsKey* key);
|
void mjs_defaultKey(mjsKey* key);
|
||||||
void mjs_defaultPlugin(mjsPlugin* plugin);
|
void mjs_defaultPlugin(mjsPlugin* plugin);
|
||||||
|
mjsBody* mjs_asBody(mjsElement* element);
|
||||||
|
mjsGeom* mjs_asGeom(mjsElement* element);
|
||||||
|
mjsJoint* mjs_asJoint(mjsElement* element);
|
||||||
|
mjsSite* mjs_asSite(mjsElement* element);
|
||||||
|
mjsCamera* mjs_asCamera(mjsElement* element);
|
||||||
|
mjsLight* mjs_asLight(mjsElement* element);
|
||||||
|
mjsFrame* mjs_asFrame(mjsElement* element);
|
||||||
|
mjsActuator* mjs_asActuator(mjsElement* element);
|
||||||
|
mjsSensor* mjs_asSensor(mjsElement* element);
|
||||||
|
mjsFlex* mjs_asFlex(mjsElement* element);
|
||||||
|
mjsPair* mjs_asPair(mjsElement* element);
|
||||||
|
mjsEquality* mjs_asEquality(mjsElement* element);
|
||||||
|
mjsExclude* mjs_asExclude(mjsElement* element);
|
||||||
|
mjsTendon* mjs_asTendon(mjsElement* element);
|
||||||
|
mjsNumeric* mjs_asNumeric(mjsElement* element);
|
||||||
|
mjsText* mjs_asText(mjsElement* element);
|
||||||
|
mjsTuple* mjs_asTuple(mjsElement* element);
|
||||||
|
mjsKey* mjs_asKey(mjsElement* element);
|
||||||
|
mjsMesh* mjs_asMesh(mjsElement* element);
|
||||||
|
mjsHField* mjs_asHField(mjsElement* element);
|
||||||
|
mjsSkin* mjs_asSkin(mjsElement* element);
|
||||||
|
mjsTexture* mjs_asTexture(mjsElement* element);
|
||||||
|
mjsMaterial* mjs_asMaterial(mjsElement* element);
|
||||||
|
mjsPlugin* mjs_asPlugin(mjsElement* element);
|
||||||
// NOLINTEND
|
// NOLINTEND
|
||||||
|
|||||||
+75
-72
@@ -1559,78 +1559,6 @@ MJAPI mjsElement* mjs_firstElement(mjSpec* s, mjtObj type);
|
|||||||
// Return spec's next element; return NULL if element is last.
|
// Return spec's next element; return NULL if element is last.
|
||||||
MJAPI mjsElement* mjs_nextElement(mjSpec* s, mjsElement* element);
|
MJAPI mjsElement* mjs_nextElement(mjSpec* s, mjsElement* element);
|
||||||
|
|
||||||
// Safely cast an element as mjsBody, or return NULL if the element is not an mjsBody.
|
|
||||||
MJAPI mjsBody* mjs_asBody(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsGeom, or return NULL if the element is not an mjsGeom.
|
|
||||||
MJAPI mjsGeom* mjs_asGeom(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsJoint, or return NULL if the element is not an mjsJoint.
|
|
||||||
MJAPI mjsJoint* mjs_asJoint(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsSite, or return NULL if the element is not an mjsSite.
|
|
||||||
MJAPI mjsSite* mjs_asSite(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsCamera, or return NULL if the element is not an mjsCamera.
|
|
||||||
MJAPI mjsCamera* mjs_asCamera(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsLight, or return NULL if the element is not an mjsLight.
|
|
||||||
MJAPI mjsLight* mjs_asLight(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsFrame, or return NULL if the element is not an mjsFrame.
|
|
||||||
MJAPI mjsFrame* mjs_asFrame(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsActuator, or return NULL if the element is not an mjsActuator.
|
|
||||||
MJAPI mjsActuator* mjs_asActuator(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsSensor, or return NULL if the element is not an mjsSensor.
|
|
||||||
MJAPI mjsSensor* mjs_asSensor(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsFlex, or return NULL if the element is not an mjsFlex.
|
|
||||||
MJAPI mjsFlex* mjs_asFlex(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsPair, or return NULL if the element is not an mjsPair.
|
|
||||||
MJAPI mjsPair* mjs_asPair(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsEquality, or return NULL if the element is not an mjsEquality.
|
|
||||||
MJAPI mjsEquality* mjs_asEquality(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsExclude, or return NULL if the element is not an mjsExclude.
|
|
||||||
MJAPI mjsExclude* mjs_asExclude(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsTendon, or return NULL if the element is not an mjsTendon.
|
|
||||||
MJAPI mjsTendon* mjs_asTendon(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsNumeric, or return NULL if the element is not an mjsNumeric.
|
|
||||||
MJAPI mjsNumeric* mjs_asNumeric(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsText, or return NULL if the element is not an mjsText.
|
|
||||||
MJAPI mjsText* mjs_asText(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsTuple, or return NULL if the element is not an mjsTuple.
|
|
||||||
MJAPI mjsTuple* mjs_asTuple(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsKey, or return NULL if the element is not an mjsKey.
|
|
||||||
MJAPI mjsKey* mjs_asKey(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsMesh, or return NULL if the element is not an mjsMesh.
|
|
||||||
MJAPI mjsMesh* mjs_asMesh(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsHField, or return NULL if the element is not an mjsHField.
|
|
||||||
MJAPI mjsHField* mjs_asHField(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsSkin, or return NULL if the element is not an mjsSkin.
|
|
||||||
MJAPI mjsSkin* mjs_asSkin(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsTexture, or return NULL if the element is not an mjsTexture.
|
|
||||||
MJAPI mjsTexture* mjs_asTexture(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsMaterial, or return NULL if the element is not an mjsMaterial.
|
|
||||||
MJAPI mjsMaterial* mjs_asMaterial(mjsElement* element);
|
|
||||||
|
|
||||||
// Safely cast an element as mjsPlugin, or return NULL if the element is not an mjsPlugin.
|
|
||||||
MJAPI mjsPlugin* mjs_asPlugin(mjsElement* element);
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------- Attribute setters ---------------------------------------------
|
//---------------------------------- Attribute setters ---------------------------------------------
|
||||||
|
|
||||||
@@ -1770,6 +1698,81 @@ MJAPI void mjs_defaultKey(mjsKey* key);
|
|||||||
// Default plugin attributes.
|
// Default plugin attributes.
|
||||||
MJAPI void mjs_defaultPlugin(mjsPlugin* plugin);
|
MJAPI void mjs_defaultPlugin(mjsPlugin* plugin);
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------- Element casting -----------------------------------------------
|
||||||
|
|
||||||
|
// Safely cast an element as mjsBody, or return NULL if the element is not an mjsBody.
|
||||||
|
MJAPI mjsBody* mjs_asBody(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsGeom, or return NULL if the element is not an mjsGeom.
|
||||||
|
MJAPI mjsGeom* mjs_asGeom(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsJoint, or return NULL if the element is not an mjsJoint.
|
||||||
|
MJAPI mjsJoint* mjs_asJoint(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsSite, or return NULL if the element is not an mjsSite.
|
||||||
|
MJAPI mjsSite* mjs_asSite(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsCamera, or return NULL if the element is not an mjsCamera.
|
||||||
|
MJAPI mjsCamera* mjs_asCamera(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsLight, or return NULL if the element is not an mjsLight.
|
||||||
|
MJAPI mjsLight* mjs_asLight(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsFrame, or return NULL if the element is not an mjsFrame.
|
||||||
|
MJAPI mjsFrame* mjs_asFrame(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsActuator, or return NULL if the element is not an mjsActuator.
|
||||||
|
MJAPI mjsActuator* mjs_asActuator(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsSensor, or return NULL if the element is not an mjsSensor.
|
||||||
|
MJAPI mjsSensor* mjs_asSensor(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsFlex, or return NULL if the element is not an mjsFlex.
|
||||||
|
MJAPI mjsFlex* mjs_asFlex(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsPair, or return NULL if the element is not an mjsPair.
|
||||||
|
MJAPI mjsPair* mjs_asPair(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsEquality, or return NULL if the element is not an mjsEquality.
|
||||||
|
MJAPI mjsEquality* mjs_asEquality(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsExclude, or return NULL if the element is not an mjsExclude.
|
||||||
|
MJAPI mjsExclude* mjs_asExclude(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsTendon, or return NULL if the element is not an mjsTendon.
|
||||||
|
MJAPI mjsTendon* mjs_asTendon(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsNumeric, or return NULL if the element is not an mjsNumeric.
|
||||||
|
MJAPI mjsNumeric* mjs_asNumeric(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsText, or return NULL if the element is not an mjsText.
|
||||||
|
MJAPI mjsText* mjs_asText(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsTuple, or return NULL if the element is not an mjsTuple.
|
||||||
|
MJAPI mjsTuple* mjs_asTuple(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsKey, or return NULL if the element is not an mjsKey.
|
||||||
|
MJAPI mjsKey* mjs_asKey(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsMesh, or return NULL if the element is not an mjsMesh.
|
||||||
|
MJAPI mjsMesh* mjs_asMesh(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsHField, or return NULL if the element is not an mjsHField.
|
||||||
|
MJAPI mjsHField* mjs_asHField(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsSkin, or return NULL if the element is not an mjsSkin.
|
||||||
|
MJAPI mjsSkin* mjs_asSkin(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsTexture, or return NULL if the element is not an mjsTexture.
|
||||||
|
MJAPI mjsTexture* mjs_asTexture(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsMaterial, or return NULL if the element is not an mjsMaterial.
|
||||||
|
MJAPI mjsMaterial* mjs_asMaterial(mjsElement* element);
|
||||||
|
|
||||||
|
// Safely cast an element as mjsPlugin, or return NULL if the element is not an mjsPlugin.
|
||||||
|
MJAPI mjsPlugin* mjs_asPlugin(mjsElement* element);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+384
-384
@@ -9902,390 +9902,6 @@ FUNCTIONS: Mapping[str, FunctionDecl] = dict([
|
|||||||
),
|
),
|
||||||
doc="Return spec's next element; return NULL if element is last.",
|
doc="Return spec's next element; return NULL if element is last.",
|
||||||
)),
|
)),
|
||||||
('mjs_asBody',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asBody',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsBody'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsBody, or return NULL if the element is not an mjsBody.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asGeom',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asGeom',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsGeom'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsGeom, or return NULL if the element is not an mjsGeom.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asJoint',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asJoint',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsJoint'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsJoint, or return NULL if the element is not an mjsJoint.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asSite',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asSite',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsSite'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsSite, or return NULL if the element is not an mjsSite.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asCamera',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asCamera',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsCamera'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsCamera, or return NULL if the element is not an mjsCamera.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asLight',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asLight',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsLight'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsLight, or return NULL if the element is not an mjsLight.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asFrame',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asFrame',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsFrame'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsFrame, or return NULL if the element is not an mjsFrame.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asActuator',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asActuator',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsActuator'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsActuator, or return NULL if the element is not an mjsActuator.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asSensor',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asSensor',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsSensor'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsSensor, or return NULL if the element is not an mjsSensor.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asFlex',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asFlex',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsFlex'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsFlex, or return NULL if the element is not an mjsFlex.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asPair',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asPair',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsPair'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsPair, or return NULL if the element is not an mjsPair.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asEquality',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asEquality',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsEquality'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsEquality, or return NULL if the element is not an mjsEquality.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asExclude',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asExclude',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsExclude'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsExclude, or return NULL if the element is not an mjsExclude.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asTendon',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asTendon',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsTendon'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsTendon, or return NULL if the element is not an mjsTendon.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asNumeric',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asNumeric',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsNumeric'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsNumeric, or return NULL if the element is not an mjsNumeric.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asText',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asText',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsText'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsText, or return NULL if the element is not an mjsText.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asTuple',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asTuple',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsTuple'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsTuple, or return NULL if the element is not an mjsTuple.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asKey',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asKey',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsKey'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsKey, or return NULL if the element is not an mjsKey.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asMesh',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asMesh',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsMesh'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsMesh, or return NULL if the element is not an mjsMesh.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asHField',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asHField',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsHField'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsHField, or return NULL if the element is not an mjsHField.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asSkin',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asSkin',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsSkin'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsSkin, or return NULL if the element is not an mjsSkin.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asTexture',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asTexture',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsTexture'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsTexture, or return NULL if the element is not an mjsTexture.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asMaterial',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asMaterial',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsMaterial'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsMaterial, or return NULL if the element is not an mjsMaterial.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_asPlugin',
|
|
||||||
FunctionDecl(
|
|
||||||
name='mjs_asPlugin',
|
|
||||||
return_type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsPlugin'),
|
|
||||||
),
|
|
||||||
parameters=(
|
|
||||||
FunctionParameterDecl(
|
|
||||||
name='element',
|
|
||||||
type=PointerType(
|
|
||||||
inner_type=ValueType(name='mjsElement'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
doc='Safely cast an element as mjsPlugin, or return NULL if the element is not an mjsPlugin.', # pylint: disable=line-too-long
|
|
||||||
)),
|
|
||||||
('mjs_setBuffer',
|
('mjs_setBuffer',
|
||||||
FunctionDecl(
|
FunctionDecl(
|
||||||
name='mjs_setBuffer',
|
name='mjs_setBuffer',
|
||||||
@@ -11015,4 +10631,388 @@ FUNCTIONS: Mapping[str, FunctionDecl] = dict([
|
|||||||
),
|
),
|
||||||
doc='Default plugin attributes.',
|
doc='Default plugin attributes.',
|
||||||
)),
|
)),
|
||||||
|
('mjs_asBody',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asBody',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsBody'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsBody, or return NULL if the element is not an mjsBody.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asGeom',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asGeom',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsGeom'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsGeom, or return NULL if the element is not an mjsGeom.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asJoint',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asJoint',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsJoint'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsJoint, or return NULL if the element is not an mjsJoint.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asSite',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asSite',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsSite'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsSite, or return NULL if the element is not an mjsSite.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asCamera',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asCamera',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsCamera'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsCamera, or return NULL if the element is not an mjsCamera.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asLight',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asLight',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsLight'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsLight, or return NULL if the element is not an mjsLight.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asFrame',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asFrame',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsFrame'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsFrame, or return NULL if the element is not an mjsFrame.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asActuator',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asActuator',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsActuator'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsActuator, or return NULL if the element is not an mjsActuator.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asSensor',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asSensor',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsSensor'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsSensor, or return NULL if the element is not an mjsSensor.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asFlex',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asFlex',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsFlex'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsFlex, or return NULL if the element is not an mjsFlex.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asPair',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asPair',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsPair'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsPair, or return NULL if the element is not an mjsPair.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asEquality',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asEquality',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsEquality'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsEquality, or return NULL if the element is not an mjsEquality.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asExclude',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asExclude',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsExclude'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsExclude, or return NULL if the element is not an mjsExclude.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asTendon',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asTendon',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsTendon'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsTendon, or return NULL if the element is not an mjsTendon.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asNumeric',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asNumeric',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsNumeric'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsNumeric, or return NULL if the element is not an mjsNumeric.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asText',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asText',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsText'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsText, or return NULL if the element is not an mjsText.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asTuple',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asTuple',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsTuple'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsTuple, or return NULL if the element is not an mjsTuple.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asKey',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asKey',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsKey'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsKey, or return NULL if the element is not an mjsKey.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asMesh',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asMesh',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsMesh'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsMesh, or return NULL if the element is not an mjsMesh.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asHField',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asHField',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsHField'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsHField, or return NULL if the element is not an mjsHField.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asSkin',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asSkin',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsSkin'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsSkin, or return NULL if the element is not an mjsSkin.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asTexture',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asTexture',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsTexture'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsTexture, or return NULL if the element is not an mjsTexture.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asMaterial',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asMaterial',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsMaterial'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsMaterial, or return NULL if the element is not an mjsMaterial.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
|
('mjs_asPlugin',
|
||||||
|
FunctionDecl(
|
||||||
|
name='mjs_asPlugin',
|
||||||
|
return_type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsPlugin'),
|
||||||
|
),
|
||||||
|
parameters=(
|
||||||
|
FunctionParameterDecl(
|
||||||
|
name='element',
|
||||||
|
type=PointerType(
|
||||||
|
inner_type=ValueType(name='mjsElement'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
doc='Safely cast an element as mjsPlugin, or return NULL if the element is not an mjsPlugin.', # pylint: disable=line-too-long
|
||||||
|
)),
|
||||||
])
|
])
|
||||||
|
|||||||
Reference in New Issue
Block a user