pgrid

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const DrawTilesAndPoints = false
View Source
const GridLinesTotal = uint8(5)
View Source
const LineScale = deBruijnScale * 2.5
View Source
const Padding = deBruijnScale * 4

Variables

This section is empty.

Functions

func AxesAll added in v0.7.1

func AxesAll() iter.Seq2[uint8, uint8]

func AxesCanon added in v0.7.1

func AxesCanon() iter.Seq2[uint8, uint8]

func AxesPairsSymmetric added in v0.7.1

func AxesPairsSymmetric(dax uint8) iter.Seq2[uint8, uint8]

func Get

func Get(axes GridAxes) uint8

func GetBounds added in v0.8.0

func GetBounds(limit int) (Bounds, BoundsSize, OffsetInt, OffsetInt)

func ResetValues

func ResetValues()

func Set

func Set(axes GridAxes, value uint8)

func Step added in v0.7.0

func Step(axes GridAxes, limit uint8) uint8

Step is used by RunAxes in cmd/ant-dry

func Step0 added in v0.7.0

func Step0(axes GridAxes, limit uint8) uint8

func StepColor added in v0.7.0

func StepColor(axes GridAxes, limit uint8) (uint8, uint8)

StepColor is used by RunAxesColor in cmd/ant

func StepColor0 added in v0.7.0

func StepColor0(axes GridAxes, limit uint8) (uint8, uint8)

func Uniq

func Uniq() (uint64, int)

Types

type Bounds added in v0.8.0

type Bounds [GridLinesTotal]struct {
	Axis     uint8     `json:"axis"`
	Min      OffsetInt `json:"min"`
	MinCount int       `json:"minCount"`
	Max      OffsetInt `json:"max"`
	MaxCount int       `json:"maxCount"`

	Counts OffsetCounts `json:"counts"`
}

type BoundsSize added in v0.8.0

type BoundsSize [GridLinesTotal]OffsetInt

type Field

type Field struct {
	Rules []bool
	Limit uint8
	// contains filtered or unexported fields
}

func New

func New(radius float64, rules []bool, initialPoint string) *Field

func (*Field) GetCenterPoint added in v0.7.0

func (f *Field) GetCenterPoint(ga GridAxes) image.Point

func (*Field) InitialCenterPoint added in v0.8.0

func (f *Field) InitialCenterPoint() image.Point

func (*Field) InitialOffsets added in v0.10.0

func (f *Field) InitialOffsets() GridOffsets

func (*Field) InitialPointOutside added in v0.8.0

func (f *Field) InitialPointOutside(r image.Rectangle) bool

func (*Field) InitialTurn added in v0.8.0

func (f *Field) InitialTurn() Turn

func (*Field) Rect added in v0.7.1

func (f *Field) Rect() image.Rectangle

func (*Field) RectIntersectMinPoint added in v0.7.1

func (f *Field) RectIntersectMinPoint(rect image.Rectangle, ax0, ax1 uint8, minPoint GridCoords) image.Rectangle

func (*Field) RectUnionMinPoint added in v0.7.1

func (f *Field) RectUnionMinPoint(rect image.Rectangle, ax0, ax1 uint8, minPoint GridCoords) image.Rectangle

func (*Field) RectUpArray added in v0.7.1

func (f *Field) RectUpArray(ax0, ax1 uint8) image.Rectangle

func (*Field) RunAxes added in v0.3.0

func (f *Field) RunAxes(maxSteps uint64) iter.Seq[GridAxes]

RunAxes is used in cmd/ant-dry and cmd/ant-batch/path

func (*Field) RunAxesColor added in v0.7.0

func (f *Field) RunAxesColor(maxSteps uint64) iter.Seq2[GridAxes, uint8]

RunAxesColor is used in cmd/ant

func (*Field) RunPoint added in v0.3.0

func (f *Field) RunPoint(maxSteps uint64) iter.Seq2[GridAxes, image.Point]

RunPoint was used in cmd/ant-dry

func (*Field) RunTurns added in v0.8.0

func (f *Field) RunTurns(maxSteps uint64) iter.Seq2[uint64, Turn]

RunTurns is used in cmd/ant-batch -ip

func (*Field) SeedString added in v0.10.0

func (f *Field) SeedString(seedDropBits uint8) string

type Geometry added in v0.8.0

type Geometry [GridLinesTotal][GridLinesTotal]intersection

type GridAxes

type GridAxes struct {
	Axis0  uint8
	Axis1  uint8
	Coords GridCoords
}

func (*GridAxes) String added in v0.2.0

func (ga *GridAxes) String() string

func (*GridAxes) TurnString added in v0.10.0

func (ga *GridAxes) TurnString(dir string) string

type GridCoords added in v0.3.0

type GridCoords struct {
	Offset0 OffsetInt
	Offset1 OffsetInt
}

func (*GridCoords) String added in v0.6.0

func (gc *GridCoords) String() string

type GridLine

type GridLine struct {
	Axis   uint8
	Offset OffsetInt
}

func (*GridLine) Print

func (gl *GridLine) Print()

func (*GridLine) String

func (gl *GridLine) String() string

type GridOffsets

type GridOffsets [GridLinesTotal]OffsetInt

type GridPoint

type GridPoint struct {
	Axes    GridAxes
	Offsets GridOffsets
}

func (*GridPoint) GetCenterPoint added in v0.7.0

func (gp *GridPoint) GetCenterPoint() image.Point

func (*GridPoint) GetCornerPoints added in v0.7.0

func (gp *GridPoint) GetCornerPoints() [4]image.Point

func (*GridPoint) String

func (gp *GridPoint) String() string

type OffsetCount added in v0.9.0

type OffsetCount struct {
	Offset OffsetInt `json:"offset"`
	Count  int       `json:"count"`
	Row    int       `json:"wythoffRow,omitempty"`
	Col    int       `json:"wythoffCol,omitempty"`
}

type OffsetCounts added in v0.9.0

type OffsetCounts []OffsetCount

func TopCounts added in v0.9.0

func TopCounts(limit int) [GridLinesTotal]OffsetCounts

func (OffsetCounts) Len added in v0.9.0

func (oc OffsetCounts) Len() int

func (OffsetCounts) Less added in v0.9.0

func (oc OffsetCounts) Less(i, j int) bool

func (OffsetCounts) Swap added in v0.9.0

func (oc OffsetCounts) Swap(i, j int)

type OffsetInt added in v0.10.0

type OffsetInt int32

type Turn added in v0.8.0

type Turn struct {
	CurrLine GridLine
	PrevLine GridLine
	// contains filtered or unexported fields
}

func (Turn) String added in v0.8.0

func (t Turn) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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