shapes

package
v0.0.0-...-7a6bf91 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CrossProduct2D

func CrossProduct2D(x1 int, y1 int, x2 int, y2 int) float64

Types

type AxisRect

type AxisRect struct {
	// contains filtered or unexported fields
}

func NewAxisRect

func NewAxisRect(x int, y int, w int, h int) AxisRect

func (AxisRect) ContainsPoint

func (rect AxisRect) ContainsPoint(x float64, y float64) bool

func (AxisRect) EnclosesAxisRect

func (rect AxisRect) EnclosesAxisRect(other AxisRect) bool

func (AxisRect) H

func (rect AxisRect) H() int

func (AxisRect) IntersectsAxisRect

func (rect AxisRect) IntersectsAxisRect(other AxisRect) bool

func (*AxisRect) SetPosition

func (rect *AxisRect) SetPosition(x int, y int)

func (*AxisRect) SetSize

func (rect *AxisRect) SetSize(w int, h int)

func (AxisRect) Translated

func (rect AxisRect) Translated(x int, y int) AxisRect

func (AxisRect) W

func (rect AxisRect) W() int

func (AxisRect) X

func (rect AxisRect) X() int

Getters

func (AxisRect) X2

func (rect AxisRect) X2() int

func (AxisRect) Y

func (rect AxisRect) Y() int

func (AxisRect) Y2

func (rect AxisRect) Y2() int

type Circle

type Circle struct {
	// contains filtered or unexported fields
}

func NewCircle

func NewCircle(x, y, r float64) Circle

func (Circle) BBIntersectsAxisRect

func (circ Circle) BBIntersectsAxisRect(other AxisRect) bool

func (*Circle) Init

func (circ *Circle) Init(x float64, y float64, r float64)

func (Circle) Rotated

func (circ Circle) Rotated(r float64) Shape

func (Circle) SeparationForAxisRect

func (circ Circle) SeparationForAxisRect(other AxisRect) (utils.FloatPair, float64)

func (*Circle) SetPosition

func (circ *Circle) SetPosition(x float64, y float64)

func (*Circle) SetRadius

func (circ *Circle) SetRadius(r float64)

func (Circle) TestCollision

func (circ Circle) TestCollision(o Shape) (float64, utils.FloatPair, utils.FloatPair)

func (*Circle) Translate

func (circ *Circle) Translate(x float64, y float64)

func (Circle) Translated

func (circ Circle) Translated(x, y float64) Shape

SHAPE INTERFACE METHODS

type Line

type Line struct {
	// contains filtered or unexported fields
}

func NewLine

func NewLine(x int, y int, x2 int, y2 int) Line

func (Line) BoundingBox

func (ray Line) BoundingBox() AxisRect

func (Line) DirX

func (ray Line) DirX() int

func (Line) DirY

func (ray Line) DirY() int

func (Line) GetAxisRectIntersectionTime

func (ray Line) GetAxisRectIntersectionTime(other AxisRect) float64

func (Line) GetLineIntersectionTimeRaw

func (ray Line) GetLineIntersectionTimeRaw(x int, y int, dirx int, diry int) float64

func (*Line) Init

func (ray *Line) Init(x int, y int, dirx int, diry int)

func (Line) IntersectsAxisRect

func (ray Line) IntersectsAxisRect(other AxisRect) bool

func (Line) X

func (ray Line) X() int

Getters

func (Line) Y

func (ray Line) Y() int

type Rect

type Rect struct {
	// contains filtered or unexported fields
}

type Shape

type Shape interface {
	Translated() Shape
	Rotated() Shape
	// collision depth, and two manifold points
	TestCollision(Shape) (float64, utils.FloatPair, utils.FloatPair)
}

Jump to

Keyboard shortcuts

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