module GraphRewriting.GL.HyperEdge where
import GraphRewriting.Graph
import GraphRewriting.Graph.Read
import GraphRewriting.Layout.Rotation
import GraphRewriting.Layout.Position
import GraphRewriting.Layout.PortSpec
import GraphRewriting.Layout.RotPortSpec
type HyperEdgeRepr n = Edge → [n] → [(Vector2, Vector2)]
star ∷ (View [Port] n, View Position n, PortSpec n, View Rotation n) ⇒ HyperEdgeRepr n
star e ns = [(port, focalPoint ports) | port ← ports]
where ports = concatMap (propOfPort absRotPortPos e) ns
complete ∷ (View Position n, PortSpec n, View Rotation n) ⇒ Edge → [n] → [(Vector2, Vector2)]
complete = undefined