VPlane
< De
Jump to navigation
Jump to search
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.
Tipp:
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 alsSIDE_ON
betrachtet wird. SideType
ist eine redifinierter int , der definierte (#define) Werte vonSIDE_FRONT
,SIDE_BACK
undSIDE_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
undm_Normal
invertiert sind. Ändert nicht die Werte der gegebenen VPlane (aberthis = 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.