packages feed

graph-rewriting-layout 0.4.3 → 0.4.4

raw patch · 9 files changed

+47/−42 lines, 9 filesdep ~AC-Vectordep ~basedep ~graph-rewritingPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: AC-Vector, base, graph-rewriting

API changes (from Hackage documentation)

- GraphRewriting.Layout.Wrapper: instance (PortSpec n) => PortSpec (Wrapper n)
- GraphRewriting.Layout.Wrapper: instance (View [Port] n) => View [Port] (Wrapper n)
+ GraphRewriting.Layout.Wrapper: instance PortSpec n => PortSpec (Wrapper n)
+ GraphRewriting.Layout.Wrapper: instance View [Port] n => View [Port] (Wrapper n)
- GraphRewriting.Layout.Coulomb: coulombForce :: (View Position n) => Node -> WithGraph n Force
+ GraphRewriting.Layout.Coulomb: coulombForce :: View Position n => Node -> WithGraph n Force
- GraphRewriting.Layout.Gravitation: centralGravitation :: (View Position n) => Node -> WithGraph n Force
+ GraphRewriting.Layout.Gravitation: centralGravitation :: View Position n => Node -> WithGraph n Force
- GraphRewriting.Layout.Gravitation: gravitation :: (View Position n) => Node -> Rewrite n Force
+ GraphRewriting.Layout.Gravitation: gravitation :: View Position n => Node -> Rewrite n Force
- GraphRewriting.Layout.PortSpec: portDir :: (PortSpec n) => n -> [Vector2]
+ GraphRewriting.Layout.PortSpec: portDir :: PortSpec n => n -> [Vector2]
- GraphRewriting.Layout.PortSpec: portSpec :: (PortSpec n) => n -> [(Vector2, Vector2)]
+ GraphRewriting.Layout.PortSpec: portSpec :: PortSpec n => n -> [(Vector2, Vector2)]
- GraphRewriting.Layout.PortSpec: propOfPort :: (View [Port] n) => (n -> [a]) -> Edge -> n -> [a]
+ GraphRewriting.Layout.PortSpec: propOfPort :: View [Port] n => (n -> [a]) -> Edge -> n -> [a]
- GraphRewriting.Layout.PortSpec: relPortPos :: (PortSpec n) => n -> [Vector2]
+ GraphRewriting.Layout.PortSpec: relPortPos :: PortSpec n => n -> [Vector2]
- GraphRewriting.Layout.RotPortSpec: average :: (Fractional a) => [a] -> a
+ GraphRewriting.Layout.RotPortSpec: average :: Fractional a => [a] -> a

Files

