diff --git a/doc/APIreference/APIfunctions.rst b/doc/APIreference/APIfunctions.rst index 824221b6..e64a33ca 100644 --- a/doc/APIreference/APIfunctions.rst +++ b/doc/APIreference/APIfunctions.rst @@ -1,3 +1,8 @@ +.. raw:: html + +
+ + .. _API: ========= diff --git a/doc/APIreference/functions.rst b/doc/APIreference/functions.rst index 4ef49615..4406e5c5 100644 --- a/doc/APIreference/functions.rst +++ b/doc/APIreference/functions.rst @@ -13,8 +13,8 @@ The model and all files referenced in it can be loaded from disk or from a VFS w .. _mj_loadXML: -mj_loadXML -~~~~~~~~~~ +`mj_loadXML <#mj_loadXML>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_loadXML @@ -24,8 +24,8 @@ If error is not NULL, it must have size error_sz. .. _mj_parseXML: -mj_parseXML -~~~~~~~~~~~ +`mj_parseXML <#mj_parseXML>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_parseXML @@ -33,8 +33,8 @@ Parse spec from XML file. .. _mj_parseXMLString: -mj_parseXMLString -~~~~~~~~~~~~~~~~~ +`mj_parseXMLString <#mj_parseXMLString>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_parseXMLString @@ -42,8 +42,8 @@ Parse spec from XML string. .. _mj_compile: -mj_compile -~~~~~~~~~~ +`mj_compile <#mj_compile>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_compile @@ -53,8 +53,8 @@ If compilation fails, :ref:`mj_compile` returns ``NULL``; the error can be read .. _mj_recompile: -mj_recompile -~~~~~~~~~~~~ +`mj_recompile <#mj_recompile>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_recompile @@ -70,8 +70,8 @@ instances will be deleted; as in :ref:`mj_compile`, the compilation error can be .. _mj_saveLastXML: -mj_saveLastXML -~~~~~~~~~~~~~~ +`mj_saveLastXML <#mj_saveLastXML>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_saveLastXML @@ -80,8 +80,8 @@ If error is not NULL, it must have size error_sz. .. _mj_freeLastXML: -mj_freeLastXML -~~~~~~~~~~~~~~ +`mj_freeLastXML <#mj_freeLastXML>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_freeLastXML @@ -89,8 +89,8 @@ Free last XML model if loaded. Called internally at each load. .. _mj_saveXMLString: -mj_saveXMLString -~~~~~~~~~~~~~~~~ +`mj_saveXMLString <#mj_saveXMLString>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_saveXMLString @@ -98,8 +98,8 @@ Save spec to XML string, return 1 on success, 0 otherwise. XML saving requires t .. _mj_saveXML: -mj_saveXML -~~~~~~~~~~ +`mj_saveXML <#mj_saveXML>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_saveXML @@ -136,8 +136,8 @@ depend on qpos. Calling the dynamics with skipstage = :ref:`mjSTAGE_POS`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_step @@ -145,8 +145,8 @@ Advance simulation, use control callback to obtain external force and control. .. _mj_step1: -mj_step1 -~~~~~~~~ +`mj_step1 <#mj_step1>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_step1 @@ -154,8 +154,8 @@ Advance simulation in two steps: before external force and control is set by use .. _mj_step2: -mj_step2 -~~~~~~~~ +`mj_step2 <#mj_step2>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_step2 @@ -163,8 +163,8 @@ Advance simulation in two steps: after external force and control is set by user .. _mj_forward: -mj_forward -~~~~~~~~~~ +`mj_forward <#mj_forward>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_forward @@ -172,8 +172,8 @@ Forward dynamics: same as mj_step but do not integrate in time. .. _mj_inverse: -mj_inverse -~~~~~~~~~~ +`mj_inverse <#mj_inverse>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_inverse @@ -181,8 +181,8 @@ Inverse dynamics: qacc must be set before calling. .. _mj_forwardSkip: -mj_forwardSkip -~~~~~~~~~~~~~~ +`mj_forwardSkip <#mj_forwardSkip>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_forwardSkip @@ -190,8 +190,8 @@ Forward dynamics with skip; skipstage is mjtStage. .. _mj_inverseSkip: -mj_inverseSkip -~~~~~~~~~~~~~~ +`mj_inverseSkip <#mj_inverseSkip>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_inverseSkip @@ -208,8 +208,8 @@ computations, and are documented in more detail below. .. _mj_stateSize: -mj_stateSize -~~~~~~~~~~~~ +`mj_stateSize <#mj_stateSize>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_stateSize @@ -218,8 +218,8 @@ correspond to element fields of :ref:`mjtState`. .. _mj_getState: -mj_getState -~~~~~~~~~~~ +`mj_getState <#mj_getState>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_getState @@ -228,8 +228,8 @@ Copy concatenated state components specified by ``spec`` from ``d`` into ``state .. _mj_setState: -mj_setState -~~~~~~~~~~~ +`mj_setState <#mj_setState>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_setState @@ -238,8 +238,8 @@ Copy concatenated state components specified by ``spec`` from ``state`` into `` .. _mj_setKeyframe: -mj_setKeyframe -~~~~~~~~~~~~~~ +`mj_setKeyframe <#mj_setKeyframe>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_setKeyframe @@ -247,8 +247,8 @@ Copy current state to the k-th model keyframe. .. _mj_addContact: -mj_addContact -~~~~~~~~~~~~~ +`mj_addContact <#mj_addContact>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_addContact @@ -256,8 +256,8 @@ Add contact to d->contact list; return 0 if success; 1 if buffer full. .. _mj_isPyramidal: -mj_isPyramidal -~~~~~~~~~~~~~~ +`mj_isPyramidal <#mj_isPyramidal>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_isPyramidal @@ -265,8 +265,8 @@ Determine type of friction cone. .. _mj_isSparse: -mj_isSparse -~~~~~~~~~~~ +`mj_isSparse <#mj_isSparse>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_isSparse @@ -274,8 +274,8 @@ Determine type of constraint Jacobian. .. _mj_isDual: -mj_isDual -~~~~~~~~~ +`mj_isDual <#mj_isDual>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_isDual @@ -283,8 +283,8 @@ Determine type of solver (PGS is dual, CG and Newton are primal). .. _mj_mulJacVec: -mj_mulJacVec -~~~~~~~~~~~~ +`mj_mulJacVec <#mj_mulJacVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_mulJacVec @@ -293,8 +293,8 @@ sparse; the function is aware of this setting. Multiplication by J maps velociti .. _mj_mulJacTVec: -mj_mulJacTVec -~~~~~~~~~~~~~ +`mj_mulJacTVec <#mj_mulJacTVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_mulJacTVec @@ -303,8 +303,8 @@ space. .. _mj_jac: -mj_jac -~~~~~~ +`mj_jac <#mj_jac>`__ +~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_jac @@ -320,8 +320,8 @@ by :ref:`mj_comPos`. .. _mj_jacBody: -mj_jacBody -~~~~~~~~~~ +`mj_jacBody <#mj_jacBody>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_jacBody @@ -330,8 +330,8 @@ site. They are just shortcuts; the same can be achieved by calling mj_jac direct .. _mj_jacBodyCom: -mj_jacBodyCom -~~~~~~~~~~~~~ +`mj_jacBodyCom <#mj_jacBodyCom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_jacBodyCom @@ -339,8 +339,8 @@ Compute body center-of-mass end-effector Jacobian. .. _mj_jacSubtreeCom: -mj_jacSubtreeCom -~~~~~~~~~~~~~~~~ +`mj_jacSubtreeCom <#mj_jacSubtreeCom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_jacSubtreeCom @@ -348,8 +348,8 @@ Compute subtree center-of-mass end-effector Jacobian. .. _mj_jacGeom: -mj_jacGeom -~~~~~~~~~~ +`mj_jacGeom <#mj_jacGeom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_jacGeom @@ -357,8 +357,8 @@ Compute geom end-effector Jacobian. .. _mj_jacSite: -mj_jacSite -~~~~~~~~~~ +`mj_jacSite <#mj_jacSite>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_jacSite @@ -366,8 +366,8 @@ Compute site end-effector Jacobian. .. _mj_jacPointAxis: -mj_jacPointAxis -~~~~~~~~~~~~~~~ +`mj_jacPointAxis <#mj_jacPointAxis>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_jacPointAxis @@ -375,8 +375,8 @@ Compute translation end-effector Jacobian of point, and rotation Jacobian of axi .. _mj_jacDot: -mj_jacDot -~~~~~~~~~ +`mj_jacDot <#mj_jacDot>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_jacDot @@ -387,8 +387,8 @@ consistent with the current generalized positions and velocities ``mjData.{qpos, .. _mj_angmomMat: -mj_angmomMat -~~~~~~~~~~~~ +`mj_angmomMat <#mj_angmomMat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_angmomMat @@ -399,8 +399,8 @@ and :math:`\dot q` is the generalized velocity ``mjData.qvel``, then :math:`h = .. _mj_name2id: -mj_name2id -~~~~~~~~~~ +`mj_name2id <#mj_name2id>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_name2id @@ -408,8 +408,8 @@ Get id of object with the specified mjtObj type and name, returns -1 if id not f .. _mj_id2name: -mj_id2name -~~~~~~~~~~ +`mj_id2name <#mj_id2name>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_id2name @@ -417,8 +417,8 @@ Get name of object with the specified mjtObj type and id, returns NULL if name n .. _mj_fullM: -mj_fullM -~~~~~~~~ +`mj_fullM <#mj_fullM>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_fullM @@ -426,8 +426,8 @@ Convert sparse inertia matrix M into full (i.e. dense) matrix. .. _mj_mulM: -mj_mulM -~~~~~~~ +`mj_mulM <#mj_mulM>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_mulM @@ -438,8 +438,8 @@ sparsity. .. _mj_mulM2: -mj_mulM2 -~~~~~~~~ +`mj_mulM2 <#mj_mulM2>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_mulM2 @@ -447,8 +447,8 @@ Multiply vector by (inertia matrix)^(1/2). .. _mj_addM: -mj_addM -~~~~~~~ +`mj_addM <#mj_addM>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_addM @@ -457,8 +457,8 @@ Destination can be sparse uncompressed, or dense when all int* are NULL .. _mj_applyFT: -mj_applyFT -~~~~~~~~~~ +`mj_applyFT <#mj_applyFT>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_applyFT @@ -468,8 +468,8 @@ we want to add the result to a different vector. .. _mj_objectVelocity: -mj_objectVelocity -~~~~~~~~~~~~~~~~~ +`mj_objectVelocity <#mj_objectVelocity>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_objectVelocity @@ -477,8 +477,8 @@ Compute object 6D velocity (rot:lin) in object-centered frame, world/local orien .. _mj_objectAcceleration: -mj_objectAcceleration -~~~~~~~~~~~~~~~~~~~~~ +`mj_objectAcceleration <#mj_objectAcceleration>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_objectAcceleration @@ -488,8 +488,8 @@ mjData.cacc -- the total body acceleration, including contributions from the con .. _mj_geomDistance: -mj_geomDistance -~~~~~~~~~~~~~~~ +`mj_geomDistance <#mj_geomDistance>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_geomDistance @@ -510,8 +510,8 @@ found, the function will return ``distmax`` and ``fromto``, if given, will be se .. _mj_contactForce: -mj_contactForce -~~~~~~~~~~~~~~~ +`mj_contactForce <#mj_contactForce>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_contactForce @@ -519,8 +519,8 @@ Extract 6D force:torque given contact id, in the contact frame. .. _mj_differentiatePos: -mj_differentiatePos -~~~~~~~~~~~~~~~~~~~ +`mj_differentiatePos <#mj_differentiatePos>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_differentiatePos @@ -532,8 +532,8 @@ inputs have dimensionality nq. .. _mj_integratePos: -mj_integratePos -~~~~~~~~~~~~~~~ +`mj_integratePos <#mj_integratePos>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_integratePos @@ -542,8 +542,8 @@ format of qpos. .. _mj_normalizeQuat: -mj_normalizeQuat -~~~~~~~~~~~~~~~~ +`mj_normalizeQuat <#mj_normalizeQuat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_normalizeQuat @@ -551,8 +551,8 @@ Normalize all quaternions in qpos-type vector. .. _mj_local2Global: -mj_local2Global -~~~~~~~~~~~~~~~ +`mj_local2Global <#mj_local2Global>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_local2Global @@ -560,8 +560,8 @@ Map from body local to global Cartesian coordinates, sameframe takes values from .. _mj_getTotalmass: -mj_getTotalmass -~~~~~~~~~~~~~~~ +`mj_getTotalmass <#mj_getTotalmass>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_getTotalmass @@ -569,8 +569,8 @@ Sum all body masses. .. _mj_setTotalmass: -mj_setTotalmass -~~~~~~~~~~~~~~~ +`mj_setTotalmass <#mj_setTotalmass>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_setTotalmass @@ -578,8 +578,8 @@ Scale body masses and inertias to achieve specified total mass. .. _mj_getPluginConfig: -mj_getPluginConfig -~~~~~~~~~~~~~~~~~~ +`mj_getPluginConfig <#mj_getPluginConfig>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_getPluginConfig @@ -588,8 +588,8 @@ NULL: invalid plugin instance ID or attribute name .. _mj_loadPluginLibrary: -mj_loadPluginLibrary -~~~~~~~~~~~~~~~~~~~~ +`mj_loadPluginLibrary <#mj_loadPluginLibrary>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_loadPluginLibrary @@ -597,8 +597,8 @@ Load a dynamic library. The dynamic library is assumed to register one or more p .. _mj_loadAllPluginLibraries: -mj_loadAllPluginLibraries -~~~~~~~~~~~~~~~~~~~~~~~~~ +`mj_loadAllPluginLibraries <#mj_loadAllPluginLibraries>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_loadAllPluginLibraries @@ -608,8 +608,8 @@ for each dynamic library encountered that registers plugins. .. _mj_version: -mj_version -~~~~~~~~~~ +`mj_version <#mj_version>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_version @@ -617,8 +617,8 @@ Return version number: 1.0.2 is encoded as 102. .. _mj_versionString: -mj_versionString -~~~~~~~~~~~~~~~~ +`mj_versionString <#mj_versionString>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_versionString @@ -634,8 +634,8 @@ These are components of the simulation pipeline, called internally from :ref:`mj .. _mj_fwdPosition: -mj_fwdPosition -~~~~~~~~~~~~~~ +`mj_fwdPosition <#mj_fwdPosition>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_fwdPosition @@ -643,8 +643,8 @@ Run position-dependent computations. .. _mj_fwdVelocity: -mj_fwdVelocity -~~~~~~~~~~~~~~ +`mj_fwdVelocity <#mj_fwdVelocity>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_fwdVelocity @@ -652,8 +652,8 @@ Run velocity-dependent computations. .. _mj_fwdActuation: -mj_fwdActuation -~~~~~~~~~~~~~~~ +`mj_fwdActuation <#mj_fwdActuation>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_fwdActuation @@ -661,8 +661,8 @@ Compute actuator force qfrc_actuator. .. _mj_fwdAcceleration: -mj_fwdAcceleration -~~~~~~~~~~~~~~~~~~ +`mj_fwdAcceleration <#mj_fwdAcceleration>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_fwdAcceleration @@ -670,8 +670,8 @@ Add up all non-constraint forces, compute qacc_smooth. .. _mj_fwdConstraint: -mj_fwdConstraint -~~~~~~~~~~~~~~~~ +`mj_fwdConstraint <#mj_fwdConstraint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_fwdConstraint @@ -679,8 +679,8 @@ Run selected constraint solver. .. _mj_Euler: -mj_Euler -~~~~~~~~ +`mj_Euler <#mj_Euler>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_Euler @@ -688,8 +688,8 @@ Euler integrator, semi-implicit in velocity. .. _mj_RungeKutta: -mj_RungeKutta -~~~~~~~~~~~~~ +`mj_RungeKutta <#mj_RungeKutta>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_RungeKutta @@ -697,8 +697,8 @@ Runge-Kutta explicit order-N integrator. .. _mj_implicit: -mj_implicit -~~~~~~~~~~~ +`mj_implicit <#mj_implicit>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_implicit @@ -708,8 +708,8 @@ Integrates the simulation state using an implicit-in-velocity integrator (either .. _mj_invPosition: -mj_invPosition -~~~~~~~~~~~~~~ +`mj_invPosition <#mj_invPosition>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_invPosition @@ -717,8 +717,8 @@ Run position-dependent computations in inverse dynamics. .. _mj_invVelocity: -mj_invVelocity -~~~~~~~~~~~~~~ +`mj_invVelocity <#mj_invVelocity>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_invVelocity @@ -726,8 +726,8 @@ Run velocity-dependent computations in inverse dynamics. .. _mj_invConstraint: -mj_invConstraint -~~~~~~~~~~~~~~~~ +`mj_invConstraint <#mj_invConstraint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_invConstraint @@ -735,8 +735,8 @@ Apply the analytical formula for inverse constraint dynamics. .. _mj_compareFwdInv: -mj_compareFwdInv -~~~~~~~~~~~~~~~~ +`mj_compareFwdInv <#mj_compareFwdInv>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_compareFwdInv @@ -752,8 +752,8 @@ that the user will need to call them. .. _mj_sensorPos: -mj_sensorPos -~~~~~~~~~~~~ +`mj_sensorPos <#mj_sensorPos>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_sensorPos @@ -761,8 +761,8 @@ Evaluate position-dependent sensors. .. _mj_sensorVel: -mj_sensorVel -~~~~~~~~~~~~ +`mj_sensorVel <#mj_sensorVel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_sensorVel @@ -770,8 +770,8 @@ Evaluate velocity-dependent sensors. .. _mj_sensorAcc: -mj_sensorAcc -~~~~~~~~~~~~ +`mj_sensorAcc <#mj_sensorAcc>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_sensorAcc @@ -779,8 +779,8 @@ Evaluate acceleration and force-dependent sensors. .. _mj_energyPos: -mj_energyPos -~~~~~~~~~~~~ +`mj_energyPos <#mj_energyPos>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_energyPos @@ -788,8 +788,8 @@ Evaluate position-dependent energy (potential). .. _mj_energyVel: -mj_energyVel -~~~~~~~~~~~~ +`mj_energyVel <#mj_energyVel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_energyVel @@ -797,8 +797,8 @@ Evaluate velocity-dependent energy (kinetic). .. _mj_checkPos: -mj_checkPos -~~~~~~~~~~~ +`mj_checkPos <#mj_checkPos>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_checkPos @@ -806,8 +806,8 @@ Check qpos, reset if any element is too big or nan. .. _mj_checkVel: -mj_checkVel -~~~~~~~~~~~ +`mj_checkVel <#mj_checkVel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_checkVel @@ -815,8 +815,8 @@ Check qvel, reset if any element is too big or nan. .. _mj_checkAcc: -mj_checkAcc -~~~~~~~~~~~ +`mj_checkAcc <#mj_checkAcc>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_checkAcc @@ -824,8 +824,8 @@ Check qacc, reset if any element is too big or nan. .. _mj_kinematics: -mj_kinematics -~~~~~~~~~~~~~ +`mj_kinematics <#mj_kinematics>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_kinematics @@ -833,8 +833,8 @@ Run forward kinematics. .. _mj_comPos: -mj_comPos -~~~~~~~~~ +`mj_comPos <#mj_comPos>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_comPos @@ -842,8 +842,8 @@ Map inertias and motion dofs to global frame centered at CoM. .. _mj_camlight: -mj_camlight -~~~~~~~~~~~ +`mj_camlight <#mj_camlight>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_camlight @@ -851,8 +851,8 @@ Compute camera and light positions and orientations. .. _mj_flex: -mj_flex -~~~~~~~ +`mj_flex <#mj_flex>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_flex @@ -860,8 +860,8 @@ Compute flex-related quantities. .. _mj_tendon: -mj_tendon -~~~~~~~~~ +`mj_tendon <#mj_tendon>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_tendon @@ -869,8 +869,8 @@ Compute tendon lengths, velocities and moment arms. .. _mj_transmission: -mj_transmission -~~~~~~~~~~~~~~~ +`mj_transmission <#mj_transmission>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_transmission @@ -878,8 +878,8 @@ Compute actuator transmission lengths and moments. .. _mj_crb: -mj_crb -~~~~~~ +`mj_crb <#mj_crb>`__ +~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_crb @@ -887,8 +887,8 @@ Run composite rigid body inertia algorithm (CRB). .. _mj_factorM: -mj_factorM -~~~~~~~~~~ +`mj_factorM <#mj_factorM>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_factorM @@ -896,8 +896,8 @@ Compute sparse :math:`L^T D L` factorizaton of inertia matrix. .. _mj_solveM: -mj_solveM -~~~~~~~~~ +`mj_solveM <#mj_solveM>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_solveM @@ -905,8 +905,8 @@ Solve linear system :math:`M x = y` using factorization: :math:`x = (L^T D L)^{- .. _mj_solveM2: -mj_solveM2 -~~~~~~~~~~ +`mj_solveM2 <#mj_solveM2>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_solveM2 @@ -914,8 +914,8 @@ Half of linear solve: :math:`x = \sqrt{D^{-1}} (L^T)^{-1} y` .. _mj_comVel: -mj_comVel -~~~~~~~~~ +`mj_comVel <#mj_comVel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_comVel @@ -923,8 +923,8 @@ Compute cvel, cdof_dot. .. _mj_passive: -mj_passive -~~~~~~~~~~ +`mj_passive <#mj_passive>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_passive @@ -932,8 +932,8 @@ Compute qfrc_passive from spring-dampers, gravity compensation and fluid forces. .. _mj_subtreeVel: -mj_subtreeVel -~~~~~~~~~~~~~ +`mj_subtreeVel <#mj_subtreeVel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_subtreeVel @@ -944,8 +944,8 @@ It is also triggered for :ref:`user sensors` of :ref:`stage`__ +~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_rne @@ -954,8 +954,8 @@ assumes :math:`\ddot q = 0`). .. _mj_rnePostConstraint: -mj_rnePostConstraint -~~~~~~~~~~~~~~~~~~~~ +`mj_rnePostConstraint <#mj_rnePostConstraint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_rnePostConstraint @@ -977,8 +977,8 @@ the effect of spatial tendons, see :github:issue:`832`. .. _mj_collision: -mj_collision -~~~~~~~~~~~~ +`mj_collision <#mj_collision>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_collision @@ -986,8 +986,8 @@ Run collision detection. .. _mj_makeConstraint: -mj_makeConstraint -~~~~~~~~~~~~~~~~~ +`mj_makeConstraint <#mj_makeConstraint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_makeConstraint @@ -995,8 +995,8 @@ Construct constraints. .. _mj_island: -mj_island -~~~~~~~~~ +`mj_island <#mj_island>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_island @@ -1004,8 +1004,8 @@ Find constraint islands. .. _mj_projectConstraint: -mj_projectConstraint -~~~~~~~~~~~~~~~~~~~~ +`mj_projectConstraint <#mj_projectConstraint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_projectConstraint @@ -1013,8 +1013,8 @@ Compute inverse constraint inertia efc_AR. .. _mj_referenceConstraint: -mj_referenceConstraint -~~~~~~~~~~~~~~~~~~~~~~ +`mj_referenceConstraint <#mj_referenceConstraint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_referenceConstraint @@ -1022,8 +1022,8 @@ Compute efc_vel, efc_aref. .. _mj_constraintUpdate: -mj_constraintUpdate -~~~~~~~~~~~~~~~~~~~ +`mj_constraintUpdate <#mj_constraintUpdate>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_constraintUpdate @@ -1047,8 +1047,8 @@ rays from a single point. .. _mj_multiRay: -mj_multiRay -~~~~~~~~~~~ +`mj_multiRay <#mj_multiRay>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_multiRay @@ -1057,8 +1057,8 @@ Similar semantics to mj_ray, but vec is an array of (nray x 3) directions. .. _mj_ray: -mj_ray -~~~~~~ +`mj_ray <#mj_ray>`__ +~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_ray @@ -1075,8 +1075,8 @@ bodyexclude=-1 can be used to indicate that all bodies are included. .. _mj_rayHfield: -mj_rayHfield -~~~~~~~~~~~~ +`mj_rayHfield <#mj_rayHfield>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_rayHfield @@ -1084,8 +1084,8 @@ Intersect ray with hfield, return nearest distance or -1 if no intersection. .. _mj_rayMesh: -mj_rayMesh -~~~~~~~~~~ +`mj_rayMesh <#mj_rayMesh>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_rayMesh @@ -1093,8 +1093,8 @@ Intersect ray with mesh, return nearest distance or -1 if no intersection. .. _mju_rayGeom: -mju_rayGeom -~~~~~~~~~~~ +`mju_rayGeom <#mju_rayGeom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_rayGeom @@ -1102,8 +1102,8 @@ Intersect ray with pure geom, return nearest distance or -1 if no intersection. .. _mju_rayFlex: -mju_rayFlex -~~~~~~~~~~~ +`mju_rayFlex <#mju_rayFlex>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_rayFlex @@ -1112,8 +1112,8 @@ and also output nearest vertex id. .. _mju_raySkin: -mju_raySkin -~~~~~~~~~~~ +`mju_raySkin <#mju_raySkin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_raySkin @@ -1129,8 +1129,8 @@ These functions can be used to print various quantities to the screen for debugg .. _mj_printFormattedModel: -mj_printFormattedModel -~~~~~~~~~~~~~~~~~~~~~~ +`mj_printFormattedModel <#mj_printFormattedModel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_printFormattedModel @@ -1139,8 +1139,8 @@ float_format must be a valid printf-style format string for a single float value .. _mj_printModel: -mj_printModel -~~~~~~~~~~~~~ +`mj_printModel <#mj_printModel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_printModel @@ -1148,8 +1148,8 @@ Print model to text file. .. _mj_printFormattedData: -mj_printFormattedData -~~~~~~~~~~~~~~~~~~~~~ +`mj_printFormattedData <#mj_printFormattedData>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_printFormattedData @@ -1158,8 +1158,8 @@ float_format must be a valid printf-style format string for a single float value .. _mj_printData: -mj_printData -~~~~~~~~~~~~ +`mj_printData <#mj_printData>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_printData @@ -1167,8 +1167,8 @@ Print data to text file. .. _mju_printMat: -mju_printMat -~~~~~~~~~~~~ +`mju_printMat <#mju_printMat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_printMat @@ -1176,8 +1176,8 @@ Print matrix to screen. .. _mju_printMatSparse: -mju_printMatSparse -~~~~~~~~~~~~~~~~~~ +`mju_printMatSparse <#mju_printMatSparse>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_printMatSparse @@ -1185,8 +1185,8 @@ Print sparse matrix to screen. .. _mj_printSchema: -mj_printSchema -~~~~~~~~~~~~~~ +`mj_printSchema <#mj_printSchema>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_printSchema @@ -1209,8 +1209,8 @@ The VFS must first be allocated using :ref:`mj_defaultVFS` and must be freed wit .. _mj_defaultVFS: -mj_defaultVFS -~~~~~~~~~~~~~ +`mj_defaultVFS <#mj_defaultVFS>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_defaultVFS @@ -1218,8 +1218,8 @@ Initialize an empty VFS, :ref:`mj_deleteVFS` must be called to deallocate the VF .. _mj_addFileVFS: -mj_addFileVFS -~~~~~~~~~~~~~ +`mj_addFileVFS <#mj_addFileVFS>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_addFileVFS @@ -1228,8 +1228,8 @@ Add file to VFS. The directory argument is optional and can be NULL or empty. Re .. _mj_addBufferVFS: -mj_addBufferVFS -~~~~~~~~~~~~~~~ +`mj_addBufferVFS <#mj_addBufferVFS>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_addBufferVFS @@ -1237,8 +1237,8 @@ Add file to VFS from buffer, return 0: success, 2: repeated name, -1: failed to .. _mj_deleteFileVFS: -mj_deleteFileVFS -~~~~~~~~~~~~~~~~ +`mj_deleteFileVFS <#mj_deleteFileVFS>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_deleteFileVFS @@ -1246,8 +1246,8 @@ Delete file from VFS, return 0: success, -1: not found in VFS. .. _mj_deleteVFS: -mj_deleteVFS -~~~~~~~~~~~~ +`mj_deleteVFS <#mj_deleteVFS>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_deleteVFS @@ -1263,8 +1263,8 @@ in the code samples. .. _mj_defaultLROpt: -mj_defaultLROpt -~~~~~~~~~~~~~~~ +`mj_defaultLROpt <#mj_defaultLROpt>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_defaultLROpt @@ -1272,8 +1272,8 @@ Set default options for length range computation. .. _mj_defaultSolRefImp: -mj_defaultSolRefImp -~~~~~~~~~~~~~~~~~~~ +`mj_defaultSolRefImp <#mj_defaultSolRefImp>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_defaultSolRefImp @@ -1281,8 +1281,8 @@ Set solver parameters to default values. .. _mj_defaultOption: -mj_defaultOption -~~~~~~~~~~~~~~~~ +`mj_defaultOption <#mj_defaultOption>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_defaultOption @@ -1290,8 +1290,8 @@ Set physics options to default values. .. _mj_defaultVisual: -mj_defaultVisual -~~~~~~~~~~~~~~~~ +`mj_defaultVisual <#mj_defaultVisual>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_defaultVisual @@ -1299,8 +1299,8 @@ Set visual options to default values. .. _mj_copyModel: -mj_copyModel -~~~~~~~~~~~~ +`mj_copyModel <#mj_copyModel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_copyModel @@ -1308,8 +1308,8 @@ Copy mjModel, allocate new if dest is NULL. .. _mj_saveModel: -mj_saveModel -~~~~~~~~~~~~ +`mj_saveModel <#mj_saveModel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_saveModel @@ -1317,8 +1317,8 @@ Save model to binary MJB file or memory buffer; buffer has precedence when given .. _mj_loadModel: -mj_loadModel -~~~~~~~~~~~~ +`mj_loadModel <#mj_loadModel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_loadModel @@ -1327,8 +1327,8 @@ If vfs is not NULL, look up file in vfs before reading from disk. .. _mj_deleteModel: -mj_deleteModel -~~~~~~~~~~~~~~ +`mj_deleteModel <#mj_deleteModel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_deleteModel @@ -1336,8 +1336,8 @@ Free memory allocation in model. .. _mj_sizeModel: -mj_sizeModel -~~~~~~~~~~~~ +`mj_sizeModel <#mj_sizeModel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_sizeModel @@ -1345,8 +1345,8 @@ Return size of buffer needed to hold model. .. _mj_makeData: -mj_makeData -~~~~~~~~~~~ +`mj_makeData <#mj_makeData>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_makeData @@ -1355,8 +1355,8 @@ If the model buffer is unallocated the initial configuration will not be set. .. _mj_copyData: -mj_copyData -~~~~~~~~~~~ +`mj_copyData <#mj_copyData>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_copyData @@ -1365,8 +1365,8 @@ m is only required to contain the size fields from MJMODEL_INTS. .. _mj_resetData: -mj_resetData -~~~~~~~~~~~~ +`mj_resetData <#mj_resetData>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_resetData @@ -1374,8 +1374,8 @@ Reset data to defaults. .. _mj_resetDataDebug: -mj_resetDataDebug -~~~~~~~~~~~~~~~~~ +`mj_resetDataDebug <#mj_resetDataDebug>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_resetDataDebug @@ -1383,8 +1383,8 @@ Reset data to defaults, fill everything else with debug_value. .. _mj_resetDataKeyframe: -mj_resetDataKeyframe -~~~~~~~~~~~~~~~~~~~~ +`mj_resetDataKeyframe <#mj_resetDataKeyframe>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_resetDataKeyframe @@ -1392,8 +1392,8 @@ Reset data. If 0 <= key < nkey, set fields from specified keyframe. .. _mj_markStack: -mj_markStack -~~~~~~~~~~~~ +`mj_markStack <#mj_markStack>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_markStack @@ -1401,8 +1401,8 @@ Mark a new frame on the mjData stack. .. _mj_freeStack: -mj_freeStack -~~~~~~~~~~~~ +`mj_freeStack <#mj_freeStack>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_freeStack @@ -1411,8 +1411,8 @@ to mj_markStack must no longer be used afterwards. .. _mj_stackAllocByte: -mj_stackAllocByte -~~~~~~~~~~~~~~~~~ +`mj_stackAllocByte <#mj_stackAllocByte>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_stackAllocByte @@ -1421,8 +1421,8 @@ Call mju_error on stack overflow. .. _mj_stackAllocNum: -mj_stackAllocNum -~~~~~~~~~~~~~~~~ +`mj_stackAllocNum <#mj_stackAllocNum>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_stackAllocNum @@ -1430,8 +1430,8 @@ Allocate array of mjtNums on mjData stack. Call mju_error on stack overflow. .. _mj_stackAllocInt: -mj_stackAllocInt -~~~~~~~~~~~~~~~~ +`mj_stackAllocInt <#mj_stackAllocInt>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_stackAllocInt @@ -1439,8 +1439,8 @@ Allocate array of ints on mjData stack. Call mju_error on stack overflow. .. _mj_deleteData: -mj_deleteData -~~~~~~~~~~~~~ +`mj_deleteData <#mj_deleteData>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_deleteData @@ -1448,8 +1448,8 @@ Free memory allocation in mjData. .. _mj_resetCallbacks: -mj_resetCallbacks -~~~~~~~~~~~~~~~~~ +`mj_resetCallbacks <#mj_resetCallbacks>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_resetCallbacks @@ -1457,8 +1457,8 @@ Reset all callbacks to NULL pointers (NULL is the default). .. _mj_setConst: -mj_setConst -~~~~~~~~~~~ +`mj_setConst <#mj_setConst>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_setConst @@ -1466,8 +1466,8 @@ Set constant fields of mjModel, corresponding to qpos0 configuration. .. _mj_setLengthRange: -mj_setLengthRange -~~~~~~~~~~~~~~~~~ +`mj_setLengthRange <#mj_setLengthRange>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_setLengthRange @@ -1475,8 +1475,8 @@ Set actuator_lengthrange for specified actuator; return 1 if ok, 0 if error. .. _mj_makeSpec: -mj_makeSpec -~~~~~~~~~~~ +`mj_makeSpec <#mj_makeSpec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_makeSpec @@ -1484,8 +1484,8 @@ Create empty spec. .. _mj_copySpec: -mj_copySpec -~~~~~~~~~~~ +`mj_copySpec <#mj_copySpec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_copySpec @@ -1493,8 +1493,8 @@ Copy spec. .. _mj_deleteSpec: -mj_deleteSpec -~~~~~~~~~~~~~ +`mj_deleteSpec <#mj_deleteSpec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_deleteSpec @@ -1502,8 +1502,8 @@ Free memory allocation in mjSpec. .. _mjs_activatePlugin: -mjs_activatePlugin -~~~~~~~~~~~~~~~~~~ +`mjs_activatePlugin <#mjs_activatePlugin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_activatePlugin @@ -1516,8 +1516,8 @@ Error and memory .. _mju_error: -mju_error -~~~~~~~~~ +`mju_error <#mju_error>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_error @@ -1525,8 +1525,8 @@ Main error function; does not return to caller. .. _mju_error_i: -mju_error_i -~~~~~~~~~~~ +`mju_error_i <#mju_error_i>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_error_i @@ -1534,8 +1534,8 @@ Deprecated: use mju_error. .. _mju_error_s: -mju_error_s -~~~~~~~~~~~ +`mju_error_s <#mju_error_s>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_error_s @@ -1543,8 +1543,8 @@ Deprecated: use mju_error. .. _mju_warning: -mju_warning -~~~~~~~~~~~ +`mju_warning <#mju_warning>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_warning @@ -1552,8 +1552,8 @@ Main warning function; returns to caller. .. _mju_warning_i: -mju_warning_i -~~~~~~~~~~~~~ +`mju_warning_i <#mju_warning_i>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_warning_i @@ -1561,8 +1561,8 @@ Deprecated: use mju_warning. .. _mju_warning_s: -mju_warning_s -~~~~~~~~~~~~~ +`mju_warning_s <#mju_warning_s>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_warning_s @@ -1570,8 +1570,8 @@ Deprecated: use mju_warning. .. _mju_clearHandlers: -mju_clearHandlers -~~~~~~~~~~~~~~~~~ +`mju_clearHandlers <#mju_clearHandlers>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_clearHandlers @@ -1579,8 +1579,8 @@ Clear user error and memory handlers. .. _mju_malloc: -mju_malloc -~~~~~~~~~~ +`mju_malloc <#mju_malloc>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_malloc @@ -1588,8 +1588,8 @@ Allocate memory; byte-align on 64; pad size to multiple of 64. .. _mju_free: -mju_free -~~~~~~~~ +`mju_free <#mju_free>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_free @@ -1597,8 +1597,8 @@ Free memory, using free() by default. .. _mj_warning: -mj_warning -~~~~~~~~~~ +`mj_warning <#mj_warning>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mj_warning @@ -1606,8 +1606,8 @@ High-level warning function: count warnings in mjData, print only the first. .. _mju_writeLog: -mju_writeLog -~~~~~~~~~~~~ +`mju_writeLog <#mju_writeLog>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_writeLog @@ -1615,8 +1615,8 @@ Write [datetime, type: message] to MUJOCO_LOG.TXT. .. _mjs_getError: -mjs_getError -~~~~~~~~~~~~ +`mjs_getError <#mjs_getError>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_getError @@ -1624,8 +1624,8 @@ Get compiler error message from spec. .. _mjs_isWarning: -mjs_isWarning -~~~~~~~~~~~~~ +`mjs_isWarning <#mjs_isWarning>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_isWarning @@ -1638,8 +1638,8 @@ Miscellaneous .. _mju_muscleGain: -mju_muscleGain -~~~~~~~~~~~~~~ +`mju_muscleGain <#mju_muscleGain>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_muscleGain @@ -1647,8 +1647,8 @@ Muscle active force, prm = (range[2], force, scale, lmin, lmax, vmax, fpmax, fvm .. _mju_muscleBias: -mju_muscleBias -~~~~~~~~~~~~~~ +`mju_muscleBias <#mju_muscleBias>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_muscleBias @@ -1656,8 +1656,8 @@ Muscle passive force, prm = (range[2], force, scale, lmin, lmax, vmax, fpmax, fv .. _mju_muscleDynamics: -mju_muscleDynamics -~~~~~~~~~~~~~~~~~~ +`mju_muscleDynamics <#mju_muscleDynamics>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_muscleDynamics @@ -1665,8 +1665,8 @@ Muscle activation dynamics, prm = (tau_act, tau_deact, smoothing_width). .. _mju_encodePyramid: -mju_encodePyramid -~~~~~~~~~~~~~~~~~ +`mju_encodePyramid <#mju_encodePyramid>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_encodePyramid @@ -1674,8 +1674,8 @@ Convert contact force to pyramid representation. .. _mju_decodePyramid: -mju_decodePyramid -~~~~~~~~~~~~~~~~~ +`mju_decodePyramid <#mju_decodePyramid>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_decodePyramid @@ -1683,8 +1683,8 @@ Convert pyramid representation to contact force. .. _mju_springDamper: -mju_springDamper -~~~~~~~~~~~~~~~~ +`mju_springDamper <#mju_springDamper>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_springDamper @@ -1692,8 +1692,8 @@ Integrate spring-damper analytically, return pos(dt). .. _mju_min: -mju_min -~~~~~~~ +`mju_min <#mju_min>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_min @@ -1701,8 +1701,8 @@ Return min(a,b) with single evaluation of a and b. .. _mju_max: -mju_max -~~~~~~~ +`mju_max <#mju_max>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_max @@ -1710,8 +1710,8 @@ Return max(a,b) with single evaluation of a and b. .. _mju_clip: -mju_clip -~~~~~~~~ +`mju_clip <#mju_clip>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_clip @@ -1719,8 +1719,8 @@ Clip x to the range [min, max]. .. _mju_sign: -mju_sign -~~~~~~~~ +`mju_sign <#mju_sign>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_sign @@ -1728,8 +1728,8 @@ Return sign of x: +1, -1 or 0. .. _mju_round: -mju_round -~~~~~~~~~ +`mju_round <#mju_round>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_round @@ -1737,8 +1737,8 @@ Round x to nearest integer. .. _mju_type2Str: -mju_type2Str -~~~~~~~~~~~~ +`mju_type2Str <#mju_type2Str>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_type2Str @@ -1746,8 +1746,8 @@ Convert type id (mjtObj) to type name. .. _mju_str2Type: -mju_str2Type -~~~~~~~~~~~~ +`mju_str2Type <#mju_str2Type>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_str2Type @@ -1755,8 +1755,8 @@ Convert type name to type id (mjtObj). .. _mju_writeNumBytes: -mju_writeNumBytes -~~~~~~~~~~~~~~~~~ +`mju_writeNumBytes <#mju_writeNumBytes>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_writeNumBytes @@ -1764,8 +1764,8 @@ Return human readable number of bytes using standard letter suffix. .. _mju_warningText: -mju_warningText -~~~~~~~~~~~~~~~ +`mju_warningText <#mju_warningText>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_warningText @@ -1773,8 +1773,8 @@ Construct a warning message given the warning type and info. .. _mju_isBad: -mju_isBad -~~~~~~~~~ +`mju_isBad <#mju_isBad>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_isBad @@ -1782,8 +1782,8 @@ Return 1 if nan or abs(x)>mjMAXVAL, 0 otherwise. Used by check functions. .. _mju_isZero: -mju_isZero -~~~~~~~~~~ +`mju_isZero <#mju_isZero>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_isZero @@ -1791,8 +1791,8 @@ Return 1 if all elements are 0. .. _mju_standardNormal: -mju_standardNormal -~~~~~~~~~~~~~~~~~~ +`mju_standardNormal <#mju_standardNormal>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_standardNormal @@ -1800,8 +1800,8 @@ Standard normal random number generator (optional second number). .. _mju_f2n: -mju_f2n -~~~~~~~ +`mju_f2n <#mju_f2n>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_f2n @@ -1809,8 +1809,8 @@ Convert from float to mjtNum. .. _mju_n2f: -mju_n2f -~~~~~~~ +`mju_n2f <#mju_n2f>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_n2f @@ -1818,8 +1818,8 @@ Convert from mjtNum to float. .. _mju_d2n: -mju_d2n -~~~~~~~ +`mju_d2n <#mju_d2n>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_d2n @@ -1827,8 +1827,8 @@ Convert from double to mjtNum. .. _mju_n2d: -mju_n2d -~~~~~~~ +`mju_n2d <#mju_n2d>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_n2d @@ -1836,8 +1836,8 @@ Convert from mjtNum to double. .. _mju_insertionSort: -mju_insertionSort -~~~~~~~~~~~~~~~~~ +`mju_insertionSort <#mju_insertionSort>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_insertionSort @@ -1845,8 +1845,8 @@ Insertion sort, resulting list is in increasing order. .. _mju_insertionSortInt: -mju_insertionSortInt -~~~~~~~~~~~~~~~~~~~~ +`mju_insertionSortInt <#mju_insertionSortInt>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_insertionSortInt @@ -1854,8 +1854,8 @@ Integer insertion sort, resulting list is in increasing order. .. _mju_Halton: -mju_Halton -~~~~~~~~~~ +`mju_Halton <#mju_Halton>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_Halton @@ -1863,8 +1863,8 @@ Generate Halton sequence. .. _mju_strncpy: -mju_strncpy -~~~~~~~~~~~ +`mju_strncpy <#mju_strncpy>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_strncpy @@ -1872,8 +1872,8 @@ Call strncpy, then set dst[n-1] = 0. .. _mju_sigmoid: -mju_sigmoid -~~~~~~~~~~~ +`mju_sigmoid <#mju_sigmoid>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_sigmoid @@ -1897,8 +1897,8 @@ illustrated in :ref:`simulate`. .. _mjv_defaultCamera: -mjv_defaultCamera -~~~~~~~~~~~~~~~~~ +`mjv_defaultCamera <#mjv_defaultCamera>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_defaultCamera @@ -1906,8 +1906,8 @@ Set default camera. .. _mjv_defaultFreeCamera: -mjv_defaultFreeCamera -~~~~~~~~~~~~~~~~~~~~~ +`mjv_defaultFreeCamera <#mjv_defaultFreeCamera>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_defaultFreeCamera @@ -1915,8 +1915,8 @@ Set default free camera. .. _mjv_defaultPerturb: -mjv_defaultPerturb -~~~~~~~~~~~~~~~~~~ +`mjv_defaultPerturb <#mjv_defaultPerturb>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_defaultPerturb @@ -1924,8 +1924,8 @@ Set default perturbation. .. _mjv_room2model: -mjv_room2model -~~~~~~~~~~~~~~ +`mjv_room2model <#mjv_room2model>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_room2model @@ -1933,8 +1933,8 @@ Transform pose from room to model space. .. _mjv_model2room: -mjv_model2room -~~~~~~~~~~~~~~ +`mjv_model2room <#mjv_model2room>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_model2room @@ -1942,8 +1942,8 @@ Transform pose from model to room space. .. _mjv_cameraInModel: -mjv_cameraInModel -~~~~~~~~~~~~~~~~~ +`mjv_cameraInModel <#mjv_cameraInModel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_cameraInModel @@ -1951,8 +1951,8 @@ Get camera info in model space; average left and right OpenGL cameras. .. _mjv_cameraInRoom: -mjv_cameraInRoom -~~~~~~~~~~~~~~~~ +`mjv_cameraInRoom <#mjv_cameraInRoom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_cameraInRoom @@ -1960,8 +1960,8 @@ Get camera info in room space; average left and right OpenGL cameras. .. _mjv_frustumHeight: -mjv_frustumHeight -~~~~~~~~~~~~~~~~~ +`mjv_frustumHeight <#mjv_frustumHeight>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_frustumHeight @@ -1969,8 +1969,8 @@ Get frustum height at unit distance from camera; average left and right OpenGL c .. _mjv_alignToCamera: -mjv_alignToCamera -~~~~~~~~~~~~~~~~~ +`mjv_alignToCamera <#mjv_alignToCamera>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_alignToCamera @@ -1978,8 +1978,8 @@ Rotate 3D vec in horizontal plane by angle between (0,1) and (forward_x,forward_ .. _mjv_moveCamera: -mjv_moveCamera -~~~~~~~~~~~~~~ +`mjv_moveCamera <#mjv_moveCamera>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_moveCamera @@ -1987,8 +1987,8 @@ Move camera with mouse; action is mjtMouse. .. _mjv_moveCameraFromState: -mjv_moveCameraFromState -~~~~~~~~~~~~~~~~~~~~~~~ +`mjv_moveCameraFromState <#mjv_moveCameraFromState>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_moveCameraFromState @@ -1996,8 +1996,8 @@ Move camera with mouse given a scene state; action is mjtMouse. .. _mjv_movePerturb: -mjv_movePerturb -~~~~~~~~~~~~~~~ +`mjv_movePerturb <#mjv_movePerturb>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_movePerturb @@ -2005,8 +2005,8 @@ Move perturb object with mouse; action is mjtMouse. .. _mjv_movePerturbFromState: -mjv_movePerturbFromState -~~~~~~~~~~~~~~~~~~~~~~~~ +`mjv_movePerturbFromState <#mjv_movePerturbFromState>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_movePerturbFromState @@ -2014,8 +2014,8 @@ Move perturb object with mouse given a scene state; action is mjtMouse. .. _mjv_moveModel: -mjv_moveModel -~~~~~~~~~~~~~ +`mjv_moveModel <#mjv_moveModel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_moveModel @@ -2023,8 +2023,8 @@ Move model with mouse; action is mjtMouse. .. _mjv_initPerturb: -mjv_initPerturb -~~~~~~~~~~~~~~~ +`mjv_initPerturb <#mjv_initPerturb>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_initPerturb @@ -2032,8 +2032,8 @@ Copy perturb pos,quat from selected body; set scale for perturbation. .. _mjv_applyPerturbPose: -mjv_applyPerturbPose -~~~~~~~~~~~~~~~~~~~~ +`mjv_applyPerturbPose <#mjv_applyPerturbPose>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_applyPerturbPose @@ -2042,8 +2042,8 @@ Write d->qpos only if flg_paused and subtree root for selected body has free joi .. _mjv_applyPerturbForce: -mjv_applyPerturbForce -~~~~~~~~~~~~~~~~~~~~~ +`mjv_applyPerturbForce <#mjv_applyPerturbForce>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_applyPerturbForce @@ -2051,8 +2051,8 @@ Set perturb force,torque in d->xfrc_applied, if selected body is dynamic. .. _mjv_averageCamera: -mjv_averageCamera -~~~~~~~~~~~~~~~~~ +`mjv_averageCamera <#mjv_averageCamera>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_averageCamera @@ -2060,8 +2060,8 @@ Return the average of two OpenGL cameras. .. _mjv_select: -mjv_select -~~~~~~~~~~ +`mjv_select <#mjv_select>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_select @@ -2082,8 +2082,8 @@ Unity or Unreal Engine. See :ref:`simulate` for illustration of how .. _mjv_defaultOption: -mjv_defaultOption -~~~~~~~~~~~~~~~~~ +`mjv_defaultOption <#mjv_defaultOption>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_defaultOption @@ -2091,8 +2091,8 @@ Set default visualization options. .. _mjv_defaultFigure: -mjv_defaultFigure -~~~~~~~~~~~~~~~~~ +`mjv_defaultFigure <#mjv_defaultFigure>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_defaultFigure @@ -2100,8 +2100,8 @@ Set default figure. .. _mjv_initGeom: -mjv_initGeom -~~~~~~~~~~~~ +`mjv_initGeom <#mjv_initGeom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_initGeom @@ -2109,8 +2109,8 @@ Initialize given geom fields when not NULL, set the rest to their default values .. _mjv_connector: -mjv_connector -~~~~~~~~~~~~~ +`mjv_connector <#mjv_connector>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_connector @@ -2120,8 +2120,8 @@ Width of mjGEOM_LINE is denominated in pixels. .. _mjv_defaultScene: -mjv_defaultScene -~~~~~~~~~~~~~~~~ +`mjv_defaultScene <#mjv_defaultScene>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_defaultScene @@ -2129,8 +2129,8 @@ Set default abstract scene. .. _mjv_makeScene: -mjv_makeScene -~~~~~~~~~~~~~ +`mjv_makeScene <#mjv_makeScene>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_makeScene @@ -2138,8 +2138,8 @@ Allocate resources in abstract scene. .. _mjv_freeScene: -mjv_freeScene -~~~~~~~~~~~~~ +`mjv_freeScene <#mjv_freeScene>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_freeScene @@ -2147,8 +2147,8 @@ Free abstract scene. .. _mjv_updateScene: -mjv_updateScene -~~~~~~~~~~~~~~~ +`mjv_updateScene <#mjv_updateScene>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_updateScene @@ -2156,8 +2156,8 @@ Update entire scene given model state. .. _mjv_updateSceneFromState: -mjv_updateSceneFromState -~~~~~~~~~~~~~~~~~~~~~~~~ +`mjv_updateSceneFromState <#mjv_updateSceneFromState>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_updateSceneFromState @@ -2165,8 +2165,8 @@ Update entire scene from a scene state, return the number of new mjWARN_VGEOMFUL .. _mjv_defaultSceneState: -mjv_defaultSceneState -~~~~~~~~~~~~~~~~~~~~~ +`mjv_defaultSceneState <#mjv_defaultSceneState>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_defaultSceneState @@ -2174,8 +2174,8 @@ Set default scene state. .. _mjv_makeSceneState: -mjv_makeSceneState -~~~~~~~~~~~~~~~~~~ +`mjv_makeSceneState <#mjv_makeSceneState>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_makeSceneState @@ -2183,8 +2183,8 @@ Allocate resources and initialize a scene state object. .. _mjv_freeSceneState: -mjv_freeSceneState -~~~~~~~~~~~~~~~~~~ +`mjv_freeSceneState <#mjv_freeSceneState>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_freeSceneState @@ -2192,8 +2192,8 @@ Free scene state. .. _mjv_updateSceneState: -mjv_updateSceneState -~~~~~~~~~~~~~~~~~~~~ +`mjv_updateSceneState <#mjv_updateSceneState>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_updateSceneState @@ -2201,8 +2201,8 @@ Update a scene state from model and data. .. _mjv_addGeoms: -mjv_addGeoms -~~~~~~~~~~~~ +`mjv_addGeoms <#mjv_addGeoms>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_addGeoms @@ -2210,8 +2210,8 @@ Add geoms from selected categories. .. _mjv_makeLights: -mjv_makeLights -~~~~~~~~~~~~~~ +`mjv_makeLights <#mjv_makeLights>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_makeLights @@ -2219,8 +2219,8 @@ Make list of lights. .. _mjv_updateCamera: -mjv_updateCamera -~~~~~~~~~~~~~~~~ +`mjv_updateCamera <#mjv_updateCamera>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_updateCamera @@ -2228,8 +2228,8 @@ Update camera. .. _mjv_updateSkin: -mjv_updateSkin -~~~~~~~~~~~~~~ +`mjv_updateSkin <#mjv_updateSkin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjv_updateSkin @@ -2245,8 +2245,8 @@ of how to use these functions. .. _mjr_defaultContext: -mjr_defaultContext -~~~~~~~~~~~~~~~~~~ +`mjr_defaultContext <#mjr_defaultContext>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_defaultContext @@ -2254,8 +2254,8 @@ Set default mjrContext. .. _mjr_makeContext: -mjr_makeContext -~~~~~~~~~~~~~~~ +`mjr_makeContext <#mjr_makeContext>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_makeContext @@ -2263,8 +2263,8 @@ Allocate resources in custom OpenGL context; fontscale is mjtFontScale. .. _mjr_changeFont: -mjr_changeFont -~~~~~~~~~~~~~~ +`mjr_changeFont <#mjr_changeFont>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_changeFont @@ -2272,8 +2272,8 @@ Change font of existing context. .. _mjr_addAux: -mjr_addAux -~~~~~~~~~~ +`mjr_addAux <#mjr_addAux>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_addAux @@ -2281,8 +2281,8 @@ Add Aux buffer with given index to context; free previous Aux buffer. .. _mjr_freeContext: -mjr_freeContext -~~~~~~~~~~~~~~~ +`mjr_freeContext <#mjr_freeContext>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_freeContext @@ -2290,8 +2290,8 @@ Free resources in custom OpenGL context, set to default. .. _mjr_resizeOffscreen: -mjr_resizeOffscreen -~~~~~~~~~~~~~~~~~~~ +`mjr_resizeOffscreen <#mjr_resizeOffscreen>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_resizeOffscreen @@ -2299,8 +2299,8 @@ Resize offscreen buffers. .. _mjr_uploadTexture: -mjr_uploadTexture -~~~~~~~~~~~~~~~~~ +`mjr_uploadTexture <#mjr_uploadTexture>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_uploadTexture @@ -2308,8 +2308,8 @@ Upload texture to GPU, overwriting previous upload if any. .. _mjr_uploadMesh: -mjr_uploadMesh -~~~~~~~~~~~~~~ +`mjr_uploadMesh <#mjr_uploadMesh>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_uploadMesh @@ -2317,8 +2317,8 @@ Upload mesh to GPU, overwriting previous upload if any. .. _mjr_uploadHField: -mjr_uploadHField -~~~~~~~~~~~~~~~~ +`mjr_uploadHField <#mjr_uploadHField>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_uploadHField @@ -2326,8 +2326,8 @@ Upload height field to GPU, overwriting previous upload if any. .. _mjr_restoreBuffer: -mjr_restoreBuffer -~~~~~~~~~~~~~~~~~ +`mjr_restoreBuffer <#mjr_restoreBuffer>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_restoreBuffer @@ -2335,8 +2335,8 @@ Make con->currentBuffer current again. .. _mjr_setBuffer: -mjr_setBuffer -~~~~~~~~~~~~~ +`mjr_setBuffer <#mjr_setBuffer>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_setBuffer @@ -2345,8 +2345,8 @@ If only one buffer is available, set that buffer and ignore framebuffer argument .. _mjr_readPixels: -mjr_readPixels -~~~~~~~~~~~~~~ +`mjr_readPixels <#mjr_readPixels>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_readPixels @@ -2355,8 +2355,8 @@ Viewport is in OpenGL framebuffer; client buffer starts at (0,0). .. _mjr_drawPixels: -mjr_drawPixels -~~~~~~~~~~~~~~ +`mjr_drawPixels <#mjr_drawPixels>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_drawPixels @@ -2365,8 +2365,8 @@ Viewport is in OpenGL framebuffer; client buffer starts at (0,0). .. _mjr_blitBuffer: -mjr_blitBuffer -~~~~~~~~~~~~~~ +`mjr_blitBuffer <#mjr_blitBuffer>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_blitBuffer @@ -2375,8 +2375,8 @@ If src, dst have different size and flg_depth==0, color is interpolated with GL_ .. _mjr_setAux: -mjr_setAux -~~~~~~~~~~ +`mjr_setAux <#mjr_setAux>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_setAux @@ -2384,8 +2384,8 @@ Set Aux buffer for custom OpenGL rendering (call restoreBuffer when done). .. _mjr_blitAux: -mjr_blitAux -~~~~~~~~~~~ +`mjr_blitAux <#mjr_blitAux>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_blitAux @@ -2393,8 +2393,8 @@ Blit from Aux buffer to con->currentBuffer. .. _mjr_text: -mjr_text -~~~~~~~~ +`mjr_text <#mjr_text>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_text @@ -2402,8 +2402,8 @@ Draw text at (x,y) in relative coordinates; font is mjtFont. .. _mjr_overlay: -mjr_overlay -~~~~~~~~~~~ +`mjr_overlay <#mjr_overlay>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_overlay @@ -2411,8 +2411,8 @@ Draw text overlay; font is mjtFont; gridpos is mjtGridPos. .. _mjr_maxViewport: -mjr_maxViewport -~~~~~~~~~~~~~~~ +`mjr_maxViewport <#mjr_maxViewport>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_maxViewport @@ -2420,8 +2420,8 @@ Get maximum viewport for active buffer. .. _mjr_rectangle: -mjr_rectangle -~~~~~~~~~~~~~ +`mjr_rectangle <#mjr_rectangle>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_rectangle @@ -2429,8 +2429,8 @@ Draw rectangle. .. _mjr_label: -mjr_label -~~~~~~~~~ +`mjr_label <#mjr_label>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_label @@ -2438,8 +2438,8 @@ Draw rectangle with centered text. .. _mjr_figure: -mjr_figure -~~~~~~~~~~ +`mjr_figure <#mjr_figure>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_figure @@ -2447,8 +2447,8 @@ Draw 2D figure. .. _mjr_render: -mjr_render -~~~~~~~~~~ +`mjr_render <#mjr_render>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_render @@ -2456,8 +2456,8 @@ Render 3D scene. .. _mjr_finish: -mjr_finish -~~~~~~~~~~ +`mjr_finish <#mjr_finish>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_finish @@ -2465,8 +2465,8 @@ Call glFinish. .. _mjr_getError: -mjr_getError -~~~~~~~~~~~~ +`mjr_getError <#mjr_getError>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_getError @@ -2474,8 +2474,8 @@ Call glGetError and return result. .. _mjr_findRect: -mjr_findRect -~~~~~~~~~~~~ +`mjr_findRect <#mjr_findRect>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjr_findRect @@ -2490,8 +2490,8 @@ For a high-level description of the UI framework, see :ref:`UI`. .. _mjui_themeSpacing: -mjui_themeSpacing -~~~~~~~~~~~~~~~~~ +`mjui_themeSpacing <#mjui_themeSpacing>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjui_themeSpacing @@ -2499,8 +2499,8 @@ Get builtin UI theme spacing (ind: 0-1). .. _mjui_themeColor: -mjui_themeColor -~~~~~~~~~~~~~~~ +`mjui_themeColor <#mjui_themeColor>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjui_themeColor @@ -2508,8 +2508,8 @@ Get builtin UI theme color (ind: 0-3). .. _mjui_add: -mjui_add -~~~~~~~~ +`mjui_add <#mjui_add>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjui_add @@ -2522,8 +2522,8 @@ of the UI. Keep in mind that there is a maximum preallocated number of sections .. _mjui_addToSection: -mjui_addToSection -~~~~~~~~~~~~~~~~~ +`mjui_addToSection <#mjui_addToSection>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjui_addToSection @@ -2531,8 +2531,8 @@ Add definitions to UI section. .. _mjui_resize: -mjui_resize -~~~~~~~~~~~ +`mjui_resize <#mjui_resize>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjui_resize @@ -2540,8 +2540,8 @@ Compute UI sizes. .. _mjui_update: -mjui_update -~~~~~~~~~~~ +`mjui_update <#mjui_update>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjui_update @@ -2554,8 +2554,8 @@ specifies the section and the item that was modified. A value of -1 means all it .. _mjui_event: -mjui_event -~~~~~~~~~~ +`mjui_event <#mjui_event>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjui_event @@ -2566,8 +2566,8 @@ depending on which UI item was modified and what the state of that item is after .. _mjui_render: -mjui_render -~~~~~~~~~~~ +`mjui_render <#mjui_render>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjui_render @@ -2586,8 +2586,8 @@ outputs of derivative functions are the trailing rather than leading arguments. .. _mjd_transitionFD: -mjd_transitionFD -~~~~~~~~~~~~~~~~ +`mjd_transitionFD <#mjd_transitionFD>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjd_transitionFD @@ -2635,8 +2635,8 @@ These matrices and their dimensions are: .. _mjd_inverseFD: -mjd_inverseFD -~~~~~~~~~~~~~ +`mjd_inverseFD <#mjd_inverseFD>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjd_inverseFD @@ -2678,8 +2678,8 @@ using finite-differencing. These matrices and their dimensions are: .. _mjd_subQuat: -mjd_subQuat -~~~~~~~~~~~ +`mjd_subQuat <#mjd_subQuat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjd_subQuat @@ -2687,8 +2687,8 @@ Derivatives of :ref:`mju_subQuat` (quaternion difference). .. _mjd_quatIntegrate: -mjd_quatIntegrate -~~~~~~~~~~~~~~~~~ +`mjd_quatIntegrate <#mjd_quatIntegrate>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjd_quatIntegrate @@ -2718,8 +2718,8 @@ Plugins ^^^^^^^ .. _mjp_defaultPlugin: -mjp_defaultPlugin -~~~~~~~~~~~~~~~~~ +`mjp_defaultPlugin <#mjp_defaultPlugin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_defaultPlugin @@ -2727,8 +2727,8 @@ Set default plugin definition. .. _mjp_registerPlugin: -mjp_registerPlugin -~~~~~~~~~~~~~~~~~~ +`mjp_registerPlugin <#mjp_registerPlugin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_registerPlugin @@ -2741,8 +2741,8 @@ need not be the same. .. _mjp_pluginCount: -mjp_pluginCount -~~~~~~~~~~~~~~~ +`mjp_pluginCount <#mjp_pluginCount>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_pluginCount @@ -2750,8 +2750,8 @@ Return the number of globally registered plugins. .. _mjp_getPlugin: -mjp_getPlugin -~~~~~~~~~~~~~ +`mjp_getPlugin <#mjp_getPlugin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_getPlugin @@ -2759,8 +2759,8 @@ Look up a plugin by name. If slot is not NULL, also write its registered slot nu .. _mjp_getPluginAtSlot: -mjp_getPluginAtSlot -~~~~~~~~~~~~~~~~~~~ +`mjp_getPluginAtSlot <#mjp_getPluginAtSlot>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_getPluginAtSlot @@ -2768,8 +2768,8 @@ Look up a plugin by the registered slot number that was returned by mjp_register .. _mjp_defaultResourceProvider: -mjp_defaultResourceProvider -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +`mjp_defaultResourceProvider <#mjp_defaultResourceProvider>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_defaultResourceProvider @@ -2777,8 +2777,8 @@ Set default resource provider definition. .. _mjp_registerResourceProvider: -mjp_registerResourceProvider -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +`mjp_registerResourceProvider <#mjp_registerResourceProvider>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_registerResourceProvider @@ -2788,8 +2788,8 @@ returns a slot number > 0 on success. .. _mjp_resourceProviderCount: -mjp_resourceProviderCount -~~~~~~~~~~~~~~~~~~~~~~~~~ +`mjp_resourceProviderCount <#mjp_resourceProviderCount>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_resourceProviderCount @@ -2797,8 +2797,8 @@ Return the number of globally registered resource providers. .. _mjp_getResourceProvider: -mjp_getResourceProvider -~~~~~~~~~~~~~~~~~~~~~~~ +`mjp_getResourceProvider <#mjp_getResourceProvider>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_getResourceProvider @@ -2807,8 +2807,8 @@ If no match, return NULL. .. _mjp_getResourceProviderAtSlot: -mjp_getResourceProviderAtSlot -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +`mjp_getResourceProviderAtSlot <#mjp_getResourceProviderAtSlot>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjp_getResourceProviderAtSlot @@ -2821,8 +2821,8 @@ Threads ^^^^^^^ .. _mju_threadPoolCreate: -mju_threadPoolCreate -~~~~~~~~~~~~~~~~~~~~ +`mju_threadPoolCreate <#mju_threadPoolCreate>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_threadPoolCreate @@ -2830,8 +2830,8 @@ Create a thread pool with the specified number of threads running. .. _mju_bindThreadPool: -mju_bindThreadPool -~~~~~~~~~~~~~~~~~~ +`mju_bindThreadPool <#mju_bindThreadPool>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_bindThreadPool @@ -2839,8 +2839,8 @@ Adds a thread pool to mjData and configures it for multi-threaded use. .. _mju_threadPoolEnqueue: -mju_threadPoolEnqueue -~~~~~~~~~~~~~~~~~~~~~ +`mju_threadPoolEnqueue <#mju_threadPoolEnqueue>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_threadPoolEnqueue @@ -2848,8 +2848,8 @@ Enqueue a task in a thread pool. .. _mju_threadPoolDestroy: -mju_threadPoolDestroy -~~~~~~~~~~~~~~~~~~~~~ +`mju_threadPoolDestroy <#mju_threadPoolDestroy>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_threadPoolDestroy @@ -2857,8 +2857,8 @@ Destroy a thread pool. .. _mju_defaultTask: -mju_defaultTask -~~~~~~~~~~~~~~~ +`mju_defaultTask <#mju_defaultTask>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_defaultTask @@ -2866,8 +2866,8 @@ Initialize an mjTask. .. _mju_taskJoin: -mju_taskJoin -~~~~~~~~~~~~ +`mju_taskJoin <#mju_taskJoin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_taskJoin @@ -2997,8 +2997,8 @@ Vector math .. _mju_zero3: -mju_zero3 -~~~~~~~~~ +`mju_zero3 <#mju_zero3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_zero3 @@ -3006,8 +3006,8 @@ Set res = 0. .. _mju_copy3: -mju_copy3 -~~~~~~~~~ +`mju_copy3 <#mju_copy3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_copy3 @@ -3015,8 +3015,8 @@ Set res = vec. .. _mju_scl3: -mju_scl3 -~~~~~~~~ +`mju_scl3 <#mju_scl3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_scl3 @@ -3024,8 +3024,8 @@ Set res = vec*scl. .. _mju_add3: -mju_add3 -~~~~~~~~ +`mju_add3 <#mju_add3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_add3 @@ -3033,8 +3033,8 @@ Set res = vec1 + vec2. .. _mju_sub3: -mju_sub3 -~~~~~~~~ +`mju_sub3 <#mju_sub3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_sub3 @@ -3042,8 +3042,8 @@ Set res = vec1 - vec2. .. _mju_addTo3: -mju_addTo3 -~~~~~~~~~~ +`mju_addTo3 <#mju_addTo3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_addTo3 @@ -3051,8 +3051,8 @@ Set res = res + vec. .. _mju_subFrom3: -mju_subFrom3 -~~~~~~~~~~~~ +`mju_subFrom3 <#mju_subFrom3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_subFrom3 @@ -3060,8 +3060,8 @@ Set res = res - vec. .. _mju_addToScl3: -mju_addToScl3 -~~~~~~~~~~~~~ +`mju_addToScl3 <#mju_addToScl3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_addToScl3 @@ -3069,8 +3069,8 @@ Set res = res + vec*scl. .. _mju_addScl3: -mju_addScl3 -~~~~~~~~~~~ +`mju_addScl3 <#mju_addScl3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_addScl3 @@ -3078,8 +3078,8 @@ Set res = vec1 + vec2*scl. .. _mju_normalize3: -mju_normalize3 -~~~~~~~~~~~~~~ +`mju_normalize3 <#mju_normalize3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_normalize3 @@ -3087,8 +3087,8 @@ Normalize vector, return length before normalization. .. _mju_norm3: -mju_norm3 -~~~~~~~~~ +`mju_norm3 <#mju_norm3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_norm3 @@ -3096,8 +3096,8 @@ Return vector length (without normalizing the vector). .. _mju_dot3: -mju_dot3 -~~~~~~~~ +`mju_dot3 <#mju_dot3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_dot3 @@ -3105,8 +3105,8 @@ Return dot-product of vec1 and vec2. .. _mju_dist3: -mju_dist3 -~~~~~~~~~ +`mju_dist3 <#mju_dist3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_dist3 @@ -3114,8 +3114,8 @@ Return Cartesian distance between 3D vectors pos1 and pos2. .. _mju_mulMatVec3: -mju_mulMatVec3 -~~~~~~~~~~~~~~ +`mju_mulMatVec3 <#mju_mulMatVec3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulMatVec3 @@ -3123,8 +3123,8 @@ Multiply 3-by-3 matrix by vector: res = mat * vec. .. _mju_mulMatTVec3: -mju_mulMatTVec3 -~~~~~~~~~~~~~~~ +`mju_mulMatTVec3 <#mju_mulMatTVec3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulMatTVec3 @@ -3132,8 +3132,8 @@ Multiply transposed 3-by-3 matrix by vector: res = mat' * vec. .. _mju_cross: -mju_cross -~~~~~~~~~ +`mju_cross <#mju_cross>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_cross @@ -3141,8 +3141,8 @@ Compute cross-product: res = cross(a, b). .. _mju_zero4: -mju_zero4 -~~~~~~~~~ +`mju_zero4 <#mju_zero4>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_zero4 @@ -3150,8 +3150,8 @@ Set res = 0. .. _mju_unit4: -mju_unit4 -~~~~~~~~~ +`mju_unit4 <#mju_unit4>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_unit4 @@ -3159,8 +3159,8 @@ Set res = (1,0,0,0). .. _mju_copy4: -mju_copy4 -~~~~~~~~~ +`mju_copy4 <#mju_copy4>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_copy4 @@ -3168,8 +3168,8 @@ Set res = vec. .. _mju_normalize4: -mju_normalize4 -~~~~~~~~~~~~~~ +`mju_normalize4 <#mju_normalize4>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_normalize4 @@ -3177,8 +3177,8 @@ Normalize vector, return length before normalization. .. _mju_zero: -mju_zero -~~~~~~~~ +`mju_zero <#mju_zero>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_zero @@ -3186,8 +3186,8 @@ Set res = 0. .. _mju_fill: -mju_fill -~~~~~~~~ +`mju_fill <#mju_fill>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_fill @@ -3195,8 +3195,8 @@ Set res = val. .. _mju_copy: -mju_copy -~~~~~~~~ +`mju_copy <#mju_copy>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_copy @@ -3204,8 +3204,8 @@ Set res = vec. .. _mju_sum: -mju_sum -~~~~~~~ +`mju_sum <#mju_sum>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_sum @@ -3213,8 +3213,8 @@ Return sum(vec). .. _mju_L1: -mju_L1 -~~~~~~ +`mju_L1 <#mju_L1>`__ +~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_L1 @@ -3222,8 +3222,8 @@ Return L1 norm: sum(abs(vec)). .. _mju_scl: -mju_scl -~~~~~~~ +`mju_scl <#mju_scl>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_scl @@ -3231,8 +3231,8 @@ Set res = vec*scl. .. _mju_add: -mju_add -~~~~~~~ +`mju_add <#mju_add>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_add @@ -3240,8 +3240,8 @@ Set res = vec1 + vec2. .. _mju_sub: -mju_sub -~~~~~~~ +`mju_sub <#mju_sub>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_sub @@ -3249,8 +3249,8 @@ Set res = vec1 - vec2. .. _mju_addTo: -mju_addTo -~~~~~~~~~ +`mju_addTo <#mju_addTo>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_addTo @@ -3258,8 +3258,8 @@ Set res = res + vec. .. _mju_subFrom: -mju_subFrom -~~~~~~~~~~~ +`mju_subFrom <#mju_subFrom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_subFrom @@ -3267,8 +3267,8 @@ Set res = res - vec. .. _mju_addToScl: -mju_addToScl -~~~~~~~~~~~~ +`mju_addToScl <#mju_addToScl>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_addToScl @@ -3276,8 +3276,8 @@ Set res = res + vec*scl. .. _mju_addScl: -mju_addScl -~~~~~~~~~~ +`mju_addScl <#mju_addScl>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_addScl @@ -3285,8 +3285,8 @@ Set res = vec1 + vec2*scl. .. _mju_normalize: -mju_normalize -~~~~~~~~~~~~~ +`mju_normalize <#mju_normalize>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_normalize @@ -3294,8 +3294,8 @@ Normalize vector, return length before normalization. .. _mju_norm: -mju_norm -~~~~~~~~ +`mju_norm <#mju_norm>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_norm @@ -3303,8 +3303,8 @@ Return vector length (without normalizing vector). .. _mju_dot: -mju_dot -~~~~~~~ +`mju_dot <#mju_dot>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_dot @@ -3312,8 +3312,8 @@ Return dot-product of vec1 and vec2. .. _mju_mulMatVec: -mju_mulMatVec -~~~~~~~~~~~~~ +`mju_mulMatVec <#mju_mulMatVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulMatVec @@ -3321,8 +3321,8 @@ Multiply matrix and vector: res = mat * vec. .. _mju_mulMatTVec: -mju_mulMatTVec -~~~~~~~~~~~~~~ +`mju_mulMatTVec <#mju_mulMatTVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulMatTVec @@ -3330,8 +3330,8 @@ Multiply transposed matrix and vector: res = mat' * vec. .. _mju_mulVecMatVec: -mju_mulVecMatVec -~~~~~~~~~~~~~~~~ +`mju_mulVecMatVec <#mju_mulVecMatVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulVecMatVec @@ -3339,8 +3339,8 @@ Multiply square matrix with vectors on both sides: returns vec1' * mat * vec2. .. _mju_transpose: -mju_transpose -~~~~~~~~~~~~~ +`mju_transpose <#mju_transpose>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_transpose @@ -3348,8 +3348,8 @@ Transpose matrix: res = mat'. .. _mju_symmetrize: -mju_symmetrize -~~~~~~~~~~~~~~ +`mju_symmetrize <#mju_symmetrize>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_symmetrize @@ -3357,8 +3357,8 @@ Symmetrize square matrix :math:`R = \frac{1}{2}(M + M^T)`. .. _mju_eye: -mju_eye -~~~~~~~ +`mju_eye <#mju_eye>`__ +~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_eye @@ -3366,8 +3366,8 @@ Set mat to the identity matrix. .. _mju_mulMatMat: -mju_mulMatMat -~~~~~~~~~~~~~ +`mju_mulMatMat <#mju_mulMatMat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulMatMat @@ -3375,8 +3375,8 @@ Multiply matrices: res = mat1 * mat2. .. _mju_mulMatMatT: -mju_mulMatMatT -~~~~~~~~~~~~~~ +`mju_mulMatMatT <#mju_mulMatMatT>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulMatMatT @@ -3384,8 +3384,8 @@ Multiply matrices, second argument transposed: res = mat1 * mat2'. .. _mju_mulMatTMat: -mju_mulMatTMat -~~~~~~~~~~~~~~ +`mju_mulMatTMat <#mju_mulMatTMat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulMatTMat @@ -3393,8 +3393,8 @@ Multiply matrices, first argument transposed: res = mat1' * mat2. .. _mju_sqrMatTD: -mju_sqrMatTD -~~~~~~~~~~~~ +`mju_sqrMatTD <#mju_sqrMatTD>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_sqrMatTD @@ -3402,8 +3402,8 @@ Set res = mat' * diag * mat if diag is not NULL, and res = mat' * mat otherwise. .. _mju_transformSpatial: -mju_transformSpatial -~~~~~~~~~~~~~~~~~~~~ +`mju_transformSpatial <#mju_transformSpatial>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_transformSpatial @@ -3416,8 +3416,8 @@ Sparse math ^^^^^^^^^^^ .. _mju_dense2sparse: -mju_dense2sparse -~~~~~~~~~~~~~~~~ +`mju_dense2sparse <#mju_dense2sparse>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_dense2sparse @@ -3426,8 +3426,8 @@ Convert matrix from dense to sparse. .. _mju_sparse2dense: -mju_sparse2dense -~~~~~~~~~~~~~~~~ +`mju_sparse2dense <#mju_sparse2dense>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_sparse2dense @@ -3440,8 +3440,8 @@ Quaternions .. _mju_rotVecQuat: -mju_rotVecQuat -~~~~~~~~~~~~~~ +`mju_rotVecQuat <#mju_rotVecQuat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_rotVecQuat @@ -3449,8 +3449,8 @@ Rotate vector by quaternion. .. _mju_negQuat: -mju_negQuat -~~~~~~~~~~~ +`mju_negQuat <#mju_negQuat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_negQuat @@ -3458,8 +3458,8 @@ Conjugate quaternion, corresponding to opposite rotation. .. _mju_mulQuat: -mju_mulQuat -~~~~~~~~~~~ +`mju_mulQuat <#mju_mulQuat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulQuat @@ -3467,8 +3467,8 @@ Multiply quaternions. .. _mju_mulQuatAxis: -mju_mulQuatAxis -~~~~~~~~~~~~~~~ +`mju_mulQuatAxis <#mju_mulQuatAxis>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulQuatAxis @@ -3476,8 +3476,8 @@ Multiply quaternion and axis. .. _mju_axisAngle2Quat: -mju_axisAngle2Quat -~~~~~~~~~~~~~~~~~~ +`mju_axisAngle2Quat <#mju_axisAngle2Quat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_axisAngle2Quat @@ -3485,8 +3485,8 @@ Convert axisAngle to quaternion. .. _mju_quat2Vel: -mju_quat2Vel -~~~~~~~~~~~~ +`mju_quat2Vel <#mju_quat2Vel>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_quat2Vel @@ -3494,8 +3494,8 @@ Convert quaternion (corresponding to orientation difference) to 3D velocity. .. _mju_subQuat: -mju_subQuat -~~~~~~~~~~~ +`mju_subQuat <#mju_subQuat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_subQuat @@ -3503,8 +3503,8 @@ Subtract quaternions, express as 3D velocity: qb*quat(res) = qa. .. _mju_quat2Mat: -mju_quat2Mat -~~~~~~~~~~~~ +`mju_quat2Mat <#mju_quat2Mat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_quat2Mat @@ -3512,8 +3512,8 @@ Convert quaternion to 3D rotation matrix. .. _mju_mat2Quat: -mju_mat2Quat -~~~~~~~~~~~~ +`mju_mat2Quat <#mju_mat2Quat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mat2Quat @@ -3521,8 +3521,8 @@ Convert 3D rotation matrix to quaternion. .. _mju_derivQuat: -mju_derivQuat -~~~~~~~~~~~~~ +`mju_derivQuat <#mju_derivQuat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_derivQuat @@ -3530,8 +3530,8 @@ Compute time-derivative of quaternion, given 3D rotational velocity. .. _mju_quatIntegrate: -mju_quatIntegrate -~~~~~~~~~~~~~~~~~ +`mju_quatIntegrate <#mju_quatIntegrate>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_quatIntegrate @@ -3539,8 +3539,8 @@ Integrate quaternion given 3D angular velocity. .. _mju_quatZ2Vec: -mju_quatZ2Vec -~~~~~~~~~~~~~ +`mju_quatZ2Vec <#mju_quatZ2Vec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_quatZ2Vec @@ -3548,8 +3548,8 @@ Construct quaternion performing rotation from z-axis to given vector. .. _mju_euler2Quat: -mju_euler2Quat -~~~~~~~~~~~~~~ +`mju_euler2Quat <#mju_euler2Quat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_euler2Quat @@ -3563,8 +3563,8 @@ Poses .. _mju_mulPose: -mju_mulPose -~~~~~~~~~~~ +`mju_mulPose <#mju_mulPose>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_mulPose @@ -3572,8 +3572,8 @@ Multiply two poses. .. _mju_negPose: -mju_negPose -~~~~~~~~~~~ +`mju_negPose <#mju_negPose>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_negPose @@ -3581,8 +3581,8 @@ Conjugate pose, corresponding to the opposite spatial transformation. .. _mju_trnVecPose: -mju_trnVecPose -~~~~~~~~~~~~~~ +`mju_trnVecPose <#mju_trnVecPose>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_trnVecPose @@ -3595,8 +3595,8 @@ Decompositions / Solvers .. _mju_cholFactor: -mju_cholFactor -~~~~~~~~~~~~~~ +`mju_cholFactor <#mju_cholFactor>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_cholFactor @@ -3604,8 +3604,8 @@ Cholesky decomposition: mat = L*L'; return rank, decomposition performed in-plac .. _mju_cholSolve: -mju_cholSolve -~~~~~~~~~~~~~ +`mju_cholSolve <#mju_cholSolve>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_cholSolve @@ -3613,8 +3613,8 @@ Solve (mat*mat') * res = vec, where mat is a Cholesky factor. .. _mju_cholUpdate: -mju_cholUpdate -~~~~~~~~~~~~~~ +`mju_cholUpdate <#mju_cholUpdate>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_cholUpdate @@ -3622,8 +3622,8 @@ Cholesky rank-one update: L*L' +/- x*x'; return rank. .. _mju_cholFactorBand: -mju_cholFactorBand -~~~~~~~~~~~~~~~~~~ +`mju_cholFactorBand <#mju_cholFactorBand>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_cholFactorBand @@ -3672,8 +3672,8 @@ Band-dense Cholesky decomposition. .. _mju_cholSolveBand: -mju_cholSolveBand -~~~~~~~~~~~~~~~~~ +`mju_cholSolveBand <#mju_cholSolveBand>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_cholSolveBand @@ -3681,8 +3681,8 @@ Solve (mat*mat')*res = vec where mat is a band-dense Cholesky factor. .. _mju_band2Dense: -mju_band2Dense -~~~~~~~~~~~~~~ +`mju_band2Dense <#mju_band2Dense>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_band2Dense @@ -3690,8 +3690,8 @@ Convert banded matrix to dense matrix, fill upper triangle if flg_sym>0. .. _mju_dense2Band: -mju_dense2Band -~~~~~~~~~~~~~~ +`mju_dense2Band <#mju_dense2Band>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_dense2Band @@ -3699,8 +3699,8 @@ Convert dense matrix to banded matrix. .. _mju_bandMulMatVec: -mju_bandMulMatVec -~~~~~~~~~~~~~~~~~ +`mju_bandMulMatVec <#mju_bandMulMatVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_bandMulMatVec @@ -3708,8 +3708,8 @@ Multiply band-diagonal matrix with nvec vectors, include upper triangle if flg_s .. _mju_bandDiag: -mju_bandDiag -~~~~~~~~~~~~ +`mju_bandDiag <#mju_bandDiag>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_bandDiag @@ -3717,8 +3717,8 @@ Address of diagonal element i in band-dense matrix representation. .. _mju_eig3: -mju_eig3 -~~~~~~~~ +`mju_eig3 <#mju_eig3>`__ +~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_eig3 @@ -3726,8 +3726,8 @@ Eigenvalue decomposition of symmetric 3x3 matrix, mat = eigvec * diag(eigval) * .. _mju_boxQP: -mju_boxQP -~~~~~~~~~ +`mju_boxQP <#mju_boxQP>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_boxQP @@ -3766,8 +3766,8 @@ notes: .. _mju_boxQPmalloc: -mju_boxQPmalloc -~~~~~~~~~~~~~~~ +`mju_boxQPmalloc <#mju_boxQPmalloc>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mju_boxQPmalloc @@ -3781,8 +3781,8 @@ Attachment ^^^^^^^^^^ .. _mjs_attachBody: -mjs_attachBody -~~~~~~~~~~~~~~ +`mjs_attachBody <#mjs_attachBody>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_attachBody @@ -3790,8 +3790,8 @@ Attach child body to a parent frame, return the attached body if success or NULL .. _mjs_attachFrame: -mjs_attachFrame -~~~~~~~~~~~~~~~ +`mjs_attachFrame <#mjs_attachFrame>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_attachFrame @@ -3799,8 +3799,8 @@ Attach child frame to a parent body, return the attached frame if success or NUL .. _mjs_attachToSite: -mjs_attachToSite -~~~~~~~~~~~~~~~~ +`mjs_attachToSite <#mjs_attachToSite>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_attachToSite @@ -3808,8 +3808,8 @@ Attach child body to a parent site, return the attached body if success or NULL .. _mjs_detachBody: -mjs_detachBody -~~~~~~~~~~~~~~ +`mjs_detachBody <#mjs_detachBody>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_detachBody @@ -3821,8 +3821,8 @@ Tree elements ^^^^^^^^^^^^^ .. _mjs_addBody: -mjs_addBody -~~~~~~~~~~~ +`mjs_addBody <#mjs_addBody>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addBody @@ -3830,8 +3830,8 @@ Add child body to body, return child. .. _mjs_addSite: -mjs_addSite -~~~~~~~~~~~ +`mjs_addSite <#mjs_addSite>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addSite @@ -3839,8 +3839,8 @@ Add site to body, return site spec. .. _mjs_addJoint: -mjs_addJoint -~~~~~~~~~~~~ +`mjs_addJoint <#mjs_addJoint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addJoint @@ -3848,8 +3848,8 @@ Add joint to body. .. _mjs_addFreeJoint: -mjs_addFreeJoint -~~~~~~~~~~~~~~~~ +`mjs_addFreeJoint <#mjs_addFreeJoint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addFreeJoint @@ -3857,8 +3857,8 @@ Add freejoint to body. .. _mjs_addGeom: -mjs_addGeom -~~~~~~~~~~~ +`mjs_addGeom <#mjs_addGeom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addGeom @@ -3866,8 +3866,8 @@ Add geom to body. .. _mjs_addCamera: -mjs_addCamera -~~~~~~~~~~~~~ +`mjs_addCamera <#mjs_addCamera>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addCamera @@ -3875,8 +3875,8 @@ Add camera to body. .. _mjs_addLight: -mjs_addLight -~~~~~~~~~~~~ +`mjs_addLight <#mjs_addLight>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addLight @@ -3884,8 +3884,8 @@ Add light to body. .. _mjs_addFrame: -mjs_addFrame -~~~~~~~~~~~~ +`mjs_addFrame <#mjs_addFrame>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addFrame @@ -3893,8 +3893,8 @@ Add frame to body. .. _mjs_delete: -mjs_delete -~~~~~~~~~~ +`mjs_delete <#mjs_delete>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_delete @@ -3906,8 +3906,8 @@ Non-tree elements ^^^^^^^^^^^^^^^^^ .. _mjs_addActuator: -mjs_addActuator -~~~~~~~~~~~~~~~ +`mjs_addActuator <#mjs_addActuator>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addActuator @@ -3915,8 +3915,8 @@ Add actuator. .. _mjs_addSensor: -mjs_addSensor -~~~~~~~~~~~~~ +`mjs_addSensor <#mjs_addSensor>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addSensor @@ -3924,8 +3924,8 @@ Add sensor. .. _mjs_addFlex: -mjs_addFlex -~~~~~~~~~~~ +`mjs_addFlex <#mjs_addFlex>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addFlex @@ -3933,8 +3933,8 @@ Add flex. .. _mjs_addPair: -mjs_addPair -~~~~~~~~~~~ +`mjs_addPair <#mjs_addPair>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addPair @@ -3942,8 +3942,8 @@ Add contact pair. .. _mjs_addExclude: -mjs_addExclude -~~~~~~~~~~~~~~ +`mjs_addExclude <#mjs_addExclude>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addExclude @@ -3951,8 +3951,8 @@ Add excluded body pair. .. _mjs_addEquality: -mjs_addEquality -~~~~~~~~~~~~~~~ +`mjs_addEquality <#mjs_addEquality>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addEquality @@ -3960,8 +3960,8 @@ Add equality. .. _mjs_addTendon: -mjs_addTendon -~~~~~~~~~~~~~ +`mjs_addTendon <#mjs_addTendon>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addTendon @@ -3969,8 +3969,8 @@ Add tendon. .. _mjs_wrapSite: -mjs_wrapSite -~~~~~~~~~~~~ +`mjs_wrapSite <#mjs_wrapSite>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_wrapSite @@ -3978,8 +3978,8 @@ Wrap site using tendon. .. _mjs_wrapGeom: -mjs_wrapGeom -~~~~~~~~~~~~ +`mjs_wrapGeom <#mjs_wrapGeom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_wrapGeom @@ -3987,8 +3987,8 @@ Wrap geom using tendon. .. _mjs_wrapJoint: -mjs_wrapJoint -~~~~~~~~~~~~~ +`mjs_wrapJoint <#mjs_wrapJoint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_wrapJoint @@ -3996,8 +3996,8 @@ Wrap joint using tendon. .. _mjs_wrapPulley: -mjs_wrapPulley -~~~~~~~~~~~~~~ +`mjs_wrapPulley <#mjs_wrapPulley>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_wrapPulley @@ -4005,8 +4005,8 @@ Wrap pulley using tendon. .. _mjs_addNumeric: -mjs_addNumeric -~~~~~~~~~~~~~~ +`mjs_addNumeric <#mjs_addNumeric>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addNumeric @@ -4014,8 +4014,8 @@ Add numeric. .. _mjs_addText: -mjs_addText -~~~~~~~~~~~ +`mjs_addText <#mjs_addText>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addText @@ -4023,8 +4023,8 @@ Add text. .. _mjs_addTuple: -mjs_addTuple -~~~~~~~~~~~~ +`mjs_addTuple <#mjs_addTuple>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addTuple @@ -4032,8 +4032,8 @@ Add tuple. .. _mjs_addKey: -mjs_addKey -~~~~~~~~~~ +`mjs_addKey <#mjs_addKey>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addKey @@ -4041,8 +4041,8 @@ Add keyframe. .. _mjs_addPlugin: -mjs_addPlugin -~~~~~~~~~~~~~ +`mjs_addPlugin <#mjs_addPlugin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addPlugin @@ -4050,8 +4050,8 @@ Add plugin. .. _mjs_addDefault: -mjs_addDefault -~~~~~~~~~~~~~~ +`mjs_addDefault <#mjs_addDefault>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addDefault @@ -4063,8 +4063,8 @@ Assets ^^^^^^ .. _mjs_addMesh: -mjs_addMesh -~~~~~~~~~~~ +`mjs_addMesh <#mjs_addMesh>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addMesh @@ -4072,8 +4072,8 @@ Add mesh. .. _mjs_addHField: -mjs_addHField -~~~~~~~~~~~~~ +`mjs_addHField <#mjs_addHField>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addHField @@ -4081,8 +4081,8 @@ Add height field. .. _mjs_addSkin: -mjs_addSkin -~~~~~~~~~~~ +`mjs_addSkin <#mjs_addSkin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addSkin @@ -4090,8 +4090,8 @@ Add skin. .. _mjs_addTexture: -mjs_addTexture -~~~~~~~~~~~~~~ +`mjs_addTexture <#mjs_addTexture>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addTexture @@ -4099,8 +4099,8 @@ Add texture. .. _mjs_addMaterial: -mjs_addMaterial -~~~~~~~~~~~~~~~ +`mjs_addMaterial <#mjs_addMaterial>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_addMaterial @@ -4112,8 +4112,8 @@ Find and get utilities ^^^^^^^^^^^^^^^^^^^^^^ .. _mjs_getSpec: -mjs_getSpec -~~~~~~~~~~~ +`mjs_getSpec <#mjs_getSpec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_getSpec @@ -4121,8 +4121,8 @@ Get spec from body. .. _mjs_findSpec: -mjs_findSpec -~~~~~~~~~~~~ +`mjs_findSpec <#mjs_findSpec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_findSpec @@ -4130,8 +4130,8 @@ Find spec (model asset) by name. .. _mjs_findBody: -mjs_findBody -~~~~~~~~~~~~ +`mjs_findBody <#mjs_findBody>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_findBody @@ -4139,8 +4139,8 @@ Find body in spec by name. .. _mjs_findElement: -mjs_findElement -~~~~~~~~~~~~~~~ +`mjs_findElement <#mjs_findElement>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_findElement @@ -4148,8 +4148,8 @@ Find element in spec by name. .. _mjs_findChild: -mjs_findChild -~~~~~~~~~~~~~ +`mjs_findChild <#mjs_findChild>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_findChild @@ -4157,8 +4157,8 @@ Find child body by name. .. _mjs_findFrame: -mjs_findFrame -~~~~~~~~~~~~~ +`mjs_findFrame <#mjs_findFrame>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_findFrame @@ -4166,8 +4166,8 @@ Find frame by name. .. _mjs_getDefault: -mjs_getDefault -~~~~~~~~~~~~~~ +`mjs_getDefault <#mjs_getDefault>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_getDefault @@ -4175,8 +4175,8 @@ Get default corresponding to an element. .. _mjs_findDefault: -mjs_findDefault -~~~~~~~~~~~~~~~ +`mjs_findDefault <#mjs_findDefault>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_findDefault @@ -4184,8 +4184,8 @@ Find default in model by class name. .. _mjs_getSpecDefault: -mjs_getSpecDefault -~~~~~~~~~~~~~~~~~~ +`mjs_getSpecDefault <#mjs_getSpecDefault>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_getSpecDefault @@ -4193,8 +4193,8 @@ Get global default from model. .. _mjs_getId: -mjs_getId -~~~~~~~~~ +`mjs_getId <#mjs_getId>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_getId @@ -4202,8 +4202,8 @@ Get element id. .. _mjs_firstChild: -mjs_firstChild -~~~~~~~~~~~~~~ +`mjs_firstChild <#mjs_firstChild>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_firstChild @@ -4211,8 +4211,8 @@ Return body's first child of given type. If recurse is nonzero, also search the .. _mjs_nextChild: -mjs_nextChild -~~~~~~~~~~~~~ +`mjs_nextChild <#mjs_nextChild>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_nextChild @@ -4221,8 +4221,8 @@ If recurse is nonzero, also search the body's subtree. .. _mjs_firstElement: -mjs_firstElement -~~~~~~~~~~~~~~~~ +`mjs_firstElement <#mjs_firstElement>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_firstElement @@ -4230,8 +4230,8 @@ Return spec's first element of selected type. .. _mjs_nextElement: -mjs_nextElement -~~~~~~~~~~~~~~~ +`mjs_nextElement <#mjs_nextElement>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_nextElement @@ -4243,8 +4243,8 @@ Attribute setters ^^^^^^^^^^^^^^^^^ .. _mjs_setBuffer: -mjs_setBuffer -~~~~~~~~~~~~~ +`mjs_setBuffer <#mjs_setBuffer>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setBuffer @@ -4252,8 +4252,8 @@ Copy buffer. .. _mjs_setString: -mjs_setString -~~~~~~~~~~~~~ +`mjs_setString <#mjs_setString>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setString @@ -4261,8 +4261,8 @@ Copy text to string. .. _mjs_setStringVec: -mjs_setStringVec -~~~~~~~~~~~~~~~~ +`mjs_setStringVec <#mjs_setStringVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setStringVec @@ -4270,8 +4270,8 @@ Split text to entries and copy to string vector. .. _mjs_setInStringVec: -mjs_setInStringVec -~~~~~~~~~~~~~~~~~~ +`mjs_setInStringVec <#mjs_setInStringVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setInStringVec @@ -4279,8 +4279,8 @@ Set entry in string vector. .. _mjs_appendString: -mjs_appendString -~~~~~~~~~~~~~~~~ +`mjs_appendString <#mjs_appendString>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_appendString @@ -4288,8 +4288,8 @@ Append text entry to string vector. .. _mjs_setInt: -mjs_setInt -~~~~~~~~~~ +`mjs_setInt <#mjs_setInt>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setInt @@ -4297,8 +4297,8 @@ Copy int array to vector. .. _mjs_appendIntVec: -mjs_appendIntVec -~~~~~~~~~~~~~~~~ +`mjs_appendIntVec <#mjs_appendIntVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_appendIntVec @@ -4306,8 +4306,8 @@ Append int array to vector of arrays. .. _mjs_setFloat: -mjs_setFloat -~~~~~~~~~~~~ +`mjs_setFloat <#mjs_setFloat>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setFloat @@ -4315,8 +4315,8 @@ Copy float array to vector. .. _mjs_appendFloatVec: -mjs_appendFloatVec -~~~~~~~~~~~~~~~~~~ +`mjs_appendFloatVec <#mjs_appendFloatVec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_appendFloatVec @@ -4324,8 +4324,8 @@ Append float array to vector of arrays. .. _mjs_setDouble: -mjs_setDouble -~~~~~~~~~~~~~ +`mjs_setDouble <#mjs_setDouble>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setDouble @@ -4333,8 +4333,8 @@ Copy double array to vector. .. _mjs_setPluginAttributes: -mjs_setPluginAttributes -~~~~~~~~~~~~~~~~~~~~~~~ +`mjs_setPluginAttributes <#mjs_setPluginAttributes>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setPluginAttributes @@ -4346,8 +4346,8 @@ Attribute getters ^^^^^^^^^^^^^^^^^ .. _mjs_getString: -mjs_getString -~~~~~~~~~~~~~ +`mjs_getString <#mjs_getString>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_getString @@ -4355,8 +4355,8 @@ Get string contents. .. _mjs_getDouble: -mjs_getDouble -~~~~~~~~~~~~~ +`mjs_getDouble <#mjs_getDouble>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_getDouble @@ -4368,8 +4368,8 @@ Spec utilities ^^^^^^^^^^^^^^ .. _mjs_setDefault: -mjs_setDefault -~~~~~~~~~~~~~~ +`mjs_setDefault <#mjs_setDefault>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setDefault @@ -4377,8 +4377,8 @@ Set element's default. .. _mjs_setFrame: -mjs_setFrame -~~~~~~~~~~~~ +`mjs_setFrame <#mjs_setFrame>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_setFrame @@ -4386,8 +4386,8 @@ Set element's enclosing frame. .. _mjs_resolveOrientation: -mjs_resolveOrientation -~~~~~~~~~~~~~~~~~~~~~~ +`mjs_resolveOrientation <#mjs_resolveOrientation>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_resolveOrientation @@ -4395,8 +4395,8 @@ Resolve alternative orientations to quat, return error if any. .. _mjs_bodyToFrame: -mjs_bodyToFrame -~~~~~~~~~~~~~~~ +`mjs_bodyToFrame <#mjs_bodyToFrame>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_bodyToFrame @@ -4408,8 +4408,8 @@ Element initialization ^^^^^^^^^^^^^^^^^^^^^^ .. _mjs_defaultSpec: -mjs_defaultSpec -~~~~~~~~~~~~~~~ +`mjs_defaultSpec <#mjs_defaultSpec>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultSpec @@ -4417,8 +4417,8 @@ Default spec attributes. .. _mjs_defaultOrientation: -mjs_defaultOrientation -~~~~~~~~~~~~~~~~~~~~~~ +`mjs_defaultOrientation <#mjs_defaultOrientation>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultOrientation @@ -4426,8 +4426,8 @@ Default orientation attributes. .. _mjs_defaultBody: -mjs_defaultBody -~~~~~~~~~~~~~~~ +`mjs_defaultBody <#mjs_defaultBody>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultBody @@ -4435,8 +4435,8 @@ Default body attributes. .. _mjs_defaultFrame: -mjs_defaultFrame -~~~~~~~~~~~~~~~~ +`mjs_defaultFrame <#mjs_defaultFrame>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultFrame @@ -4444,8 +4444,8 @@ Default frame attributes. .. _mjs_defaultJoint: -mjs_defaultJoint -~~~~~~~~~~~~~~~~ +`mjs_defaultJoint <#mjs_defaultJoint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultJoint @@ -4453,8 +4453,8 @@ Default joint attributes. .. _mjs_defaultGeom: -mjs_defaultGeom -~~~~~~~~~~~~~~~ +`mjs_defaultGeom <#mjs_defaultGeom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultGeom @@ -4462,8 +4462,8 @@ Default geom attributes. .. _mjs_defaultSite: -mjs_defaultSite -~~~~~~~~~~~~~~~ +`mjs_defaultSite <#mjs_defaultSite>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultSite @@ -4471,8 +4471,8 @@ Default site attributes. .. _mjs_defaultCamera: -mjs_defaultCamera -~~~~~~~~~~~~~~~~~ +`mjs_defaultCamera <#mjs_defaultCamera>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultCamera @@ -4480,8 +4480,8 @@ Default camera attributes. .. _mjs_defaultLight: -mjs_defaultLight -~~~~~~~~~~~~~~~~ +`mjs_defaultLight <#mjs_defaultLight>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultLight @@ -4489,8 +4489,8 @@ Default light attributes. .. _mjs_defaultFlex: -mjs_defaultFlex -~~~~~~~~~~~~~~~ +`mjs_defaultFlex <#mjs_defaultFlex>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultFlex @@ -4498,8 +4498,8 @@ Default flex attributes. .. _mjs_defaultMesh: -mjs_defaultMesh -~~~~~~~~~~~~~~~ +`mjs_defaultMesh <#mjs_defaultMesh>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultMesh @@ -4507,8 +4507,8 @@ Default mesh attributes. .. _mjs_defaultHField: -mjs_defaultHField -~~~~~~~~~~~~~~~~~ +`mjs_defaultHField <#mjs_defaultHField>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultHField @@ -4516,8 +4516,8 @@ Default height field attributes. .. _mjs_defaultSkin: -mjs_defaultSkin -~~~~~~~~~~~~~~~ +`mjs_defaultSkin <#mjs_defaultSkin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultSkin @@ -4525,8 +4525,8 @@ Default skin attributes. .. _mjs_defaultTexture: -mjs_defaultTexture -~~~~~~~~~~~~~~~~~~ +`mjs_defaultTexture <#mjs_defaultTexture>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultTexture @@ -4534,8 +4534,8 @@ Default texture attributes. .. _mjs_defaultMaterial: -mjs_defaultMaterial -~~~~~~~~~~~~~~~~~~~ +`mjs_defaultMaterial <#mjs_defaultMaterial>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultMaterial @@ -4543,8 +4543,8 @@ Default material attributes. .. _mjs_defaultPair: -mjs_defaultPair -~~~~~~~~~~~~~~~ +`mjs_defaultPair <#mjs_defaultPair>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultPair @@ -4552,8 +4552,8 @@ Default pair attributes. .. _mjs_defaultEquality: -mjs_defaultEquality -~~~~~~~~~~~~~~~~~~~ +`mjs_defaultEquality <#mjs_defaultEquality>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultEquality @@ -4561,8 +4561,8 @@ Default equality attributes. .. _mjs_defaultTendon: -mjs_defaultTendon -~~~~~~~~~~~~~~~~~ +`mjs_defaultTendon <#mjs_defaultTendon>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultTendon @@ -4570,8 +4570,8 @@ Default tendon attributes. .. _mjs_defaultActuator: -mjs_defaultActuator -~~~~~~~~~~~~~~~~~~~ +`mjs_defaultActuator <#mjs_defaultActuator>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultActuator @@ -4579,8 +4579,8 @@ Default actuator attributes. .. _mjs_defaultSensor: -mjs_defaultSensor -~~~~~~~~~~~~~~~~~ +`mjs_defaultSensor <#mjs_defaultSensor>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultSensor @@ -4588,8 +4588,8 @@ Default sensor attributes. .. _mjs_defaultNumeric: -mjs_defaultNumeric -~~~~~~~~~~~~~~~~~~ +`mjs_defaultNumeric <#mjs_defaultNumeric>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultNumeric @@ -4597,8 +4597,8 @@ Default numeric attributes. .. _mjs_defaultText: -mjs_defaultText -~~~~~~~~~~~~~~~ +`mjs_defaultText <#mjs_defaultText>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultText @@ -4606,8 +4606,8 @@ Default text attributes. .. _mjs_defaultTuple: -mjs_defaultTuple -~~~~~~~~~~~~~~~~ +`mjs_defaultTuple <#mjs_defaultTuple>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultTuple @@ -4615,8 +4615,8 @@ Default tuple attributes. .. _mjs_defaultKey: -mjs_defaultKey -~~~~~~~~~~~~~~ +`mjs_defaultKey <#mjs_defaultKey>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultKey @@ -4624,8 +4624,8 @@ Default keyframe attributes. .. _mjs_defaultPlugin: -mjs_defaultPlugin -~~~~~~~~~~~~~~~~~ +`mjs_defaultPlugin <#mjs_defaultPlugin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_defaultPlugin @@ -4637,8 +4637,8 @@ Element casting ^^^^^^^^^^^^^^^ .. _mjs_asBody: -mjs_asBody -~~~~~~~~~~ +`mjs_asBody <#mjs_asBody>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asBody @@ -4646,8 +4646,8 @@ Safely cast an element as mjsBody, or return NULL if the element is not an mjsBo .. _mjs_asGeom: -mjs_asGeom -~~~~~~~~~~ +`mjs_asGeom <#mjs_asGeom>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asGeom @@ -4655,8 +4655,8 @@ Safely cast an element as mjsGeom, or return NULL if the element is not an mjsGe .. _mjs_asJoint: -mjs_asJoint -~~~~~~~~~~~ +`mjs_asJoint <#mjs_asJoint>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asJoint @@ -4664,8 +4664,8 @@ Safely cast an element as mjsJoint, or return NULL if the element is not an mjsJ .. _mjs_asSite: -mjs_asSite -~~~~~~~~~~ +`mjs_asSite <#mjs_asSite>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asSite @@ -4673,8 +4673,8 @@ Safely cast an element as mjsSite, or return NULL if the element is not an mjsSi .. _mjs_asCamera: -mjs_asCamera -~~~~~~~~~~~~ +`mjs_asCamera <#mjs_asCamera>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asCamera @@ -4682,8 +4682,8 @@ Safely cast an element as mjsCamera, or return NULL if the element is not an mjs .. _mjs_asLight: -mjs_asLight -~~~~~~~~~~~ +`mjs_asLight <#mjs_asLight>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asLight @@ -4691,8 +4691,8 @@ Safely cast an element as mjsLight, or return NULL if the element is not an mjsL .. _mjs_asFrame: -mjs_asFrame -~~~~~~~~~~~ +`mjs_asFrame <#mjs_asFrame>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asFrame @@ -4700,8 +4700,8 @@ Safely cast an element as mjsFrame, or return NULL if the element is not an mjsF .. _mjs_asActuator: -mjs_asActuator -~~~~~~~~~~~~~~ +`mjs_asActuator <#mjs_asActuator>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asActuator @@ -4709,8 +4709,8 @@ Safely cast an element as mjsActuator, or return NULL if the element is not an m .. _mjs_asSensor: -mjs_asSensor -~~~~~~~~~~~~ +`mjs_asSensor <#mjs_asSensor>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asSensor @@ -4718,8 +4718,8 @@ Safely cast an element as mjsSensor, or return NULL if the element is not an mjs .. _mjs_asFlex: -mjs_asFlex -~~~~~~~~~~ +`mjs_asFlex <#mjs_asFlex>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asFlex @@ -4727,8 +4727,8 @@ Safely cast an element as mjsFlex, or return NULL if the element is not an mjsFl .. _mjs_asPair: -mjs_asPair -~~~~~~~~~~ +`mjs_asPair <#mjs_asPair>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asPair @@ -4736,8 +4736,8 @@ Safely cast an element as mjsPair, or return NULL if the element is not an mjsPa .. _mjs_asEquality: -mjs_asEquality -~~~~~~~~~~~~~~ +`mjs_asEquality <#mjs_asEquality>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asEquality @@ -4745,8 +4745,8 @@ Safely cast an element as mjsEquality, or return NULL if the element is not an m .. _mjs_asExclude: -mjs_asExclude -~~~~~~~~~~~~~ +`mjs_asExclude <#mjs_asExclude>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asExclude @@ -4754,8 +4754,8 @@ Safely cast an element as mjsExclude, or return NULL if the element is not an mj .. _mjs_asTendon: -mjs_asTendon -~~~~~~~~~~~~ +`mjs_asTendon <#mjs_asTendon>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asTendon @@ -4763,8 +4763,8 @@ Safely cast an element as mjsTendon, or return NULL if the element is not an mjs .. _mjs_asNumeric: -mjs_asNumeric -~~~~~~~~~~~~~ +`mjs_asNumeric <#mjs_asNumeric>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asNumeric @@ -4772,8 +4772,8 @@ Safely cast an element as mjsNumeric, or return NULL if the element is not an mj .. _mjs_asText: -mjs_asText -~~~~~~~~~~ +`mjs_asText <#mjs_asText>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asText @@ -4781,8 +4781,8 @@ Safely cast an element as mjsText, or return NULL if the element is not an mjsTe .. _mjs_asTuple: -mjs_asTuple -~~~~~~~~~~~ +`mjs_asTuple <#mjs_asTuple>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asTuple @@ -4790,8 +4790,8 @@ Safely cast an element as mjsTuple, or return NULL if the element is not an mjsT .. _mjs_asKey: -mjs_asKey -~~~~~~~~~ +`mjs_asKey <#mjs_asKey>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asKey @@ -4799,8 +4799,8 @@ Safely cast an element as mjsKey, or return NULL if the element is not an mjsKey .. _mjs_asMesh: -mjs_asMesh -~~~~~~~~~~ +`mjs_asMesh <#mjs_asMesh>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asMesh @@ -4808,8 +4808,8 @@ Safely cast an element as mjsMesh, or return NULL if the element is not an mjsMe .. _mjs_asHField: -mjs_asHField -~~~~~~~~~~~~ +`mjs_asHField <#mjs_asHField>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asHField @@ -4817,8 +4817,8 @@ Safely cast an element as mjsHField, or return NULL if the element is not an mjs .. _mjs_asSkin: -mjs_asSkin -~~~~~~~~~~ +`mjs_asSkin <#mjs_asSkin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asSkin @@ -4826,8 +4826,8 @@ Safely cast an element as mjsSkin, or return NULL if the element is not an mjsSk .. _mjs_asTexture: -mjs_asTexture -~~~~~~~~~~~~~ +`mjs_asTexture <#mjs_asTexture>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asTexture @@ -4835,8 +4835,8 @@ Safely cast an element as mjsTexture, or return NULL if the element is not an mj .. _mjs_asMaterial: -mjs_asMaterial -~~~~~~~~~~~~~~ +`mjs_asMaterial <#mjs_asMaterial>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asMaterial @@ -4844,8 +4844,8 @@ Safely cast an element as mjsMaterial, or return NULL if the element is not an m .. _mjs_asPlugin: -mjs_asPlugin -~~~~~~~~~~~~ +`mjs_asPlugin <#mjs_asPlugin>`__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. mujoco-include:: mjs_asPlugin diff --git a/doc/changelog.rst b/doc/changelog.rst index ba4cae6d..cdc66f8d 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -31,6 +31,12 @@ Bug fixes runtime enabling/disabling of such constraints. - Fixed a bug in slider-crank :ref:`transmission`. The bug was introduced in 3.0.0. + +Documentation +^^^^^^^^^^^^^ +- Function headers in the :doc:`API reference <../APIreference/APIfunctions>` now link to their source definitions + in GitHub. + Version 3.2.4 (Oct 15, 2024) ---------------------------- diff --git a/doc/conf.py b/doc/conf.py index e41542fa..cecc6c96 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -159,10 +159,14 @@ pygments_dark_style = 'monokai' html_static_path = [ '_static', 'css', + 'js', ] html_css_files = [ 'theme_overrides.css', ] +html_js_files = [ + 'linenumbers.js', +] favicons = [ { diff --git a/doc/js/linenumbers.js b/doc/js/linenumbers.js new file mode 100644 index 00000000..cdea9af8 --- /dev/null +++ b/doc/js/linenumbers.js @@ -0,0 +1,108 @@ +const SRCS = [ + 'xml/xml_api.cc', + 'user/user_api.cc', + 'user/user_init.c', + 'user/user_vfs.cc', + 'thread/thread_task.cc', + 'thread/thread_pool.cc', + 'render/render_context.c', + 'render/render_gl2.c', + 'render/render_gl3.c', + 'render/render_util.c', + 'engine/engine_derivative.c', + 'engine/engine_io.c', + 'engine/engine_sensor.c', + 'engine/engine_callback.c', + 'engine/engine_collision_driver.c', + 'engine/engine_core_constraint.c', + 'engine/engine_core_smooth.c', + 'engine/engine_derivative_fd.c', + 'engine/engine_forward.c', + 'engine/engine_inverse.c', + 'engine/engine_island.c', + 'engine/engine_name.c', + 'engine/engine_passive.c', + 'engine/engine_plugin.cc', + 'engine/engine_print.c', + 'engine/engine_ray.c', + 'engine/engine_setconst.c', + 'engine/engine_solver.c', + 'engine/engine_support.c', + 'engine/engine_util_blas.c', + 'engine/engine_util_container.c', + 'engine/engine_util_errmem.c', + 'engine/engine_util_misc.c', + 'engine/engine_util_solve.c', + 'engine/engine_util_spatial.c', + 'engine/engine_util_sparse.c', + 'engine/engine_vis_init.c', + 'engine/engine_vis_interact.c', + 'engine/engine_vis_state.c', + 'engine/engine_vis_visualize.c', + 'ui/ui_main.c', +]; + +class LineNumbers { + constructor() { + this.map = new Map(); + } + + static fetch(src) { + const url = `https://raw.githubusercontent.com/google-deepmind/mujoco/refs/heads/main/src/${src}`; + const request = new XMLHttpRequest(); + return new Promise((resolve, reject) => { + request.onreadystatechange = () => { + if (request.readyState === 4) { + if (request.status === 200) { + resolve(request.responseText); + } else { + reject(request.status); + } + } + }; + request.open('GET', url, true); + request.send(); + }); + } + + fetchAll() { + let requests = []; + for (const src of SRCS) { + requests.push(LineNumbers.fetch(src).then(contents => { + this.processSrc(src, contents); + }, reason => {/* swallow error */})); + } + Promise.all(requests).then(() => { + const anchors = document.querySelectorAll('h3 a.reference.external'); + for (const anchor of anchors) { + const url = anchor.getAttribute('href'); + if (url.startsWith('#')) { + const key = url.substring(1); + if (this.map.has(key)) { + anchor.href = this.map.get(key); + } else { + console.log(`No line number found for ${key}`); + } + } + } + }); + } + + processSrc(src, contents) { + const lines = contents.split('\n'); + const re = /^(const )?[a-zA-Z0-9_*]+\s(.+)\(.+[{,]$/; + for (let i = 0; i < lines.length; i++) { + if (lines[i].match(re)) { + const key = lines[i].match(re)[2]; + this.map.set(key, `https://github.com/google-deepmind/mujoco/blob/main/src/${src}#L${i+1}`); + } + } + } +} + +window.onload = () => { + if (document.getElementById('fetchlines')) { + let lines = new LineNumbers(); + lines.fetchAll(); + } +};