# `BB.Message.Geometry.Twist`
[🔗](https://github.com/beam-bots/bb/blob/main/lib/bb/message/geometry/twist.ex#L5)

Linear and angular velocity in 3D space.

## Fields

- `linear` - Linear velocity as `BB.Vec3.t()` in m/s
- `angular` - Angular velocity as `BB.Vec3.t()` in rad/s

## Examples

    alias BB.Message.Geometry.Twist
    alias BB.Math.Vec3

    {:ok, msg} = Twist.new(:base_link, Vec3.new(1.0, 0.0, 0.0), Vec3.zero())

# `t`

```elixir
@type t() :: %BB.Message.Geometry.Twist{
  angular: BB.Math.Vec3.t(),
  linear: BB.Math.Vec3.t()
}
```

# `new`

```elixir
@spec new(
  atom(),
  keyword()
) :: {:ok, BB.Message.t()} | {:error, term()}
```

# `new`

```elixir
@spec new(atom(), BB.Math.Vec3.t(), BB.Math.Vec3.t()) ::
  {:ok, BB.Message.t()} | {:error, term()}
```

Create a new Twist message.

Returns `{:ok, %BB.Message{}}` with the twist as payload.

## Examples

    alias BB.Math.Vec3

    {:ok, msg} = Twist.new(:base_link, Vec3.new(1.0, 0.0, 0.0), Vec3.zero())

---

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