Skip to content

Thin layer around HyperassociativeMap that allows it to be used to layout graphs that are 'unknown until runtime'.

License

Notifications You must be signed in to change notification settings

chrismurrph/ham_layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This library provides a runtime-friendly way to use HyperassociativeMap by including a graph class (GenericGraph) that you can dynamically add nodes and edges to. The original source from here is included and largely unaltered:

See the example package for some tests and an example of how to use from Java. Imagine dynamically creating a graph: first create all the nodes as new instances of InteropNode, then use these nodes to create InteropEdge s. GenericGraph has addNode and addEdge methods. After adding nodes and edges to your graph you are in a position to create an InteropHAM and call its static function attemptToAlign, which takes, mutates and returns an InteropHAM - a thin wrapper around the original HyperassociativeMap, that adds the property counter - the number of advances made in the attempt to align the graph, whether or not isAligned() has become true.

The primary intended use of this library is to layout a graph from Clojure. See: https://github.com/chrismurrph/show-graph.

About

Thin layer around HyperassociativeMap that allows it to be used to layout graphs that are 'unknown until runtime'.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages