#include <index_oct.h>
Klassendiagramm für IndexOct:
Öffentliche Datenelemente | |
IndexOct (Hight maxTreeHight) throw (NotEnoughMemoryException*) | |
Default-Konstrukor. | |
void | add (NodeIndex p, Color color) throw (NotEnoughMemoryException*) |
Fügt den neuen Knoten mit dem Index p und der Farbe color zur Oktalbaumstruktur hinzu. | |
void | add (Surface *s, Color color) throw (NotEnoughMemoryException*) |
Fügt die Oberfläche s mit der Farbe color in den Oktalbaum ein. | |
bool | exist (NodeIndex p) |
Befindet sich der Knoten mit Index p im Oktalbaum? | |
NodeIndex | getChild (NodeIndex parent, PartType i) |
Liefert den Index des i-ten Unterknotens. | |
Color | getColor (NodeIndex p) |
Liefert die Knotenfarbe. | |
NodeIndex | getExistNode (NodeIndex p) |
Falls p der Index eines existierenden Knotens ist, liefert es p, ansonsten den tiefsten existierenden Vater. | |
Hight | getMaxTreeHight () |
Liefert die maximale Baumhöhe. | |
bool | isLeaf (NodeIndex p) |
Ist p Blattknoten. | |
bool | isIn (NodeIndex p) |
Kann sich p innerhalb des Oktalbaumes befinden, wenn der Oktalbaum vollständig besetzt ist (alle Blätter befinden sich auf der Höhe BASE_NODE_HIGHT) ? | |
void | setColor (NodeIndex p, Color color) |
Setzt die Knotenfarbe. | |
Öffentliche, statische Datenelemente | |
AxIndex | getPartOfs (PartType partNumber, Axis axis) |
Liefert den Offset, der aus der Unterpartionsnummer und der Achsnummer resultiert. | |
Geschützte Datenelemente | |
Hight | getExistNode (NodeIndex p, _octree &subtree) |
Falls p der Index eines existierenden Knotens ist, liefert es p.getHight(), ansonsten die Höhe des tiefsten existierenden Vaters. | |
bool | isIn (NodeIndex p, Hight h) |
Befindet sich der Knoten mit dem Index p nicht unterhalb der Höhe h? | |
Private Datenelemente | |
void | add (_octree parent, NodeIndex myIdx, Surface *s, Color color) throw (NotEnoughMemoryException*) |
Fügt die Knoten, die sich auf der Oberfläche s befinden, mit der Farbe color in den Oktalteilbaum subtree ein. | |
PartType | getPart (AxIndex idx, Hight h) |
Liefert die Unterpartition einer Achse für den Knoten auf dem Ast an der Höhe h. | |
PartType | getPart (NodeIndex p, Hight h) |
Liefert die Unterpartition für den Knoten auf dem Ast an der Höhe h. | |
Private Attribute | |
Hight | rootHight |
Höhe des Wurzelknotens. |
Stellt Operationen für die Oktalbaumbearbeitung zur Verfügung, wobei die Knoten der Oktalbaumstruktur über den Knotenindex referenziert werden.
|
Default-Konstrukor.
|
|
Fügt die Knoten, die sich auf der Oberfläche s befinden, mit der Farbe color in den Oktalteilbaum subtree ein. myIdx entspricht den Index des Wurzelknotens des Teilbaums. myIdx wird benötigt, um zu erkennen inwieweit subtree für das Hinzufügen der Oberfläche überhaupt relevant ist.
|
|
Fügt die Oberfläche s mit der Farbe color in den Oktalbaum ein.
|
|
Fügt den neuen Knoten mit dem Index p und der Farbe color zur Oktalbaumstruktur hinzu.
|
|
Befindet sich der Knoten mit Index p im Oktalbaum?
|
|
Liefert den Index des i-ten Unterknotens.
|
|
Liefert die Knotenfarbe. p darf keinen inneren Knoten referenzieren. Falls p nicht existiert, liefert es getColor seines 'virtuellen' Vaters.
|
|
Falls p der Index eines existierenden Knotens ist, liefert es p.getHight(), ansonsten die Höhe des tiefsten existierenden Vaters. node enthält den entsprechenden Knoten.
|
|
Falls p der Index eines existierenden Knotens ist, liefert es p, ansonsten den tiefsten existierenden Vater.
|
|
Liefert die maximale Baumhöhe.
|
|
Liefert die Unterpartition für den Knoten auf dem Ast an der Höhe h.
|
|
Liefert die Unterpartition einer Achse für den Knoten auf dem Ast an der Höhe h.
|
|
Liefert den Offset, der aus der Unterpartionsnummer und der Achsnummer resultiert.
|
|
Befindet sich der Knoten mit dem Index p nicht unterhalb der Höhe h?
|
|
Kann sich p innerhalb des Oktalbaumes befinden, wenn der Oktalbaum vollständig besetzt ist (alle Blätter befinden sich auf der Höhe BASE_NODE_HIGHT) ?
|
|
Ist p Blattknoten. p muss existieren.
|
|
Setzt die Knotenfarbe. p darf keinen inneren Knoten referenzieren. Falls p nicht existiert, führt es setColor seines 'virtuellen' Vaters aus.
|
|
Höhe des Wurzelknotens. Ist mit der Maximalhöhe des Baums identisch. |