quadedge

package
v1.1.3 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2022 License: LGPL-2.1 Imports: 7 Imported by: 0

Documentation

Overview

Package quadedge a topological subdivision of quadeges, to support creating triangulations and Voronoi diagrams.

Index

Constants

View Source
const EdgeCoincidenceTolFactor = 1000

EdgeCoincidenceTolFactor ...

Variables

This section is empty.

Functions

func IsCCW

func IsCCW(a matrix.Matrix, b matrix.Matrix, c matrix.Matrix) bool

IsCCW ...

func IsInCircle

func IsInCircle(v matrix.Matrix, a matrix.Matrix, b matrix.Matrix, c matrix.Matrix) bool

IsInCircle ...

func Splice

func Splice(a *QuadEdge, b *QuadEdge)

Splice splice two edges together or apart

func Swap

func Swap(e *QuadEdge)

Swap ....

Types

type LastFoundQuadEdgeLocator

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

LastFoundQuadEdgeLocator ...

func NewLastFoundQuadEdgeLocator

func NewLastFoundQuadEdgeLocator(subdivision *Subdivision) *LastFoundQuadEdgeLocator

NewLastFoundQuadEdgeLocator ...

type Locator

type Locator interface {
	// contains filtered or unexported methods
}

Locator ...

type QuadEdge

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

QuadEdge ...

func Connect

func Connect(a, b *QuadEdge) *QuadEdge

Connect ...

func EmptyQuadEdge

func EmptyQuadEdge() *QuadEdge

EmptyQuadEdge ...

func NewQuadEdge

func NewQuadEdge(o matrix.Matrix, d matrix.Matrix) *QuadEdge

NewQuadEdge return a QuadEdge

func (*QuadEdge) DNext

func (q *QuadEdge) DNext() *QuadEdge

DNext return next destination edge

func (*QuadEdge) DPrev

func (q *QuadEdge) DPrev() *QuadEdge

DPrev return prev destination edge

func (*QuadEdge) Destination

func (q *QuadEdge) Destination() matrix.Matrix

Destination ...

func (*QuadEdge) InvRot

func (q *QuadEdge) InvRot() *QuadEdge

InvRot return the inverse rotated edge.

func (*QuadEdge) LNext

func (q *QuadEdge) LNext() *QuadEdge

LNext return next left face edge

func (*QuadEdge) LPrev

func (q *QuadEdge) LPrev() *QuadEdge

LPrev return previous left face edge

func (*QuadEdge) ONext

func (q *QuadEdge) ONext() *QuadEdge

ONext return next edge

func (*QuadEdge) OPrev

func (q *QuadEdge) OPrev() *QuadEdge

OPrev return prev edge

func (*QuadEdge) Origin

func (q *QuadEdge) Origin() matrix.Matrix

Origin ...

func (*QuadEdge) Primary

func (q *QuadEdge) Primary() *QuadEdge

Primary get the primary edge of this quadedge

func (*QuadEdge) RNext

func (q *QuadEdge) RNext() *QuadEdge

RNext return next right face edge

func (*QuadEdge) RPrev

func (q *QuadEdge) RPrev() *QuadEdge

RPrev return previous right face edge

func (*QuadEdge) SetDestination

func (q *QuadEdge) SetDestination(v matrix.Matrix)

SetDestination ...

func (*QuadEdge) SetOrigin

func (q *QuadEdge) SetOrigin(v matrix.Matrix)

SetOrigin ...

func (*QuadEdge) Sym

func (q *QuadEdge) Sym() *QuadEdge

Sym return the sym of the edge

func (*QuadEdge) ToString

func (q *QuadEdge) ToString() string

ToString ...

type Subdivision added in v1.1.0

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

Subdivision ...

func NewQuadEdgeSubdivision

func NewQuadEdgeSubdivision(env *envelope.Envelope, tolerance float64) *Subdivision

NewQuadEdgeSubdivision ...

func (*Subdivision) Connect added in v1.1.0

func (q *Subdivision) Connect(a *QuadEdge, b *QuadEdge) *QuadEdge

Connect ...

func (*Subdivision) Delete added in v1.1.0

func (q *Subdivision) Delete(e *QuadEdge)

Delete ...

func (*Subdivision) Edges added in v1.1.0

func (q *Subdivision) Edges() []*QuadEdge

Edges ...

func (*Subdivision) GetVoronoiCellPolygons added in v1.1.0

func (q *Subdivision) GetVoronoiCellPolygons() []matrix.PolygonMatrix

GetVoronoiCellPolygons ...

func (*Subdivision) IsFrameEdge added in v1.1.0

func (q *Subdivision) IsFrameEdge(e *QuadEdge) bool

IsFrameEdge whether a QuadEdge is an edge incident on a frame triangle vertex

func (*Subdivision) IsFrameVertex added in v1.1.0

func (q *Subdivision) IsFrameVertex(v matrix.Matrix) bool

IsFrameVertex ...

func (*Subdivision) IsOnEdge added in v1.1.0

func (q *Subdivision) IsOnEdge(e *QuadEdge, p matrix.Matrix) bool

IsOnEdge ...

func (*Subdivision) IsVertexOfEdge added in v1.1.0

func (q *Subdivision) IsVertexOfEdge(e *QuadEdge, v matrix.Matrix) bool

IsVertexOfEdge ...

func (*Subdivision) Locate added in v1.1.0

func (q *Subdivision) Locate(v matrix.Matrix) *QuadEdge

Locate ...

func (*Subdivision) MakeEdge added in v1.1.0

func (q *Subdivision) MakeEdge(o matrix.Matrix, d matrix.Matrix) *QuadEdge

MakeEdge ...

func (*Subdivision) SetEdges added in v1.1.0

func (q *Subdivision) SetEdges(edges []*QuadEdge)

SetEdges ...

type TriangleCircumcentreVisitor

type TriangleCircumcentreVisitor struct {
}

TriangleCircumcentreVisitor ...

func (*TriangleCircumcentreVisitor) Visit

func (t *TriangleCircumcentreVisitor) Visit(triEdges []*QuadEdge)

Visit ...

type TriangleVisitor

type TriangleVisitor interface {
	Visit(triEdges []*QuadEdge)
}

TriangleVisitor ...

Jump to

Keyboard shortcuts

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