From 1dc2ce73d27c6b9159fc5b9847892669fc23970e Mon Sep 17 00:00:00 2001 From: Javi Agenjo Date: Thu, 20 Oct 2016 14:27:27 +0200 Subject: [PATCH] Update README.md --- README.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 58 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7bfb1d25e..d595ed2b5 100755 --- a/README.md +++ b/README.md @@ -1,26 +1,78 @@ # litegraph.js -A library to create graphs similar to PD. Nodes can be programmed easily and it includes an editor to construct the graphs. +A library in Javascript to create graphs in the browser similar to PD. Nodes can be programmed easily and it includes an editor to construct the graphs. -# Projects using it +It can be integrated easily in any existing web applications and graphs can be run without the need of the editor. -## [webglstudio.org](http://webglstudio.org) +## Creating a Graph ## + +You can create graphs from the editor (and store them in JSON) or directly from code: + +```javascript + +var graph = new LGraph(); +var node = LiteGraph.createNode("basic/const"); +var node2 = LiteGraph.createNode("basic/watch"); +graph.add( node ); +graph.add( node2 ); +node.connect(0, node2, 0); //connect node slot 0 to node2 slot 0 + +graph.runStep(1); //execute one cycle +``` + +## How to code a new Node type + +Here is an example of how to build a node that sums two inputs: + +```javascript +//node constructor class +function MyAddNode() +{ + this.addInput("A","number"); + this.addInput("B","number"); + this.addOutput("A+B","number"); +} + +//name to show +MyAddNode.name = "Sum"; + +//function to call when the node is executed +MyAddNode.prototype.onExecute = function() +{ + var A = this.getInputData(0); + if( A === undefined ) + A = 0; + var B = this.getInputData(1); + if( B === undefined ) + B = 0; + this.setOutputData( 0, A + B ); +} + +//register in the system +LiteGraph.registerNodeType("basic/sum", MyAddNode ); + +``` + + +## Projects using it + +### [webglstudio.org](http://webglstudio.org) ![WebGLStudio](imgs/webglstudio.gif "WebGLStudio") -## [MOI Elephant](http://moiscript.weebly.com/elephant-systegraveme-nodal.html) +### [MOI Elephant](http://moiscript.weebly.com/elephant-systegraveme-nodal.html) ![MOI Elephant](imgs/elephant.gif "MOI Elephant") -Utils +## Utils ----- It includes several commands in the utils folder to generate doc, check errors and build minifyed version. -Feedback +## Feedback -------- You can write any feedback to javi.agenjo@gmail.com