GraphRewriting/Layout/Force.hs view
@@ -1,6 +1,7 @@ module GraphRewriting.Layout.Force where -import Data.Vector+import Data.Vector.Class+import Data.Vector.V2 import GraphRewriting.Layout.Geometry  @@ -19,4 +20,4 @@ attraction towards pos = force (towards - pos)  force ∷ Vector2 → Force-force f strength pos = pos + vnormalise f *| strength (vmag f)+force f strength pos = pos + vnormalise f |* strength (vmag f)
GraphRewriting/Layout/Geometry.hs view
@@ -1,6 +1,6 @@ module GraphRewriting.Layout.Geometry where -import Data.Vector+import Data.Vector.V2   focalPoint ∷ [Vector2] → Vector2
GraphRewriting/Layout/Gravitation.hs view
@@ -1,7 +1,8 @@ module GraphRewriting.Layout.Gravitation where  import Data.View-import Data.Vector+import Data.Vector.Class+import Data.Vector.V2 import Control.Monad import GraphRewriting.Graph.Types import GraphRewriting.Graph.Read@@ -10,7 +11,7 @@   centralGravitation ∷ View Position n ⇒ Node → WithGraph n Force-centralGravitation = liftM (attraction $ fromScalar 0) . examineNode position+centralGravitation = liftM (attraction $ vpromote 0) . examineNode position  gravitation ∷ View Position n ⇒ Node -> Rewrite n Force gravitation node = do
GraphRewriting/Layout/Position.hs view
@@ -1,10 +1,10 @@ module GraphRewriting.Layout.Position 	(module GraphRewriting.Layout.Position,-	 module Data.Vector,+	 module Data.Vector.V2, 	 module Data.View) where -import Data.Vector+import Data.Vector.V2 import Data.View  
GraphRewriting/Layout/RotPortSpec.hs view
@@ -4,7 +4,7 @@ 	 module GraphRewriting.Layout.Rotation, 	 module GraphRewriting.Layout.PortSpec, 	 module GraphRewriting.Layout.Geometry,-	 module Data.Vector,+	 module Data.Vector.V2, 	 module Data.View) where @@ -15,7 +15,7 @@ import GraphRewriting.Layout.Rotation import GraphRewriting.Layout.PortSpec import GraphRewriting.Layout.Geometry-import Data.Vector+import Data.Vector.V2 import Data.View import Control.Monad 
GraphRewriting/Layout/Rotation.hs view
@@ -4,7 +4,8 @@ where  import Prelude.Unicode-import Data.Vector+import Data.Vector.Class+import Data.Vector.V2 import Data.View import GraphRewriting.Layout.Geometry 
GraphRewriting/Layout/SpringEmbedder.hs view
@@ -8,6 +8,7 @@ import GraphRewriting.Layout.RotPortSpec import GraphRewriting.Layout.Force import Control.Monad+import Data.Vector.Class   springForce ∷ (View [Port] n, View Position n, View Rotation n, PortSpec n) ⇒ Double → Node → WithGraph n Force@@ -21,4 +22,4 @@ 	 	springTargets e node = do 		ps ← liftM (propOfPort absRotPortSpec e) (readNode node)-		return $ map (\(p,dir) → p + vnormalise dir *| springLength) ps+		return $ map (\(p,dir) → p + vnormalise dir |* springLength) ps
GraphRewriting/Layout/Wrapper.hs view
@@ -6,7 +6,7 @@ 	 module GraphRewriting.Layout.PortSpec, 	 module GraphRewriting.Layout.Rotation, 	 module GraphRewriting.Layout.RotPortSpec,-	 module Data.Vector)+	 module Data.Vector.V2) where  import Data.View@@ -16,7 +16,8 @@ import GraphRewriting.Layout.PortSpec import GraphRewriting.Layout.Rotation import GraphRewriting.Layout.RotPortSpec-import Data.Vector+import Data.Vector.Class+import Data.Vector.V2   -- | Wraps a value of type @w@, augmenting it with layout information@@ -46,5 +47,5 @@ wrapGraph ∷ Graph n → Graph (Wrapper n) wrapGraph = unsafeMapNodesUnique wrapNode where 	wrapNode k n = Wrapper {wRot = Rotation 0, wPos = Position $ genPos k, wrappee = n}-	genPos k = rotate (fromIntegral k) (fromScalar f)+	genPos k = rotate (fromIntegral k) (vpromote f) 		where f = fromIntegral $ k `mod` 3
graph-rewriting-layout.cabal view
@@ -1,5 +1,5 @@ Name:           graph-rewriting-layout-Version:        0.4.3+Version:        0.4.4 Copyright:      (c) 2010, Jan Rochel License:        BSD3 License-File:   LICENSE@@ -8,32 +8,32 @@ Stability:      beta Build-Type:     Simple Synopsis:       Force-directed node placement intended for incremental graph drawing-Description:-	Defines basic methods for force-directed node displacement that can be combined into an incremental graph-drawing procedure.+Description:    Defines basic methods for force-directed node displacement that can be combined into an incremental graph-drawing procedure. Category:       Graphs, Graphics-Extensions:     UnicodeSyntax Cabal-Version:  >= 1.6-Build-Depends:-	base >= 4 && < 4.3,-	base-unicode-symbols >= 0.2 && < 0.3,-	graph-rewriting >= 0.4 && < 0.5,-	AC-Vector >= 1.2 && < 1.3-Exposed-Modules:-	GraphRewriting.Layout.Position-	GraphRewriting.Layout.PortSpec-	GraphRewriting.Layout.Rotation-	GraphRewriting.Layout.RotPortSpec-	GraphRewriting.Layout.Coulomb-	GraphRewriting.Layout.Gravitation-	GraphRewriting.Layout.SpringEmbedder-	GraphRewriting.Layout.Wrapper-Other-Modules:-	GraphRewriting.Layout.Force-	GraphRewriting.Layout.Geometry-Extensions:-	UnicodeSyntax-	FlexibleInstances-	FlexibleContexts-	MultiParamTypeClasses-	TypeSynonymInstances-GHC-Options:   -fno-warn-duplicate-exports -fwarn-unused-imports++Library+  Build-Depends:+    base >= 4 && < 4.4,+    base-unicode-symbols >= 0.2 && < 0.3,+    graph-rewriting >= 0.4 && < 0.6,+    AC-Vector >= 2.3 && < 2.4+  Exposed-Modules:+    GraphRewriting.Layout.Position+    GraphRewriting.Layout.PortSpec+    GraphRewriting.Layout.Rotation+    GraphRewriting.Layout.RotPortSpec+    GraphRewriting.Layout.Coulomb+    GraphRewriting.Layout.Gravitation+    GraphRewriting.Layout.SpringEmbedder+    GraphRewriting.Layout.Wrapper+  Other-Modules:+    GraphRewriting.Layout.Force+    GraphRewriting.Layout.Geometry+  Extensions:+    UnicodeSyntax+    FlexibleInstances+    FlexibleContexts+    MultiParamTypeClasses+    TypeSynonymInstances+  GHC-Options:   -fno-warn-duplicate-exports -fwarn-unused-imports