De/VPlane: Difference between revisions
< De
Jump to navigation
Jump to search
Thunder4ik (talk | contribs) m (→top: Unicodifying, replaced: [[Image: → [[File:) |
Thunder4ik (talk | contribs) m (→top: Unicodifying, replaced: {{tip:de → {{tip) |
||
| Line 7: | Line 7: | ||
[[File:Vplane.png|center|VPlane mit 2 verschiedenen Offset-Werten]] | [[File:Vplane.png|center|VPlane mit 2 verschiedenen Offset-Werten]] | ||
{{tip | {{tip|<code>m_Dist</code> kann auch negativ sein.}} | ||
== Memberfunktionen == | == Memberfunktionen == | ||
Revision as of 12:59, 11 January 2024
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.
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_ONbetrachtet wird. SideTypeist eine redifinierter int, der definierte (#define) Werte vonSIDE_FRONT,SIDE_BACKundSIDE_ONhat.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_Distundm_Normalinvertiert 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.
