# API di scripting per il motore ad albero con radice

## Struttura di dati ad albero con radice

La finestra delle proprietà delle strutture di dati permette di accedere alla configurazione delle impostazione del motore di grafi. Lì, spuntando la proprietà Mostra tutti i puntatori, verranno mostrati tutti i puntatori relativi ai nodi dell'albero. Togliendo la spunta, tutti i puntatori relativi allo stesso nodo saranno contratti in uno.

## Struttura ad albero con radice

Data una struttura di dati del tipo albero con radice, si possono scrivere o leggere le seguenti proprietà:

    ShowAllPointers     // vero per mostrare tutti gli archi, falso per comprimerli

Data una struttura dati del tipo albero con radice, si possono richiamare le seguenti funzioni membro:

    node add_data(string nome);         // aggiunge un nodo all'albero indicato dal nome
        void set_root_node(node radice);      // imposta la radice come nodo radice dell'albero
        node root_node();                   // restituisce il nodo radice dell'albero

## Nodi negli alberi con radice

Dato un nodo del tipo albero con radice, si possono leggere o scrivere le seguenti proprietà:

    int numberOfChilds                  // imposta il numero (ammissibile) di figli per questo nodo
        node left_child                     // sola lettura: nodo figlio sinistro
        node right_child                    // sola lettura: nodo figlio destro
        node node_parent                    // sola lettura: nodo genitore

Data un nodo del tipo albero con radice, si possono richiamare le seguenti funzioni membro:

    node add_left_child(node figlio);    // aggiungi un figlio sinistro
        node add_right_child(node figlio);   // aggiungi un figlio destro
        node add_child(node figlio, int n);  // aggiungi un figlio come ennesimo figlio del nodo
        node add_node_parent(node figlio);   // aggiungi un genitore (funziona solo se non esiste già un altro genitore)
        node left_child();                  // restituisce il figlio destro
        node right_child();                 // restituisce il figlio sinistro
        node child_at(int n);               // restituisce il figlio ennesimo del nodo
        node node_parent();                 // restituisce il genitore del nodo

## Archi negli alberi con radice

Dati gli archi di una struttura di dati del tipo albero con radice, sono disponibili solo le proprietà della struttura di dati di base.