geom

package
v0.0.25 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	N = Point2{0, 1}
	S = Point2{0, -1}
	E = Point2{1, 0}
	W = Point2{-1, 0}
)

Functions

This section is empty.

Types

type Point2

type Point2 [2]int

func (Point2) Offset

func (v Point2) Offset(x, y int) Point2

func (Point2) OffsetPt added in v0.0.25

func (v Point2) OffsetPt(o Point2) Point2

func (Point2) Point2

func (v Point2) Point2() Point2

func (Point2) Point3

func (v Point2) Point3() Point3

func (Point2) Point4

func (v Point2) Point4() Point4

func (Point2) X

func (v Point2) X() int

func (Point2) XY

func (v Point2) XY() (int, int)

func (Point2) Y

func (v Point2) Y() int

type Point3

type Point3 [3]int

func (Point3) Offset

func (v Point3) Offset(x, y, z int) Point3

func (Point3) OffsetPt added in v0.0.25

func (v Point3) OffsetPt(o Point3) Point3

func (Point3) Point2

func (v Point3) Point2() Point2

func (Point3) Point3

func (v Point3) Point3() Point3

func (Point3) Point4

func (v Point3) Point4() Point4

func (Point3) X

func (v Point3) X() int

func (Point3) Y

func (v Point3) Y() int

func (Point3) Z

func (v Point3) Z() int

type Point4

type Point4 [4]int

func (Point4) Offset

func (v Point4) Offset(x, y, z, w int) Point4

func (Point4) OffsetPt added in v0.0.25

func (v Point4) OffsetPt(o Point4) Point4

func (Point4) Point2

func (v Point4) Point2() Point2

func (Point4) Point3

func (v Point4) Point3() Point3

func (Point4) Point4

func (v Point4) Point4() Point4

func (Point4) W

func (v Point4) W() int

func (Point4) X

func (v Point4) X() int

func (Point4) Y

func (v Point4) Y() int

func (Point4) Z

func (v Point4) Z() int

type SGrid added in v0.0.22

type SGrid[TCell any, TEdge any] struct {
	Width, Height int
	Cells         [][]TCell
	Edges         [][][2]TEdge
}

func NewSGrid added in v0.0.22

func NewSGrid[TCell any, TEdge any](width, height int, defaultCell func() TCell, defaultEdge func() TEdge) *SGrid[TCell, TEdge]

func (*SGrid[TCell, TEdge]) GetCell added in v0.0.22

func (g *SGrid[TCell, TEdge]) GetCell(x, y int) TCell

func (*SGrid[TCell, TEdge]) GetCellPt added in v0.0.25

func (g *SGrid[TCell, TEdge]) GetCellPt(pt Point2) TCell

func (*SGrid[TCell, TEdge]) GetEdges added in v0.0.22

func (g *SGrid[TCell, TEdge]) GetEdges(x, y int) (TEdge, TEdge, TEdge, TEdge)

GetEdges returns (northEdge, eastEdge, southEdge, westEdge)

func (*SGrid[TCell, TEdge]) GetEdgesPt added in v0.0.25

func (g *SGrid[TCell, TEdge]) GetEdgesPt(pt Point2) (TEdge, TEdge, TEdge, TEdge)

GetEdgesPt returns (northEdge, eastEdge, southEdge, westEdge)

func (*SGrid[TCell, TEdge]) GetNeighbors added in v0.0.22

func (g *SGrid[TCell, TEdge]) GetNeighbors(x, y int) []TCell

GetNeighbors returns in NESW order

func (*SGrid[TCell, TEdge]) GetNeighborsMap added in v0.0.25

func (g *SGrid[TCell, TEdge]) GetNeighborsMap(x, y int) map[Point2]TCell

GetNeighborsMap returns in arbitrary order

func (*SGrid[TCell, TEdge]) SetCell added in v0.0.22

func (g *SGrid[TCell, TEdge]) SetCell(x, y int, cell TCell)

func (*SGrid[TCell, TEdge]) SetEdges added in v0.0.22

func (g *SGrid[TCell, TEdge]) SetEdges(x, y int, n, e, s, w TEdge)

func (*SGrid[TCell, TEdge]) Swap added in v0.0.22

func (g *SGrid[TCell, TEdge]) Swap(x1, y1, x2, y2 int)

type Vector2

type Vector2 [2]float32

func (Vector2) Norm added in v0.0.25

func (v Vector2) Norm() Vector2

func (Vector2) Offset

func (v Vector2) Offset(x, y float32) Vector2

func (Vector2) OffsetV added in v0.0.25

func (v Vector2) OffsetV(o Vector2) Vector2

func (Vector2) Scale added in v0.0.25

func (v Vector2) Scale(f float32) Vector2

func (Vector2) Vector2

func (v Vector2) Vector2() Vector2

func (Vector2) Vector3

func (v Vector2) Vector3() Vector3

func (Vector2) Vector4

func (v Vector2) Vector4() Vector4

func (Vector2) X

func (v Vector2) X() float32

func (Vector2) XY added in v0.0.25

func (v Vector2) XY() (float32, float32)

func (Vector2) Y

func (v Vector2) Y() float32

type Vector3

type Vector3 [3]float32

func (Vector3) Norm added in v0.0.25

func (v Vector3) Norm() Vector3

func (Vector3) Offset

func (v Vector3) Offset(x, y, z float32) Vector3

func (Vector3) OffsetV added in v0.0.25

func (v Vector3) OffsetV(o Vector3) Vector3

func (Vector3) Scale added in v0.0.25

func (v Vector3) Scale(f float32) Vector3

func (Vector3) Vector2

func (v Vector3) Vector2() Vector2

func (Vector3) Vector3

func (v Vector3) Vector3() Vector3

func (Vector3) Vector4

func (v Vector3) Vector4() Vector4

func (Vector3) X

func (v Vector3) X() float32

func (Vector3) XYZ added in v0.0.25

func (v Vector3) XYZ() (float32, float32, float32)

func (Vector3) Y

func (v Vector3) Y() float32

func (Vector3) Z

func (v Vector3) Z() float32

type Vector4

type Vector4 [4]float32

func (Vector4) Norm added in v0.0.25

func (v Vector4) Norm() Vector4

func (Vector4) Offset

func (v Vector4) Offset(x, y, z, w float32) Vector4

func (Vector4) OffsetV added in v0.0.25

func (v Vector4) OffsetV(o Vector4) Vector4

func (Vector4) Scale added in v0.0.25

func (v Vector4) Scale(f float32) Vector4

func (Vector4) Vector2

func (v Vector4) Vector2() Vector2

func (Vector4) Vector3

func (v Vector4) Vector3() Vector3

func (Vector4) Vector4

func (v Vector4) Vector4() Vector4

func (Vector4) W

func (v Vector4) W() float32

func (Vector4) X

func (v Vector4) X() float32

func (Vector4) XYZW added in v0.0.25

func (v Vector4) XYZW() (float32, float32, float32, float32)

func (Vector4) Y

func (v Vector4) Y() float32

func (Vector4) Z

func (v Vector4) Z() float32

Jump to

Keyboard shortcuts

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