99 float diffX = pointA[0] - pointB[0];
100 float diffY = pointA[1] - pointB[1];
101 float diffZ = pointA[2] - pointB[2];
102 return (diffX * diffX) + (diffY * diffY) + (diffZ * diffZ);
124 float diffX = pointA[0] - pointB[0];
125 float diffY = pointA[1] - pointB[1];
126 return sqrt((diffX * diffX) + (diffY * diffY));
140 return (distanceA < distanceB) ?
true :
false;
151 rotatevectorsbyangle(angleB);
163 static float lastOutput = 0.0f;
165 if (toCalculate == lastInput) {
169 lastInput = toCalculate;
170 lastOutput = vlen(toCalculate);
204 static float vectorLerp_Lerp(
float fA,
float fB,
float fPercent) {
205 return (fA * (1 - fPercent)) + (fB * fPercent);
209 outputVector[0] = vectorLerp_Lerp(fromVector[0], toVector[0], lerpFraction);
210 outputVector[1] = vectorLerp_Lerp(fromVector[1], toVector[1], lerpFraction);
211 outputVector[2] = vectorLerp_Lerp(fromVector[2], toVector[2], lerpFraction);
225 if (toNormalize == lastInput) {
229 lastInput = toNormalize;
230 lastOutput = normalize(toNormalize);
244 if (toAngles == lastInput) {
248 lastInput = toAngles;
263 if (forwardDir == lastInput && rollDir == lastInput2) {
267 lastInput = forwardDir;
268 lastInput2 = rollDir;
#define dotproduct(v1, v2)
Definition: fteextensions.qc:2464
@ true
Definition: fteextensions.qc:3840
const vector g_vec_null
Definition: global.h:101
string target
Definition: defs.h:23
vector v_up
Definition: math.h:40
#define vectoangles
Definition: math.h:37
vector v_right
Definition: math.h:41
vector v_forward
Definition: math.h:39
void makevectors(vector angles)
Definition: math.h:42
vector fixAngle(vector inputAngle)
Recursive function that fixes euler angles.
Definition: math.h:121
vector anglesToUp(vector angle)
Calculates the up vector of a set of euler-angles.
Definition: math_vector.h:81
vector vectorLerp(vector fromVector, vector toVector, float lerpFraction)
Calculates an interpolated (linear) point between two points.
Definition: math_vector.h:202
vector combineAngles(vector angleA, vector angleB)
Calculates a set of angles from a given vector.
Definition: math_vector.h:148
float length(vector toCalculate)
Calculates accurate length of a given vector.
Definition: math_vector.h:160
float distance2D(vector pointA, vector pointB)
Calculates the distance between two vectors, ignoring the height difference between them.
Definition: math_vector.h:122
float distance(vector pointA, vector pointB)
Calculates the distance between two points.
Definition: math_vector.h:111
float vectorDot(vector vectorA, vector vectorB)
Calculate the dot product of two vectors.
Definition: math_vector.h:190
var vector g_vectorCacheRight
Definition: math_vector.h:30
vector vectorToAnglesRoll(vector forwardDir, vector rollDir)
Calculates a set of angles from a given vector, with roll support.
Definition: math_vector.h:257
bool closer(vector referencePoint, vector pointA, vector pointB)
Figure out which point is the closest between two options.
Definition: math_vector.h:136
vector vectorToAngles(vector toAngles)
Calculates a set of angles from a given vector.
Definition: math_vector.h:239
vector anglesToRight(vector angle)
Calculates the right vector of a set of euler-angles.
Definition: math_vector.h:65
float lengthSquared(vector target)
Calculates the length of a given vector using a dot product.
Definition: math_vector.h:179
var vector g_vectorCacheForward
Definition: math_vector.h:29
var vector g_vectorCacheUp
Definition: math_vector.h:31
var vector g_vectorCacheLast
Definition: math_vector.h:28
vector lerpAngleVector(vector inputAngle, vector endAngle, float lerpAmount)
Definition: math_vector.h:274
float distanceSquared(vector pointA, vector pointB)
Calculates the squared distance between two points.
Definition: math_vector.h:97
vector anglesToForward(vector angle)
Calculates the forward vector of a set of euler-angles.
Definition: math_vector.h:49
vector vectorNormalize(vector toNormalize)
Calculates a normalized version of a given vector.
Definition: math_vector.h:220