# Script API voor iedere gegevensstructuur

## Abstract object voor een gegevensstructuur

De abstracte gegevensstructuur beschrijft een verzameling van gegevenselementen en hun mogelijke verbindingen, en is het prototype voor elke andere gegevensstructuur. Gegevensstructuren krijgen ieder een unieke naam. Indien u een gegevensstructuur heeft gemaakt met de naam `testgraaf`, dan krijgt u toegang tot de hierin aanwezige gegevens met behulp van deze naam. Bijvoorbeeld, als u een lijst wilt maken van alle in de gegeven gegevensstructuur voorkomende gegevenselementen, kunt u in het script `testgraaf.list_nodes();` schrijven.

### Eigenschappen

- naam :

  De unieke naam voor deze gegevensstructuur.

## Abstracte gegevens

Een abstract gegevenselement is een eenheid van informatie die onderdeel is van een abstracte gegevensstructuur, en mogelijk met pointers verbonden is met andere gegevenselementen.

### Eigenschappen

- breedte :

  De grootte van dit gegevenselement.

- x :

  De x-coördinaat van dit gegevenselement.

- y :

  De y-coördinaat van dit gegevenselement.

- id :

  Dit is de unieke naam van dit gegevenselement.

- kleur :

  De kleur van dit gegevenselement, uitgedrukt in een hexadecimaal getal.

## Abstracte pointer

Een pointer verbindt twee gegevenselementen met elkaar, en kan zelf informatie bevatten in de vorm van zijn eigenschappen.

### Eigenschappen

- breedte :

  De breedte van de verbinding.

- gericht :

  Indien waar, is de verbinding gericht. Anders is de verbinding niet gericht.

- vanaf :

  Begin van de verbinding.

- tot :

  Einde van de verbinding

- kleur :

  Naam van het type verbinding.

### Methoden

remove()

  Deze verbinding verwijderen.

      void remove

add_property(naam, waarde)

  Een nieuwe eigenschap aan de verbinding toevoegen.

      void add_property string naam string waarde

remove_property(naam)

  Een bestaande eigenschap van de verbinding verwijderen.

      void remove_property string naam