package routing

import (
	
)

type OVGEdge struct {
	From *OVGNode
	To   *OVGNode

	Distance float64
}

func (,  *OVGNode) *OVGEdge {
	return &OVGEdge{
		From: ,
		To:   ,
	}
}

func ( *OVGEdge) () bool {
	return .From.X == .To.X
}

func ( *OVGEdge) () bool {
	return .From.Y == .To.Y
}

func ( *OVGEdge) ( OVGEdge) bool {
	return (nonNilEquals(.From.Point, .From.Point) ||
		nonNilEquals(.From.Point, .To.Point) ||
		nonNilEquals(.To.Point, .From.Point) ||
		nonNilEquals(.To.Point, .To.Point))
}

// geo.Point.Equals skipping nil check
// TODO move to d2 as Equals, rename existing to NilEquals
func nonNilEquals(,  *geo.Point) bool {
	return .X == .X && .Y == .Y
}