module GraphRewriting.Layout.Coulomb where

import Data.View
import GraphRewriting.Graph.Types
import GraphRewriting.Graph.Read
import GraphRewriting.Layout.Position
import GraphRewriting.Layout.Force


coulombForce  View Position n  Node -> WithGraph n Force
coulombForce node = do
 	n  examineNode position node
 	ns  mapM (examineNode position) =<< readNodeList
 	return $ fsum [repulsion n' n | n'  ns]