#include <polygon.h>
Klassendiagramm für Polygon:
Öffentliche Datenelemente | |
Polygon (GeomPoint pA, GeomPoint pB, GeomPoint pC) | |
Konstruktor. | |
Polygon (GeomPoint pA, GeomPoint pB, GeomPoint pC, GeomPoint pD) | |
Konstruktor. | |
int | getCount () |
Liefert Die Anzahl der Eckpunkte. | |
Polygon | getDup () |
Liefert eine Kopie des Polygons. | |
virtual Hight | getHight () |
Liefert die virtuelle Höhe des Polygons im Oktalbaum. | |
GeomPoint | getFootpoint (GeomPoint p) |
Liefert den auf der Ebene liegende Fußpunkt zu p. | |
GeomVec | getNormVec () |
Liefert den normalisierten Normalenvektor zur Ebene. | |
GeomPoint & | getPoint (int idx) |
Liefert den idx-ten Eckpunkt. | |
virtual bool | isIn (GeomPoint p) |
Befindet sich p in diesem Polygon? | |
bool | isInPlane (GeomPoint p) |
Befindet p in der Ebene, die durch die ersten 3 Eckpunkte dieses Polygons definiert ist? | |
void | print () |
Gibt dieses Polygon auf der Konsole aus. | |
void | setHight (Hight h) |
Setzt die virtuelle Höhe des Polygons im Oktalbaum. | |
virtual bool | testLine (GeomPoint p, GeomPoint &q, bool &intersect, bool &inside) |
Liefert die Lage, falls testLine() erfolgreich war. | |
GeomVec | operator[] (int idx) |
Liefert den idx-ten Eckpunkt. | |
Private Datenelemente | |
bool | isAtBorder (GeomPoint p) |
Überprüft, ob sich q auf dem Polygonrand befindet. | |
bool | isCorner (GeomPoint p) |
Ist p Eckpunkt dieses Polygons? | |
bool | isIn (GeomPoint q, Axis proj) |
Liefert, ob q im Polygon liegt. | |
Private Attribute | |
int | cornerCount |
Zahl der Eckpunkte. | |
GeomPoint | pointA |
Eckpunkt A. | |
GeomPoint | pointB |
Eckpunkt B. | |
GeomPoint | pointC |
Eckpunkt C. | |
GeomPoint | pointD |
Eckpunkt D. |
Die Eckpunkte sind geometrische Punkte (GeomPoint).
|
Konstruktor. Erzeugt ein Dreieck.
|
|
Konstruktor. Erzeugt ein Viereck.
|
|
Liefert Die Anzahl der Eckpunkte.
|
|
Liefert eine Kopie des Polygons.
|
|
Liefert den auf der Ebene liegende Fußpunkt zu p. Im entarteten Fall wird p zurückgegeben.
|
|
Liefert die virtuelle Höhe des Polygons im Oktalbaum.
Implementiert Surface. |
|
Liefert den normalisierten Normalenvektor zur Ebene. Dieser Vektor steht senkrecht auf der Ebene und hat den Betrag 1, falls es sich um eine echte Ebene handelt. Ist die Ebene entartet ist (Linie oder Punkt), wird ein Nullvektor zurückgeliefert.
|
|
Liefert den idx-ten Eckpunkt.
|
|
Überprüft, ob sich q auf dem Polygonrand befindet.
|
|
Ist p Eckpunkt dieses Polygons?
|
|
Liefert, ob q im Polygon liegt. Es wird die Umlaufsinn-Methode auf die Projektionsebene, die durch proj gegeben ist, angewendet
|
|
Befindet sich p in diesem Polygon?
Implementiert Surface. |
|
Befindet p in der Ebene, die durch die ersten 3 Eckpunkte dieses Polygons definiert ist?
|
|
Liefert den idx-ten Eckpunkt.
|
|
Setzt die virtuelle Höhe des Polygons im Oktalbaum.
Implementiert Surface. |
|
Liefert die Lage, falls testLine() erfolgreich war.
Implementiert Surface. |
|
Zahl der Eckpunkte. 3 bei Dreieck und 4 bei Viereck. |
|
Eckpunkt D. Entspricht bei einem Dreieck pointC. |