vec/dict/vec2i_dict

Values

pub fn anchor_position(
  dict: dict.Dict(vec2.Vec2(Int), value),
  at position: vec2.Vec2(Int),
  then fun: fn(dict.Dict(vec2.Vec2(Int), value)) -> dict.Dict(
    vec2.Vec2(Int),
    value,
  ),
) -> dict.Dict(vec2.Vec2(Int), value)

Return the equivalent of dict |> offset(vec2i.negate(position)) |> fun() |> offset(position).

pub fn anchor_rotation(
  dict: dict.Dict(vec2.Vec2(Int), value),
  at angle: Int,
  then fun: fn(dict.Dict(vec2.Vec2(Int), value)) -> dict.Dict(
    vec2.Vec2(Int),
    value,
  ),
) -> dict.Dict(vec2.Vec2(Int), value)

Return the equivalent of dict |> rotate(-angle) |> fun() |> rotate(angle).

pub fn decoder(
  value: decode.Decoder(value),
) -> decode.Decoder(dict.Dict(vec2.Vec2(Int), value))

A decoder that decodes 2D int vec-dict.

pub fn mirror(
  in dict: dict.Dict(vec2.Vec2(Int), value),
  through normal: vec2.Vec2(Int),
) -> dict.Dict(vec2.Vec2(Int), value)

Returns the mirror of a vec-dict through a plane defined by the given normal vector.

pub fn new_rectangle(
  from start: vec2.Vec2(Int),
  to stop: vec2.Vec2(Int),
  with fun: fn(vec2.Vec2(Int)) -> value,
) -> dict.Dict(vec2.Vec2(Int), value)

Returns a new rectangle vec-dict from start to stop fill with values return from fun.

pub fn offset(
  in dict: dict.Dict(vec2.Vec2(Int), value),
  by vector: vec2.Vec2(Int),
) -> dict.Dict(vec2.Vec2(Int), value)

Returns a new vec-dict containing the key offset by vector.

pub fn rotate(
  in dict: dict.Dict(vec2.Vec2(Int), value),
  by angle: Int,
) -> dict.Dict(vec2.Vec2(Int), value)

Rotate a vec-dict by an angle (in 90 degree steps).

pub fn to_list(
  dict: dict.Dict(vec2.Vec2(Int), value),
) -> List(List(Result(value, Nil)))

Converts the vec-dict to a list of y-axis list of x-axis values in a minimum rectangle boundary.

The vec-dict may not have all values for the keys, so values are wrapped in Result.

Search Document