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 ----