MuJoCo's own functions, bound one for one, under the names MuJoCo gives them.
These are the calls that speak for themselves — mj_name2id,
mj_kinematics, mj_step1 — so the binding is the C signature and
nothing more, and the argument order and meaning are MuJoCo's. The curated
surface is ExMujoco, which is what most callers want: it names the data
block once and answers :ok, an ExMujoco.Tensor, or an
ExMujoco.Error.
What is not here is in docs/coverage.md, with the reason.
Summary
Functions
mj_camlight — void mj_camlight(mjModel* m, mjData* d)
mj_collision — void mj_collision(mjModel* m, mjData* d)
mj_comPos — void mj_comPos(mjModel* m, mjData* d)
mj_crb — void mj_crb(mjModel* m, mjData* d)
mj_energyPos — void mj_energyPos(mjModel* m, mjData* d)
mj_energyVel — void mj_energyVel(mjModel* m, mjData* d)
mj_flex — void mj_flex(mjModel* m, mjData* d)
mj_getTotalmass — mjtNum mj_getTotalmass(mjModel* m)
mj_id2name — char* mj_id2name(mjModel* m, int type, int id)
mj_isDual — int mj_isDual(mjModel* m)
mj_isSparse — int mj_isSparse(mjModel* m)
mj_kinematics — void mj_kinematics(mjModel* m, mjData* d)
mj_makeConstraint — void mj_makeConstraint(mjModel* m, mjData* d)
mj_name2id — int mj_name2id(mjModel* m, int type, char* name)
mj_projectConstraint — void mj_projectConstraint(mjModel* m, mjData* d)
mj_referenceConstraint — void mj_referenceConstraint(mjModel* m, mjData* d)
mj_resetDataKeyframe — void mj_resetDataKeyframe(mjModel* m, mjData* d, int key)
mj_sensorAcc — void mj_sensorAcc(mjModel* m, mjData* d)
mj_sensorPos — void mj_sensorPos(mjModel* m, mjData* d)
mj_sensorVel — void mj_sensorVel(mjModel* m, mjData* d)
mj_step1 — void mj_step1(mjModel* m, mjData* d)
mj_step2 — void mj_step2(mjModel* m, mjData* d)
mj_tendon — void mj_tendon(mjModel* m, mjData* d)
mj_transmission — void mj_transmission(mjModel* m, mjData* d)
mj_versionString — char* mj_versionString()
Functions
mj_camlight — void mj_camlight(mjModel* m, mjData* d)
mj_collision — void mj_collision(mjModel* m, mjData* d)
mj_comPos — void mj_comPos(mjModel* m, mjData* d)
mj_crb — void mj_crb(mjModel* m, mjData* d)
mj_energyPos — void mj_energyPos(mjModel* m, mjData* d)
mj_energyVel — void mj_energyVel(mjModel* m, mjData* d)
mj_flex — void mj_flex(mjModel* m, mjData* d)
mj_getTotalmass — mjtNum mj_getTotalmass(mjModel* m)
mj_id2name — char* mj_id2name(mjModel* m, int type, int id)
mj_isDual — int mj_isDual(mjModel* m)
mj_isSparse — int mj_isSparse(mjModel* m)
mj_kinematics — void mj_kinematics(mjModel* m, mjData* d)
mj_makeConstraint — void mj_makeConstraint(mjModel* m, mjData* d)
mj_name2id — int mj_name2id(mjModel* m, int type, char* name)
mj_projectConstraint — void mj_projectConstraint(mjModel* m, mjData* d)
mj_referenceConstraint — void mj_referenceConstraint(mjModel* m, mjData* d)
mj_resetDataKeyframe — void mj_resetDataKeyframe(mjModel* m, mjData* d, int key)
mj_sensorAcc — void mj_sensorAcc(mjModel* m, mjData* d)
mj_sensorPos — void mj_sensorPos(mjModel* m, mjData* d)
mj_sensorVel — void mj_sensorVel(mjModel* m, mjData* d)
mj_step1 — void mj_step1(mjModel* m, mjData* d)
mj_step2 — void mj_step2(mjModel* m, mjData* d)
mj_tendon — void mj_tendon(mjModel* m, mjData* d)
mj_transmission — void mj_transmission(mjModel* m, mjData* d)
mj_versionString — char* mj_versionString()