# ExMujoco v0.1.1 - API Reference

## Modules

- [ExMujoco.Api](ExMujoco.Api.md): MuJoCo's own functions, bound one for one, under the names MuJoCo gives
them.
- [ExMujoco.Gen](ExMujoco.Gen.md): Turns MuJoCo's headers into the bindings this package ships.
- [ExMujoco.Gen.Header](ExMujoco.Gen.Header.md): Reads MuJoCo's C headers into data.
- [ExMujoco.Gen.Template](ExMujoco.Gen.Template.md): The text this package generates, from the shapes `ExMujoco.Gen` hands it.
- [ExMujoco.Loader](ExMujoco.Loader.md): Loading the NIF, and refusing to go on if it does not match the headers it was
generated from.
- [ExMujoco.Types.Actuator](ExMujoco.Types.Actuator.md): `mjtActuator`, from MuJoCo's headers, as numbers. All 12 values carry a number in the header.
- [ExMujoco.Types.AlignFree](ExMujoco.Types.AlignFree.md): `mjtAlignFree`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.Bias](ExMujoco.Types.Bias.md): `mjtBias`, from MuJoCo's headers, as numbers. All 6 values carry a number in the header.
- [ExMujoco.Types.Builtin](ExMujoco.Types.Builtin.md): `mjtBuiltin`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.Button](ExMujoco.Types.Button.md): `mjtButton`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.CTimer](ExMujoco.Types.CTimer.md): `mjtCTimer`, from MuJoCo's headers, as numbers. All 10 values carry a number in the header.
- [ExMujoco.Types.CamLight](ExMujoco.Types.CamLight.md): `mjtCamLight`, from MuJoCo's headers, as numbers. All 5 values carry a number in the header.
- [ExMujoco.Types.CamOutBit](ExMujoco.Types.CamOutBit.md): `mjtCamOutBit`, from MuJoCo's headers, as numbers. All 6 values carry a number in the header.
- [ExMujoco.Types.Camera](ExMujoco.Types.Camera.md): `mjtCamera_`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.CatBit](ExMujoco.Types.CatBit.md): `mjtCatBit_`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.ColorSpace](ExMujoco.Types.ColorSpace.md): `mjtColorSpace`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.ConDataField](ExMujoco.Types.ConDataField.md): `mjtConDataField`, from MuJoCo's headers, as numbers. All 10 values carry a number in the header.
- [ExMujoco.Types.Cone](ExMujoco.Types.Cone.md): `mjtCone`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.Conflict](ExMujoco.Types.Conflict.md): `mjtConflict`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.Constraint](ExMujoco.Types.Constraint.md): `mjtConstraint`, from MuJoCo's headers, as numbers. All 8 values carry a number in the header.
- [ExMujoco.Types.ConstraintState](ExMujoco.Types.ConstraintState.md): `mjtConstraintState`, from MuJoCo's headers, as numbers. All 5 values carry a number in the header.
- [ExMujoco.Types.CtrlChart](ExMujoco.Types.CtrlChart.md): `mjtCtrlChart`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.CtrlInput](ExMujoco.Types.CtrlInput.md): `mjtCtrlInput`, from MuJoCo's headers, as numbers. All 6 values carry a number in the header.
- [ExMujoco.Types.DataType](ExMujoco.Types.DataType.md): `mjtDataType`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.DepthMap](ExMujoco.Types.DepthMap.md): `mjtDepthMap_`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.DisableBit](ExMujoco.Types.DisableBit.md): `mjtDisableBit`, from MuJoCo's headers, as numbers. All 21 values carry a number in the header.
- [ExMujoco.Types.Dyn](ExMujoco.Types.Dyn.md): `mjtDyn`, from MuJoCo's headers, as numbers. All 8 values carry a number in the header.
- [ExMujoco.Types.Embed](ExMujoco.Types.Embed.md): `mjtEmbed`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.EnableBit](ExMujoco.Types.EnableBit.md): `mjtEnableBit`, from MuJoCo's headers, as numbers. All 9 values carry a number in the header.
- [ExMujoco.Types.Eq](ExMujoco.Types.Eq.md): `mjtEq`, from MuJoCo's headers, as numbers. All 8 values carry a number in the header.
- [ExMujoco.Types.Event](ExMujoco.Types.Event.md): `mjtEvent`, from MuJoCo's headers, as numbers. All 9 values carry a number in the header.
- [ExMujoco.Types.FlexSection](ExMujoco.Types.FlexSection.md): `mjtFlexSection`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.FlexSelf](ExMujoco.Types.FlexSelf.md): `mjtFlexSelf`, from MuJoCo's headers, as numbers. All 5 values carry a number in the header.
- [ExMujoco.Types.Font](ExMujoco.Types.Font.md): `mjtFont_`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.FontScale](ExMujoco.Types.FontScale.md): `mjtFontScale_`, from MuJoCo's headers, as numbers. All 6 values carry a number in the header.
- [ExMujoco.Types.Frame](ExMujoco.Types.Frame.md): `mjtFrame_`, from MuJoCo's headers, as numbers. All 9 values carry a number in the header.
- [ExMujoco.Types.Framebuffer](ExMujoco.Types.Framebuffer.md): `mjtFramebuffer_`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.Gain](ExMujoco.Types.Gain.md): `mjtGain`, from MuJoCo's headers, as numbers. All 7 values carry a number in the header.
- [ExMujoco.Types.Geom](ExMujoco.Types.Geom.md): `mjtGeom`, from MuJoCo's headers, as numbers. All 20 values carry a number in the header.
- [ExMujoco.Types.GeomInertia](ExMujoco.Types.GeomInertia.md): `mjtGeomInertia`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.GridPos](ExMujoco.Types.GridPos.md): `mjtGridPos_`, from MuJoCo's headers, as numbers. All 8 values carry a number in the header.
- [ExMujoco.Types.InertiaFromGeom](ExMujoco.Types.InertiaFromGeom.md): `mjtInertiaFromGeom`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.Integrator](ExMujoco.Types.Integrator.md): `mjtIntegrator`, from MuJoCo's headers, as numbers. All 5 values carry a number in the header.
- [ExMujoco.Types.Item](ExMujoco.Types.Item.md): `mjtItem`, from MuJoCo's headers, as numbers. All 17 values carry a number in the header.
- [ExMujoco.Types.Jacobian](ExMujoco.Types.Jacobian.md): `mjtJacobian`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.Joint](ExMujoco.Types.Joint.md): `mjtJoint`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.LRMode](ExMujoco.Types.LRMode.md): `mjtLRMode`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.Label](ExMujoco.Types.Label.md): `mjtLabel_`, from MuJoCo's headers, as numbers. All 18 values carry a number in the header.
- [ExMujoco.Types.LightType](ExMujoco.Types.LightType.md): `mjtLightType`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.Limited](ExMujoco.Types.Limited.md): `mjtLimited`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.LogLevel](ExMujoco.Types.LogLevel.md): `mjtLogLevel`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.LogTopic](ExMujoco.Types.LogTopic.md): `mjtLogTopic`, from MuJoCo's headers, as numbers. All 5 values carry a number in the header.
- [ExMujoco.Types.Mark](ExMujoco.Types.Mark.md): `mjtMark`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.MeshBuiltin](ExMujoco.Types.MeshBuiltin.md): `mjtMeshBuiltin`, from MuJoCo's headers, as numbers. All 14 values carry a number in the header.
- [ExMujoco.Types.MeshInertia](ExMujoco.Types.MeshInertia.md): `mjtMeshInertia`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.MjrIndexType](ExMujoco.Types.MjrIndexType.md): `mjrIndexType_`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.MjrMeshPrimitiveType](ExMujoco.Types.MjrMeshPrimitiveType.md): `mjrMeshPrimitiveType_`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.MjrPixelFormat](ExMujoco.Types.MjrPixelFormat.md): `mjrPixelFormat_`, from MuJoCo's headers, as numbers. All 7 values carry a number in the header.
- [ExMujoco.Types.MjrVertexAttributeType](ExMujoco.Types.MjrVertexAttributeType.md): `mjrVertexAttributeType_`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.MjrVertexAttributeUsage](ExMujoco.Types.MjrVertexAttributeUsage.md): `mjrVertexAttributeUsage_`, from MuJoCo's headers, as numbers. All 5 values carry a number in the header.
- [ExMujoco.Types.Mouse](ExMujoco.Types.Mouse.md): `mjtMouse_`, from MuJoCo's headers, as numbers. All 10 values carry a number in the header.
- [ExMujoco.Types.Obj](ExMujoco.Types.Obj.md): `mjtObj`, from MuJoCo's headers, as numbers. All 30 values carry a number in the header.
- [ExMujoco.Types.Orientation](ExMujoco.Types.Orientation.md): `mjtOrientation`, from MuJoCo's headers, as numbers. All 5 values carry a number in the header.
- [ExMujoco.Types.Passthrough](ExMujoco.Types.Passthrough.md): `mjtPassthrough`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.PertBit](ExMujoco.Types.PertBit.md): `mjtPertBit_`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.PluginCapabilityBit](ExMujoco.Types.PluginCapabilityBit.md): `mjtPluginCapabilityBit_`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.Projection](ExMujoco.Types.Projection.md): `mjtProjection`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.RayDataField](ExMujoco.Types.RayDataField.md): `mjtRayDataField`, from MuJoCo's headers, as numbers. All 7 values carry a number in the header.
- [ExMujoco.Types.RndFlag](ExMujoco.Types.RndFlag.md): `mjtRndFlag_`, from MuJoCo's headers, as numbers. All 13 values carry a number in the header.
- [ExMujoco.Types.SDFType](ExMujoco.Types.SDFType.md): `mjtSDFType`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.SameFrame](ExMujoco.Types.SameFrame.md): `mjtSameFrame`, from MuJoCo's headers, as numbers. All 5 values carry a number in the header.
- [ExMujoco.Types.Scaling](ExMujoco.Types.Scaling.md): `mjtScaling`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.Section](ExMujoco.Types.Section.md): `mjtSection`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.Sensor](ExMujoco.Types.Sensor.md): `mjtSensor`, from MuJoCo's headers, as numbers. All 49 values carry a number in the header.
- [ExMujoco.Types.SleepPolicy](ExMujoco.Types.SleepPolicy.md): `mjtSleepPolicy`, from MuJoCo's headers, as numbers. All 6 values carry a number in the header.
- [ExMujoco.Types.SleepState](ExMujoco.Types.SleepState.md): `mjtSleepState`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.Solver](ExMujoco.Types.Solver.md): `mjtSolver`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.Stage](ExMujoco.Types.Stage.md): `mjtStage`, from MuJoCo's headers, as numbers. All 4 values carry a number in the header.
- [ExMujoco.Types.State](ExMujoco.Types.State.md): `mjtState`, from MuJoCo's headers, as numbers. All 20 values carry a number in the header.
- [ExMujoco.Types.Stereo](ExMujoco.Types.Stereo.md): `mjtStereo_`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.Tendon](ExMujoco.Types.Tendon.md): `mjtTendon`, from MuJoCo's headers, as numbers. All 2 values carry a number in the header.
- [ExMujoco.Types.Texture](ExMujoco.Types.Texture.md): `mjtTexture`, from MuJoCo's headers, as numbers. All 3 values carry a number in the header.
- [ExMujoco.Types.TextureRole](ExMujoco.Types.TextureRole.md): `mjtTextureRole`, from MuJoCo's headers, as numbers. All 11 values carry a number in the header.
- [ExMujoco.Types.Timer](ExMujoco.Types.Timer.md): `mjtTimer`, from MuJoCo's headers, as numbers. All 16 values carry a number in the header.
- [ExMujoco.Types.Trn](ExMujoco.Types.Trn.md): `mjtTrn`, from MuJoCo's headers, as numbers. All 8 values carry a number in the header.
- [ExMujoco.Types.VisFlag](ExMujoco.Types.VisFlag.md): `mjtVisFlag_`, from MuJoCo's headers, as numbers. All 32 values carry a number in the header.
- [ExMujoco.Types.Warning](ExMujoco.Types.Warning.md): `mjtWarning`, from MuJoCo's headers, as numbers. All 8 values carry a number in the header.
- [ExMujoco.Types.Wrap](ExMujoco.Types.Wrap.md): `mjtWrap`, from MuJoCo's headers, as numbers. All 6 values carry a number in the header.

- Physics
  - [ExMujoco](ExMujoco.md): MuJoCo, from Elixir.
  - [ExMujoco.Data](ExMujoco.Data.md): The fields of `mjData`, read one at a time.
  - [ExMujoco.Model](ExMujoco.Model.md): The fields of `mjModel`, read one at a time.
  - [ExMujoco.Tensor](ExMujoco.Tensor.md): A field of an `mjModel` or `mjData`, as a value: the elements, their type, and
the shape MuJoCo declared them with.

- Exceptions
  - [ExMujoco.Error](ExMujoco.Error.md): What MuJoCo says when it refuses.

## Mix Tasks

- [mix ex_mujoco.gen](Mix.Tasks.ExMujoco.Gen.md): Rewrites the NIF bindings, the Elixir that calls them, and `docs/coverage.md`
from the MuJoCo headers this build is against.

