#

API Docs for:
Show: Inherited Protected Private Deprecated

# LGraph Class

Defined in: `../src/litegraph.js:438`

LGraph is the class that contain a full graph. We instantiate one and add nodes to it, and then we can run the execution loop.

## Constructor

### `LGraph`

(

- `o`

)

Defined in `../src/litegraph.js:438`

#### Parameters:

- `o` Object

  data from previous serialization [optional]

- Index
- Methods

## Item Index

### Methods

- add
- addGlobalInput
- addOutput
- arrange
- attachCanvas
- changeInputType
- changeOutputType
- clear
- clearTriggeredSlots
- configure
- detachCanvas
- findNodesByClass
- findNodesByTitle
- findNodesByType
- getAncestors
- getElapsedTime
- getFixedTime
- getGroupOnPos
- getInputData
- getNodeById
- getNodeOnPos
- getOutputData
- getTime
- isLive
- remove
- removeInput
- removeLink
- removeOutput
- renameInput
- renameOutput
- runStep
- sendEventToAllNodes
- serialize
- setGlobalInputData
- setOutputData
- start
- stop execution
- updateExecutionOrder

## Methods

### `add`

(

- `node`

)

Defined in `../src/litegraph.js:1004`

Adds a new node instasnce to this graph

#### Parameters:

- `node` LGraphNode

  the instance of the node

### `addGlobalInput`

(

- `name`
- `type`
- `value`

)

Defined in `../src/litegraph.js:1251`

Tell this graph it has a global graph input of this type

#### Parameters:

- `name` String
- `type` String
- `value`

  [optional]

### `addOutput`

(

- `name`
- `type`
- `value`

)

Defined in `../src/litegraph.js:1375`

Creates a global graph output

#### Parameters:

- `name` String
- `type` String
- `value`

### `arrange`

()

Defined in `../src/litegraph.js:885`

Positions every node in a more readable manner

### `attachCanvas`

(

- `graph_canvas`

)

Defined in `../src/litegraph.js:531`

Attach Canvas to this graph

#### Parameters:

- `graph_canvas` GraphCanvas

### `changeInputType`

(

- `name`
- `type`

)

Defined in `../src/litegraph.js:1333`

Changes the type of a global graph input

#### Parameters:

- `name` String
- `type` String

### `changeOutputType`

(

- `name`
- `type`

)

Defined in `../src/litegraph.js:1450`

Changes the type of a global graph output

#### Parameters:

- `name` String
- `type` String

### `clear`

()

Defined in `../src/litegraph.js:468`

Removes all nodes from this graph

### `clearTriggeredSlots`

()

Defined in `../src/litegraph.js:1533`

clears the triggered slot animation in all links (stop visual animation)

### `configure`

(

- `str`
- `returns`

)

Defined in `../src/litegraph.js:1619`

Configure a graph from a JSON string

#### Parameters:

- `str` String

  configure a graph from a JSON string

- `returns` Boolean

  if there was any error parsing

### `detachCanvas`

(

- `graph_canvas`

)

Defined in `../src/litegraph.js:550`

Detach Canvas from this graph

#### Parameters:

- `graph_canvas` GraphCanvas

### `findNodesByClass`

(

- `classObject`

)
Array

Defined in `../src/litegraph.js:1162`

Returns a list of nodes that matches a class

#### Parameters:

- `classObject` Class

  the class itself (not an string)

#### Returns:

Array:

a list with all the nodes of this type

### `findNodesByTitle`

(

- `name`

)
Array

Defined in `../src/litegraph.js:1195`

Returns a list of nodes that matches a name

#### Parameters:

- `name` String

  the name of the node to search

#### Returns:

Array:

a list with all the nodes with this name

### `findNodesByType`

(

- `type`

)
Array

Defined in `../src/litegraph.js:1178`

Returns a list of nodes that matches a type

#### Parameters:

- `type` String

  the name of the node type

#### Returns:

Array:

a list with all the nodes of this type

### `getAncestors`

() Array

Defined in `../src/litegraph.js:848`

Returns all the nodes that could affect this one (ancestors) by crawling all the inputs recursively. It doesnt include the node itself

#### Returns:

Array:

an array with all the LGraphNodes that affect this node, in order of execution

### `getElapsedTime`

() Number

Defined in `../src/litegraph.js:950`

Returns the amount of time it took to compute the latest iteration. Take into account that this number could be not correct if the nodes are using graphical actions

#### Returns:

Number:

number of milliseconds it took the last cycle

