# `ExMujoco.Types.Constraint`
[🔗](https://github.com/d-led/ex.mujoco/blob/main/lib/ex_mujoco/types/constraint.ex#L2)

`mjtConstraint`, from MuJoCo's headers, as numbers. All 8 values carry a number in the header.

# `t`

```elixir
@type t() :: integer()
```

# `contact_elliptic`

```elixir
@spec contact_elliptic() :: 7
```

mjCNSTR_CONTACT_ELLIPTIC is 7.

# `contact_frictionless`

```elixir
@spec contact_frictionless() :: 5
```

mjCNSTR_CONTACT_FRICTIONLESS is 5.

# `contact_pyramidal`

```elixir
@spec contact_pyramidal() :: 6
```

mjCNSTR_CONTACT_PYRAMIDAL is 6.

# `equality`

```elixir
@spec equality() :: 0
```

mjCNSTR_EQUALITY is 0.

# `friction_dof`

```elixir
@spec friction_dof() :: 1
```

mjCNSTR_FRICTION_DOF is 1.

# `friction_tendon`

```elixir
@spec friction_tendon() :: 2
```

mjCNSTR_FRICTION_TENDON is 2.

# `limit_joint`

```elixir
@spec limit_joint() :: 3
```

mjCNSTR_LIMIT_JOINT is 3.

# `limit_tendon`

```elixir
@spec limit_tendon() :: 4
```

mjCNSTR_LIMIT_TENDON is 4.

# `to_atom`

```elixir
@spec to_atom(integer() | atom()) :: atom() | nil
```

The name behind an integer. An atom is already one.

# `to_integer`

```elixir
@spec to_integer(t() | atom()) :: integer() | nil
```

The integer behind a name. An integer is already one.

# `values`

```elixir
@spec values() :: [{atom(), integer()}]
```

Every value, as `{name, integer}`, in the order the header lists them.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
