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