1
0
mirror of https://github.com/thes3m/XNI synced 2024-12-26 13:26:06 +01:00

Added vectorstruct multiplication methods by components

git-svn-id: http://xni.googlecode.com/svn/XNI@114 ac433895-eea3-a490-d80a-17149a75e588
This commit is contained in:
Matej Jan 2012-09-18 12:41:48 +00:00
parent 95c733e3b6
commit e60555acd2
3 changed files with 12 additions and 0 deletions

View File

@ -50,6 +50,10 @@ static inline void Vector2Multiply(Vector2Struct *value1, float scaleFactor, Vec
Vector2Set(result, value1->x * scaleFactor, value1->y * scaleFactor);
}
static inline void Vector2MultiplyComponents(Vector2Struct *value1, Vector2Struct *value2, Vector2Struct *result) {
Vector2Set(result, value1->x * value2->x, value1->y * value2->y);
}
static inline float Vector2DotProduct(Vector2Struct *value1, Vector2Struct *value2) {
return value1->x * value2->x + value1->y * value2->y;
}

View File

@ -59,6 +59,10 @@ static inline void Vector3Multiply(Vector3Struct *value1, float scaleFactor, Vec
Vector3Set(result, value1->x * scaleFactor, value1->y * scaleFactor, value1->z * scaleFactor);
}
static inline void Vector3MultiplyComponents(Vector3Struct *value1, Vector3Struct *value2, Vector3Struct *result) {
Vector3Set(result, value1->x * value2->x, value1->y * value2->y, value1->z * value2->z);
}
static inline void Vector3CrossProduct(Vector3Struct *value1, Vector3Struct *value2, Vector3Struct *result) {
Vector3Set(result,
value1->y * value2->z - value1->z * value2->y,

View File

@ -68,6 +68,10 @@ static inline void Vector4Multiply(Vector4Struct *value1, float scaleFactor, Vec
Vector4Set(result, value1->x * scaleFactor, value1->y * scaleFactor, value1->z * scaleFactor, value1->w * scaleFactor);
}
static inline void Vector4MultiplyComponents(Vector4Struct *value1, Vector4Struct *value2, Vector4Struct *result) {
Vector4Set(result, value1->x * value2->x, value1->y * value2->y, value1->z * value2->z, value1->w * value2->w);
}
static inline void QuaternionMultiply(Vector4Struct *value1, Vector4Struct *value2, Vector4Struct *result) {
float f12 = (value1->y * value2->z) - (value1->z * value2->y);
float f11 = (value1->z * value2->x) - (value1->x * value2->z);