grids

package
v0.0.0-...-0bc221f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Grid

type Grid[T any] [][]T

func New

func New[T any](height, width int) Grid[T]

func NewGrid

func NewGrid(lines []string) Grid[rune]

func (*Grid[T]) At

func (g *Grid[T]) At(x, y int) T

func (*Grid[T]) AtPos

func (g *Grid[T]) AtPos(pos Vector2D[int]) T

func (*Grid[T]) Clear

func (g *Grid[T]) Clear(item T)

func (*Grid[T]) Clone

func (g *Grid[T]) Clone() Grid[T]

func (*Grid[T]) ColAt

func (g *Grid[T]) ColAt(x int) []T

func (*Grid[T]) Dump

func (g *Grid[T]) Dump() string

func (*Grid[T]) Height

func (g *Grid[T]) Height() int

func (*Grid[T]) InsertCol

func (g *Grid[T]) InsertCol(x int, newCol []T)

func (*Grid[T]) InsertRow

func (g *Grid[T]) InsertRow(y int, newRow []T)

func (*Grid[T]) RowAt

func (g *Grid[T]) RowAt(y int) []T

func (*Grid[T]) SetAt

func (g *Grid[T]) SetAt(x, y int, item T)

func (*Grid[T]) SetAtPos

func (g *Grid[T]) SetAtPos(position Vector2D[int], item T)

func (*Grid[T]) Width

func (g *Grid[T]) Width() int

type Vector2D

type Vector2D[T constraints.Signed] struct {
	X, Y T
}

func East

func East[T constraints.Signed]() Vector2D[T]

func North

func North[T constraints.Signed]() Vector2D[T]

func South

func South[T constraints.Signed]() Vector2D[T]

func West

func West[T constraints.Signed]() Vector2D[T]

func (Vector2D[T]) Add

func (v Vector2D[T]) Add(dir Vector2D[T]) Vector2D[T]

func (Vector2D[T]) InBounds

func (v Vector2D[T]) InBounds(x1, y1, x2, y2 T) bool

func (Vector2D[T]) ManhattanDistance

func (v Vector2D[T]) ManhattanDistance(otherPos Vector2D[T]) T

func (Vector2D[T]) ModWrap

func (v Vector2D[T]) ModWrap(width T, height T) Vector2D[T]

func (Vector2D[T]) OutOfBounds

func (v Vector2D[T]) OutOfBounds(x1, y1, x2, y2 T) bool

func (Vector2D[T]) Reverse

func (v Vector2D[T]) Reverse() Vector2D[T]

func (Vector2D[T]) RotateLeft

func (v Vector2D[T]) RotateLeft() Vector2D[T]

func (Vector2D[T]) RotateRight

func (v Vector2D[T]) RotateRight() Vector2D[T]

func (Vector2D[T]) ScalarProduct

func (v Vector2D[T]) ScalarProduct(n T) Vector2D[T]

type Vector3D

type Vector3D[T constraints.Signed] struct {
	X, Y, Z T
}

func (Vector3D[T]) Add

func (v Vector3D[T]) Add(dir Vector3D[T]) Vector3D[T]

func (Vector3D[T]) ScalarProduct

func (v Vector3D[T]) ScalarProduct(n T) Vector3D[T]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL