Documentation ¶
Index ¶
- Constants
- func Chains(dc *dcel.DCEL, f *dcel.Face, pts []*dcel.Vertex) (map[*dcel.Vertex]chain, error)
- func CounterClockwiseEdge(v *dcel.Vertex, dc *dcel.DCEL) *dcel.Edge
- func DiagonalWithinFace(tree pointLoc.LocatesPoints, a, b *dcel.Vertex) bool
- func IsLeftOf(v *dcel.Vertex, f *dcel.Face, dc *dcel.DCEL) bool
- func MergeInsert(helpers map[*dcel.Edge]helper, f *dcel.Face, e *dcel.Edge, v *dcel.Vertex, ...) error
- func NewDoubleIntervalTree(f *dcel.Face, dc *dcel.DCEL) (pointLoc.LocatesPoints, error)
- func Split(inDc *dcel.DCEL) (*dcel.DCEL, map[*dcel.Face]*dcel.Face, error)
- func Triangulate(inDc *dcel.DCEL) (*dcel.DCEL, map[*dcel.Face]*dcel.Face, error)
- func TriangulateSplit(monotonized *dcel.DCEL, faceMap map[*dcel.Face]*dcel.Face) (*dcel.DCEL, map[*dcel.Face]*dcel.Face, error)
- func VertexType(v *dcel.Vertex, dc *dcel.DCEL) int
- type DblIntervalTree
- type VertexStack
- type VertexStackItem
Constants ¶
View Source
const ( START = iota END REGULAR SPLIT MERGE )
VertexType Const
Variables ¶
This section is empty.
Functions ¶
func DiagonalWithinFace ¶
func DiagonalWithinFace(tree pointLoc.LocatesPoints, a, b *dcel.Vertex) bool
func IsLeftOf ¶
IsLeftOf returns whether v is to the left or to the right of --the face which neighbors v--, f
func MergeInsert ¶
func NewDoubleIntervalTree ¶
DoubleIntervalTree converts a monotonized f into a structure that can be pointlocated on to determine if a given point exists inside or outside the face. Because this is a monotone polygon we don't actually make an interval tree, we just make bsts. The intervals we use will be non-overlapping except at vertices
func Split ¶
Split converts a dcel into another dcel of y monotone shapes, along with a mapping of faces in the new set to faces in the input set.
func Triangulate ¶
Triangulate uses Monotonization to convert a dcel into a dcel made up of just triangles
Types ¶
type DblIntervalTree ¶
type DblIntervalTree struct {
// contains filtered or unexported fields
}
func (DblIntervalTree) PointLocate ¶
func (dit DblIntervalTree) PointLocate(vs ...float64) (*dcel.Face, error)
type VertexStack ¶
type VertexStack struct {
// contains filtered or unexported fields
}
func (*VertexStack) IsEmpty ¶
func (vst *VertexStack) IsEmpty() bool
func (*VertexStack) Pop ¶
func (vst *VertexStack) Pop() *dcel.Vertex
func (*VertexStack) Push ¶
func (vst *VertexStack) Push(vs ...*dcel.Vertex)
type VertexStackItem ¶
Click to show internal directories.
Click to hide internal directories.