### `getFixedTime`

() Number

Defined in `../src/litegraph.js:939`

Returns the amount of time accumulated using the fixedtime_lapse var. This is used in context where the time increments should be constant

#### Returns:

Number:

number of milliseconds the graph has been running

### `getGroupOnPos`

(

- `x`
- `y`

)
LGraphGroup

Defined in `../src/litegraph.js:1231`

Returns the top-most group in that position

#### Parameters:

- `x` Number

  the x coordinate in canvas space

- `y` Number

  the y coordinate in canvas space

#### Returns:

LGraphGroup:

the group or null

### `getInputData`

(

- `name`

)

Defined in `../src/litegraph.js:1288`

Returns the current value of a global graph input

#### Parameters:

- `name` String

#### Returns:

:

the data

### `getNodeById`

(

- `id`

)

Defined in `../src/litegraph.js:1149`

Returns a node by its id.

#### Parameters:

- `id` Number

### `getNodeOnPos`

(

- `x`
- `y`
- `nodes_list`

)
LGraphNode

Defined in `../src/litegraph.js:1211`

Returns the top-most node in this position of the canvas

#### Parameters:

- `x` Number

  the x coordinate in canvas space

- `y` Number

  the y coordinate in canvas space

- `nodes_list` Array

  a list with all the nodes to search from, by default is all the nodes in the graph

#### Returns:

LGraphNode:

the node at this position or null

### `getOutputData`

(

- `name`

)

Defined in `../src/litegraph.js:1408`

Returns the current value of a global graph output

#### Parameters:

- `name` String

#### Returns:

:

the data

### `getTime`

() Number

Defined in `../src/litegraph.js:929`

Returns the amount of time the graph has been running in milliseconds

#### Returns:

Number:

number of milliseconds the graph has been running

### `isLive`

()

Defined in `../src/litegraph.js:1514`

returns if the graph is in live mode

### `remove`

(

- `node`

)

Defined in `../src/litegraph.js:1068`

Removes a node from the graph

#### Parameters:

- `node` LGraphNode

  the instance of the node

### `removeInput`

(

- `name`
- `type`

)

Defined in `../src/litegraph.js:1353`

Removes a global graph input

#### Parameters:

- `name` String
- `type` String

### `removeLink`

(

- `link_id`

)

Defined in `../src/litegraph.js:1565`

Destroys a link

#### Parameters:

- `link_id` Number

### `removeOutput`

(

- `name`

)

Defined in `../src/litegraph.js:1470`

Removes a global graph output

#### Parameters:

- `name` String

### `renameInput`

(

- `old_name`
- `new_name`

)

Defined in `../src/litegraph.js:1302`

Changes the name of a global graph input

#### Parameters:

- `old_name` String
- `new_name` String

### `renameOutput`

(

- `old_name`
- `new_name`

)

Defined in `../src/litegraph.js:1422`

Renames a global graph output

#### Parameters:

- `old_name` String
- `new_name` String

### `runStep`

(

- `num`

)

Defined in `../src/litegraph.js:634`

Run N steps (cycles) of the graph

#### Parameters:

- `num` Number

  number of steps to run, default is 1

### `sendEventToAllNodes`

(

- `eventname`
- `params`

)

Defined in `../src/litegraph.js:962`

Sends an event to all the nodes, useful to trigger stuff

#### Parameters:

- `eventname` String

  the name of the event (function to be called)

- `params` Array

  parameters in array format

### `serialize`

() Object

Defined in `../src/litegraph.js:1582`

Creates a Object containing all the info about this graph, it can be serialized

#### Returns:

Object:

value of the node

### `setGlobalInputData`

(

- `name`
- `data`

)

Defined in `../src/litegraph.js:1274`

Assign a data to the global graph input

#### Parameters:

- `name` String
- `data`

### `setOutputData`

(

- `name`
- `value`

)

Defined in `../src/litegraph.js:1394`

Assign a data to the global output

#### Parameters:

- `name` String
- `value` String

### `start`

(

- `interval`

)

Defined in `../src/litegraph.js:567`

Starts running this graph every interval milliseconds.

#### Parameters:

- `interval` Number

  amount of milliseconds between executions, if 0 then it renders to the monitor refresh rate

### `stop execution`

()

Defined in `../src/litegraph.js:609`

Stops the execution loop of the graph

### `updateExecutionOrder`

()

Defined in `../src/litegraph.js:716`

Updates the graph execution order according to relevance of the nodes (nodes with only outputs have more relevance than nodes with only inputs.