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
+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.
|
||||
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 ---------------------------------------------
|
||||
|
||||
@@ -1770,6 +1698,81 @@ MJAPI void mjs_defaultKey(mjsKey* key);
|
||||
// Default plugin attributes.
|
||||
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
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user