Zur Bestimmung der topologischen Beziehungen für Flächen erfolgt wiederum ein top-down-Verfahren, in der die relative Lage der Dreiecksnetze auf die topologischen Beziehungen der enthaltenen Primitive (Dreiecke) heruntergebrochen wird. Die Funktionalität hierfür wird in der Klasse gtTriangleNetElement zur Verfügung gestellt, so daß mittels getPrimTopRel - in Analogie zu deren verwandten Funktionen der gtTetraNetElement-Klasse - die topologische 3D-Beziehung zweier Dreiecke bestimmt werden kann:
topFlag gtTriangleNetElement::getPrimTopRel(const
gtTriangleNetElement* pTriNE) const;
Für die Frage, ob eine so ermittelte Beziehung auch auf dem
Rand der beteiligten Objekte gilt, wird erneut die Funktion
appliesOnSurface zur Verfügung gestellt, welche vor
allem bei den topologischen Beziehungen overlap und
covers bzw. covered zum Einsatz kommt, da hier
die Ränder der Objekte eine große Rolle für die Bewertung
der relativen Lage der Dreiecke spielen.
int gtTriangleNetElement::appliesOnSurface(const
gtTriangleNetElement* pTriNE,
const topFlag flag) const;
Andere Erweiterungen dieser GEOTOOLKIT-Klasse umfassen neben mehreren
kleinen Hilfstools auch wiederum eine strikte Version des
intersects
, sowie eine
Funktion zur Bestimmung der Dimension einer inneren Berührstelle
zweier Dreiecke:
int gtTriangleNetElement::getDimOfSurfaceIntersection(const
gtTriangleNetElement* pTriNE) const;
int gtTriangleNetElement::strictIntersects(const gtSegment& s) const;