Hauptseite   Klassenhierarchie   Übersicht   Auflistung der Dateien   Datenstruktur-Elemente   Datei-Elemente  

Polygon Klassenreferenz

Drei- oder Viereck. Mehr...

#include <polygon.h>

Klassendiagramm für Polygon:

Surface Aufstellung aller Elemente

Ö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.

GeomPointgetPoint (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.


Ausführliche Beschreibung

Drei- oder Viereck.

Die Eckpunkte sind geometrische Punkte (GeomPoint).


Beschreibung der Konstruktoren und Destruktoren

Polygon::Polygon GeomPoint    pA,
GeomPoint    pB,
GeomPoint    pC
 

Konstruktor.

Erzeugt ein Dreieck.

Parameter:
pA  erster Eckpunkt
pB  zweiter Eckpunkt
pC  dritter Eckpunkt

Polygon::Polygon GeomPoint    pA,
GeomPoint    pB,
GeomPoint    pC,
GeomPoint    pD
 

Konstruktor.

Erzeugt ein Viereck.

Parameter:
pA  erster Eckpunkt
pB  zweiter Eckpunkt
pC  dritter Eckpunkt
pD  vierter Eckpunkt
Vorbedingung:
alle vier Punkte müssen in einer Ebene liegen.


Dokumentation der Elementfunktionen

int Polygon::getCount  
 

Liefert Die Anzahl der Eckpunkte.

Rückgabe:
3, für Dreieck und 4, für Viereck

Polygon Polygon::getDup  
 

Liefert eine Kopie des Polygons.

Rückgabe:
Kopie

GeomPoint Polygon::getFootpoint GeomPoint    p
 

Liefert den auf der Ebene liegende Fußpunkt zu p.

Im entarteten Fall wird p zurückgegeben.

Parameter:
p  Prüfpunkt
Rückgabe:
Fußpunkt zu p auf der Ebene

virtual Hight Polygon::getHight   [virtual]
 

Liefert die virtuelle Höhe des Polygons im Oktalbaum.

Rückgabe:
Polygonhöhe im Oktalbaum

Implementiert Surface.

GeomVec Polygon::getNormVec  
 

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.

Rückgabe:
normalisierter Normalenvektor

GeomPoint& Polygon::getPoint int    idx
 

Liefert den idx-ten Eckpunkt.

Parameter:
idx  wievielter Eckpunkt
Rückgabe:
Eckpunkt Nr. idx
Vorbedingung:
0 <= idx < getCount()

bool Polygon::isAtBorder GeomPoint    p [private]
 

Überprüft, ob sich q auf dem Polygonrand befindet.

Parameter:
p  Prüfpunkt
Rückgabe:
Ob sich q auf dem Polygonrand befindet.

bool Polygon::isCorner GeomPoint    p [private]
 

Ist p Eckpunkt dieses Polygons?

Rückgabe:
Ob p ein Eckpunkt ist

bool Polygon::isIn GeomPoint    q,
Axis    proj
[private]
 

Liefert, ob q im Polygon liegt.

Es wird die Umlaufsinn-Methode auf die Projektionsebene, die durch proj gegeben ist, angewendet

Parameter:
q  zu betrachtender Punkt
proj  Achse. Wird zur Festlegung der Projektionsebene benötigt. Die Achse proj entf"allt durch die Projektion.
Vorbedingung:
isInPlane(q)

virtual bool Polygon::isIn GeomPoint    p [virtual]
 

Befindet sich p in diesem Polygon?

Parameter:
p  Prüfpunkt
Rückgabe:
Ob sich p in diesem Polygon befindet.

Implementiert Surface.

bool Polygon::isInPlane GeomPoint    p
 

Befindet p in der Ebene, die durch die ersten 3 Eckpunkte dieses Polygons definiert ist?

Parameter:
p  Prüfpunkt
Rückgabe:
Ob sich p in der Polygonebene befindet.

GeomVec Polygon::operator[] int    idx
 

Liefert den idx-ten Eckpunkt.

Parameter:
idx  wievielter Eckpunkt
Rückgabe:
Eckpunkt Nr. idx
Vorbedingung:
0 <= idx < getCount()

void Polygon::setHight Hight    h [virtual]
 

Setzt die virtuelle Höhe des Polygons im Oktalbaum.

Parameter:
h  Dreieckshöhe im Oktalbaum

Implementiert Surface.

virtual bool Polygon::testLine GeomPoint    p,
GeomPoint   q,
bool &    intersect,
bool &    inside
[virtual]
 

Liefert die Lage, falls testLine() erfolgreich war.

Parameter:
p  Ausgangspunkt
q  den Schnittpunkt, falls die Testlinie die Oberfläche schneidet
intersect  die Testlinie, die parallel zur Achse RAY_AXIS durch p verläuft, schneitet das Polygon.
inside  true, falls der Orientierungsvektor der Oberfläche bei q in Richtung p verläuft.
Rückgabe:
true, falls die Testlinie nicht in der Polygonebene liegt

Implementiert Surface.


Dokumentation der Datenelemente

int Polygon::cornerCount [private]
 

Zahl der Eckpunkte.

3 bei Dreieck und 4 bei Viereck.

GeomPoint Polygon::pointD [private]
 

Eckpunkt D.

Entspricht bei einem Dreieck pointC.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Erzeugt am Fri Mar 14 19:44:51 2003 für cad2octree von doxygen1.2.16