graphene
diff src/gmath/vector.inl @ 6:9fbbc96e6fbe
foo
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 31 Jul 2015 04:59:28 +0300 |
parents | 2ce58d5309f0 |
children |
line diff
1.1 --- a/src/gmath/vector.inl Sat Jul 25 17:19:27 2015 +0300 1.2 +++ b/src/gmath/vector.inl Fri Jul 31 04:59:28 2015 +0300 1.3 @@ -197,6 +197,42 @@ 1.4 return dot(ng, i) < 0.0f ? n : -n; 1.5 } 1.6 1.7 +inline Vector3 major(const Vector3 &v) 1.8 +{ 1.9 + int m = major_idx(v); 1.10 + Vector3 res; 1.11 + res[m] = v[m]; 1.12 + return res; 1.13 +} 1.14 + 1.15 +inline int major_idx(const Vector3 &v) 1.16 +{ 1.17 + return fabs(v.x) >= fabs(v.y) && fabs(v.x) > fabs(v.z) ? 0 : 1.18 + (fabs(v.y) >= fabs(v.z) ? 1 : 2); 1.19 +} 1.20 + 1.21 +inline Vector3 proj_axis(const Vector3 &v, const Vector3 &axis) 1.22 +{ 1.23 + return axis * dot(v, axis); 1.24 +} 1.25 + 1.26 + 1.27 +inline Vector3 rotate(const Vector3 &v, const Quaternion &q) 1.28 +{ 1.29 + return v; // TODO 1.30 +} 1.31 + 1.32 +inline Vector3 rotate(const Vector3 &v, const Vector3 &axis, float angle) 1.33 +{ 1.34 + return v; // TODO 1.35 +} 1.36 + 1.37 +inline Vector3 rotate(const Vector3 &v, const Vector3 &euler) 1.38 +{ 1.39 + return v; // TODO 1.40 +} 1.41 + 1.42 + 1.43 GPH_VEC3_SWIZZLE 1.44 1.45 // ---- Vector4 ----