Commit Graph

28 Commits

Author SHA1 Message Date
Robert Machmer
0feff6c970 Check if target nodes exist when an edge is added 2016-01-12 02:30:41 +01:00
Robert Machmer
6c0bd6b50a Make callbacks optional 2016-01-09 13:04:02 +01:00
Robert Machmer
020713b4c3 Remove debug print 2016-01-09 12:07:01 +01:00
Robert Machmer
1681c649fb Add setter for customizing a node's mass 2016-01-09 12:06:46 +01:00
Robert Machmer
86788b748d Rewrite the drawing function to take two functions as parameters
These function will be called on each edge and node in the graph and
allow the user to determine how the graph is drawn.
2016-01-09 11:27:02 +01:00
Robert Machmer
b30389bf8a Add two callback functions to the parameter list of the update function
These functions will be called on each and every node and edge in the
graph and allow the user to extend the graphs behavior between frames.
2016-01-09 11:25:50 +01:00
Robert Machmer
8146caa558 Add varargs to the list of parameters a Node can receive 2016-01-09 05:10:38 +01:00
Robert Machmer
af7f49a2ad Remove constructor 2016-01-09 05:08:32 +01:00
Robert Machmer
7901ac1381 Add setters for replacing the default Edge and Node classes
This can be handy if the user wants to extend the functionality of those
classes. They can simply be inherited in a new class with that new class
being used in the Graph then.
2016-01-09 05:06:54 +01:00
Robert Machmer
73b74ca3fe Add Edge and Node classes to init.lua
This way they can be required separately from the Graph class.
2016-01-09 05:03:45 +01:00
Robert Machmer
4e5e302d32 Fix constructor using the old addEdge function 2016-01-09 04:02:03 +01:00
Robert Machmer
9017b40da9 Add function for adding an edge between nodes referenced by their IDs 2016-01-09 03:41:31 +01:00
Robert Machmer
732037bd04 Rename self:addEdge to self:connectNodes 2016-01-09 03:35:51 +01:00
Robert Machmer
436ec9f78f Add function for checking if a node ID already exists 2016-01-09 02:02:44 +01:00
Robert Machmer
99850a423a Update documentation 2016-01-03 02:43:56 +01:00
Robert Machmer
dba6a49587 Remove name attribute in Node class
Seems kind of redundant to have both an id and a name attribute.
2016-01-03 02:33:03 +01:00
Robert Machmer
e6154ba5ea Allow anchor flag to be set when a Node is created 2016-01-03 02:32:57 +01:00
Robert Machmer
f5931d5ce8 Return new node when using graph:addNode 2016-01-02 15:27:30 +01:00
Robert Machmer
4bf0d0473d Remove attraction points 2016-01-02 15:19:53 +01:00
Robert Machmer
78050c9af7 Add anchor nodes
Nodes set as anchors won't be affected by the force directed layout.
They can be used to fixate the graph to a certain area.
2016-01-02 15:19:35 +01:00
Robert Machmer
47b7624261 Extend graph constructor to handle node tables
The nodes can either be a sequence of strings or a sequence of tables
containing id, name, x and y values.
2015-12-25 00:50:36 +01:00
Robert Machmer
2a258a96d5 Add nodes without name parameter 2015-12-24 22:59:15 +01:00
Robert Machmer
59a055da99 Add optional name parameter for Nodes
This parameter can be accessed via the getName getter. If no value is
passed to the constructor the name variable will default to the id.
2015-12-24 16:56:40 +01:00
Robert Machmer
35868a4360 Add getter which returns a node based on a given id 2015-12-24 03:26:08 +01:00
Robert Machmer
729afd59af Add function for checking if a node with a given id exists 2015-12-24 03:25:04 +01:00
Robert Machmer
ebb82093fb Add function for getting the x and y coordinates of the graph's center 2015-12-24 00:41:18 +01:00
Robert Machmer
6532d97cca Add function for getting the graph's boundaries 2015-12-24 00:41:12 +01:00
Robert Machmer
ac060cda1e Turn library into a package 2015-12-24 00:06:44 +01:00