VPlane:de

From Valve Developer Community
Jump to: navigation, search
English (en)Deutsch (de)
... Icon-Important.png

VPlane ist eine C++-Klasse, die eine andlose 2-dimensionale Oberfläche repräsentiert.

Jede VPlane enthält einen normalisierten Vector, der die Richtung (m_Normal) bestimmt und einen vec_t, der die Distanz zum aktuellen Ursprung (m_Dist) bestimmt.

VPlane mit 2 verschiedenen Offset-Werten
Tip.pngTip:m_Dist kann auch negativ sein.

Memberfunktionen

vec_t DistTo(Vector point)
Die distanz zwischen dem gegebenen Punkt und seinem nächsten Punkt auf der Ebene. Positiv, wenn auf der Vorderseite, Negativ auf der Rückseite.
SideType GetPointSide(Vector point, vec_t epsilon = 0.01f)
Führt ein DistTo() aus und wertet das Ergebnis aus. der Optionale epsilon-Wert bestimmt eine unsigned-Schwelle, innerhalb derer der zurückgelieferte Wert als SIDE_ON betrachtet wird.
SideType ist eine redifinierter int, der definierte (#define) Werte von SIDE_FRONT, SIDE_BACK und SIDE_ON hat.
SideType GetPointSideExact(Vector point)
Wie oben, nur ohne epsilon und der Annahme, dass 0 hinter der Ebene liegt.
VPlane Flip()
Liefert eine neue VPlane, deren m_Dist und m_Normal invertiert sind. Ändert nicht die Werte der gegebenen VPlane (aber this = Flip() würde es).
Vector GetPointOnPlane()
Liefert den Punkt, der am nahesten zum aktuellen Ursprung liegt.
Vector SnapPointToPlane(const Vector &point)
Liefert einen neuen Vektor, der den nahesten Punkt auf der Ebene zum gegebenen vektor darstellt.