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 +3/−2
- GraphRewriting/Layout/Geometry.hs +1/−1
- GraphRewriting/Layout/Gravitation.hs +3/−2
- GraphRewriting/Layout/Position.hs +2/−2
- GraphRewriting/Layout/RotPortSpec.hs +2/−2
- GraphRewriting/Layout/Rotation.hs +2/−1
- GraphRewriting/Layout/SpringEmbedder.hs +2/−1
- GraphRewriting/Layout/Wrapper.hs +4/−3
- graph-rewriting-layout.cabal +28/−28
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