Exemplo n.º 1
0
	void v4math_object::test<8>()
	{
#if LL_DEBUG && LL_WINDOWS && _MSC_VER >= 1400
		skip_fail("This fails on VS2005 debug builds!");
#else
#if LL_WINDOWS && _MSC_VER < 1400
		skip_fail("This fails on VS2003!");
#else
		F32 x = 10.f, y = -2.3f, z = -.023f, w = -2.0f;
		const  F32 val[10] = {1.f,2.f,3.f,.34f,.1f,-.5f,2.f,1.23f,1.234f,.89f};
		LLMatrix4 mat(val);
		LLVector4 vec4(x,y,z,w),vec4a;
		vec4.rotVec(mat);
		vec4a.setVec(x,y,z,w);
		vec4a.rotVec(mat);
		ensure_equals("1:rotVec: Fail " ,vec4a, vec4);
		F32 a = 2.32f, b = -23.2f, c = -34.1112f, d = 1.010112f;
		LLQuaternion q(a,b,c,d);
		LLVector4 vec4b(a,b,c,d),vec4c;
		vec4b.rotVec(q);
		vec4c.setVec(a, b, c, d);
		vec4c.rotVec(q);
		ensure_equals("2:rotVec: Fail " ,vec4b, vec4c);
#endif
#endif
	}
Exemplo n.º 2
0
	void v4math_object::test<18>()
	{
		F32 x = 1.f, y = 2.f, z = -1.1f;
		F32 angle1, angle2;
		LLVector4 vec4(x,y,z), vec4a(x,y,z);
		angle1 = angle_between(vec4, vec4a);
		vec4.normVec();
		vec4a.normVec();
		angle2 = acos(vec4 * vec4a);
		ensure_approximately_equals("1:angle_between: Fail " ,angle1,angle2,8);
		F32 x1 = 21.f, y1 = 2.23f, z1 = -1.1f;
		LLVector4 vec4b(x,y,z), vec4c(x1,y1,z1);
		angle1 = angle_between(vec4b, vec4c);
		vec4b.normVec();
		vec4c.normVec();
		angle2 = acos(vec4b * vec4c);
		ensure_approximately_equals("2:angle_between: Fail " ,angle1,angle2,8);
	}
Exemplo n.º 3
0
	void v4math_object::test<1>()
	{
		LLVector4 vec4;
		ensure("1:LLVector4:Fail to initialize " ,((0 == vec4.mV[VX]) && (0 == vec4.mV[VY]) && (0 == vec4.mV[VZ])&& (1.0f == vec4.mV[VW])));
		F32 x = 10.f, y = -2.3f, z = -.023f, w = -2.0f;
		LLVector4 vec4a(x,y,z);
		ensure("2:LLVector4:Fail to initialize " ,((x == vec4a.mV[VX]) && (y == vec4a.mV[VY]) && (z == vec4a.mV[VZ])&& (1.0f == vec4a.mV[VW])));
		LLVector4 vec4b(x,y,z,w);
		ensure("3:LLVector4:Fail to initialize " ,((x == vec4b.mV[VX]) && (y == vec4b.mV[VY]) && (z == vec4b.mV[VZ])&& (w == vec4b.mV[VW])));
		const F32 vec[4] = {.112f ,23.2f, -4.2f, -.0001f};
		LLVector4 vec4c(vec);
		ensure("4:LLVector4:Fail to initialize " ,((vec[0] == vec4c.mV[VX]) && (vec[1] == vec4c.mV[VY]) && (vec[2] == vec4c.mV[VZ])&& (vec[3] == vec4c.mV[VW])));
		LLVector3 vec3(-2.23f,1.01f,42.3f);
		LLVector4 vec4d(vec3);
		ensure("5:LLVector4:Fail to initialize " ,((vec3.mV[VX] == vec4d.mV[VX]) && (vec3.mV[VY] == vec4d.mV[VY]) && (vec3.mV[VZ] == vec4d.mV[VZ])&& (1.f == vec4d.mV[VW])));
		F32 w1 = -.234f;
		LLVector4 vec4e(vec3,w1);
		ensure("6:LLVector4:Fail to initialize " ,((vec3.mV[VX] == vec4e.mV[VX]) && (vec3.mV[VY] == vec4e.mV[VY]) && (vec3.mV[VZ] == vec4e.mV[VZ])&& (w1 == vec4e.mV[VW])));
	}
Exemplo n.º 4
0
	void v4math_object::test<8>()
	{
		F32 x = 10.f, y = -2.3f, z = -.023f, w = -2.0f;
		const  F32 val[16] = {
            1.f,  2.f,   3.f,    0.f,
            .34f, .1f,   -.5f,   0.f,
            2.f,  1.23f, 1.234f, 0.f,
            .89f, 0.f,   0.f,    0.f
        };
		LLMatrix4 mat(val);
		LLVector4 vec4(x,y,z,w),vec4a;
		vec4.rotVec(mat);
		vec4a.setVec(x,y,z,w);
		vec4a.rotVec(mat);
		ensure_equals("1:rotVec: Fail " ,vec4a, vec4);
		F32 a = 2.32f, b = -23.2f, c = -34.1112f, d = 1.010112f;
		LLQuaternion q(a,b,c,d);
		LLVector4 vec4b(a,b,c,d),vec4c;
		vec4b.rotVec(q);
		vec4c.setVec(a, b, c, d);
		vec4c.rotVec(q);
		ensure_equals("2:rotVec: Fail " ,vec4b, vec4c);
	}