API di scripting per il motore dei grafi
La finestra delle proprietà delle strutture di dati permette di accedere alle impostazioni di configurazione proprie del motore dei grafi. Lì puoi selezionare il Tipo del grafo. Il significato di questi tipi è come segue:
Grafo: grafo in cui non possono esistere più archi con gli stessi archi punti iniziale e finale.
Multigrafo: grafo in cui possono esistere più archi con gli stessi archi punti iniziale e finale.

Struttura di dati dei grafi
Un oggetto grafo contiene le informazioni di una struttura di dati del tipo Grafo.

Proprietà
name:
Il nome univoco di questa struttura di dati.

Metodi
nodes() 	 Restituisci un elenco di tutti i nodi nel grafo.
array nodes
nodes(tipo) 	 Restituisci un elenco di tutti i nodi nel grafo del tipo specificato.
array nodes int tipo
edges() 	 Restituisci un elenco di tutti gli archi nel grafo.
array edges
edges(tipo) 	 Restituisci un elenco di tutti gli archi nel grafo del tipo specificato.
array edges int tipo
createNode(tipo) 	 Crea un nuovo nodo del tipo specificato e restituiscilo. Se il tipo non è registrato, non viene creato nessun nodo.
GraphNode createNode int tipo
createNode() 	 Crea un nuovo nodo di tipo predefinito e restituiscilo.
GraphNode createNode
createEdge(da, a, tipo) 	 Crea un arco dal nodo da al nodo a del tipo specificato e restituiscilo. Se il tipo non è registrato, non viene creato nessun arco.
GraphEdge createEdge GraphNode da GraphNode a int tipo
createEdge(da, a) 	 Crea un arco dal nodo da al nodo a di tipo predefinito e restituiscilo.
GraphEdge createEdge GraphNode da GraphNode a
distances(da) 	 Restituisce un elenco delle lunghezza minime di percorso da questo nodo a ogni altro nodo del grafo.
Array distances GraphNode da

Nodo del grafo
Un nodo è l'elemento di dati di un grafo.

Proprietà
width:
La dimensione di questo elemento di dati.
x:
La coordinata X di questo elemento di dati.
y:
La coordinata Y di questo elemento di dati.
id:
L'identificativo univoco di questo elemento di dati.
color:
Il colore di questo elemento di dati, indicato come valore esadecimale.

Metodi
neighbors() 	 Restituisci un elenco di tutti i nodi collegati a questo. Questo metodo rispetta l'eventuale direzionalità degli archi.
array neighbors
edges() 	 Restituisci un elenco di tutti gli archi (entranti e uscenti) di questo nodo.
array edges
edges(tipo) 	 Restituisci un elenco di tutti gli archi (entranti e uscenti) di questo nodo del tipo specificato.
array edges int tipo
inEdges() 	 Restituisci un elenco degli archi entranti in questo nodo.
array inEdges
inEdges(tipo) 	 Restituisci un elenco di tutti gli archi entranti in questo nodo del tipo specificato.
array inEdges int tipo
outEdges() 	 Restituisci un elenco di tutti gli archi uscenti da questo nodo.
array outEdges
outEdges(tipo) 	 Restituisci un elenco di tutti gli archi uscenti da questo nodo del tipo specificato.
array outEdges int tipo
edgesTo(destinazione) 	 Restituisci un elenco di tutti gli archi di questo nodo al nodo specificato.
array edgesTo GraphNode destinazione

Arco del grafo
Un arco è la connessione di due nodi del grafo. Gli archi possono essere direzionali o meno, a seconda del loro stile.

Proprietà
width:
Lo spessore della connessione.
directed:
Se vero, la connessione è direzionale, altrimenti non lo è.
from:
Inizio della connessione.
to:
Fine della connessione.
color:
Identificativo del tipo di connessione.

Metodi
remove() 	 Rimuovi questa connessione.
void remove
add_property(nome, valore) 	 Aggiungi una nuova proprietà alla connessione.
void add_property string nome string valore
remove_property(nome) 	 Rimuovi una proprietà presente dalla connessione.
void remove_property string nome