Beispiel #1
0
	void m3math_test_object_t::test<6>()
	{
				
		LLMatrix3 llmat_obj1;
		
		LLVector3 llvec(1, 3, 5);
		LLVector3 res_vec(0, 0, 0);
		LLVector3 llvec1(1, 3, 5);
		LLVector3 llvec2(3, 6, 1);
		LLVector3 llvec3(4, 6, 9);
		
		llmat_obj1.setRows(llvec1, llvec2, llvec3);
		res_vec = llvec * llmat_obj1;

		LLVector3 expected_result(30, 51, 53);

		ensure("LLMatrix3::operator*(const LLVector3 &a, const LLMatrix3 &b) failed", res_vec == expected_result);
	}
Beispiel #2
0
	void partdata_test_object_t::test<3>()
	{
		LLPartSysData llpsysdata, llpsysdata1;
		U8 pkbuf[256];
		llpsysdata.setBurstSpeedMin(33.33f);
		ensure("1.mBurstSpeedMin coudnt be set", 33.33f == llpsysdata.mBurstSpeedMin);

		llpsysdata.setBurstSpeedMax(44.44f); 
		ensure("2.mBurstSpeedMax coudnt be set", 44.44f == llpsysdata.mBurstSpeedMax);

		llpsysdata.setBurstRadius(45.55f);
		ensure("3.mBurstRadius coudnt be set", 45.55f == llpsysdata.mBurstRadius);

		LLVector3 llvec(44.44f, 111.11f, -40.4f);
		llpsysdata.setPartAccel(llvec);

		llpsysdata.mCRC = 0xFFFFFFFF;
		llpsysdata.mFlags = 0x20;

		llpsysdata.mPattern = LLPartSysData::LL_PART_SRC_PATTERN_ANGLE_CONE_EMPTY;

		llpsysdata.mMaxAge = 99.99f;
		llpsysdata.mStartAge = 18.5f;
		llpsysdata.mInnerAngle = 4.234f;
		llpsysdata.mOuterAngle = 7.123f;
		llpsysdata.mBurstRate  = 245.53f;
		llpsysdata.mBurstPartCount = 0xFF;
		llpsysdata.mAngularVelocity = llvec;

		llpsysdata.mPartImageID.generate();
		llpsysdata.mTargetUUID.generate();
		
		LLDataPackerBinaryBuffer dp((U8*)pkbuf, 256);
		llpsysdata.pack(dp);
		S32 cur_size = dp.getCurrentSize();
		LLDataPackerBinaryBuffer dp1((U8*)pkbuf, cur_size);
		llpsysdata1.unpack(dp1);

		ensure("1.mCRC's not equal", llpsysdata.mCRC == llpsysdata1.mCRC);
		ensure("2.mFlags's not equal", llpsysdata.mFlags == llpsysdata1.mFlags);
		ensure("3.mPattern's not equal", llpsysdata.mPattern == llpsysdata1.mPattern);
		ensure_approximately_equals("4.mMaxAge's not equal", llpsysdata.mMaxAge , llpsysdata1.mMaxAge, 8);
		ensure_approximately_equals("5.mStartAge's not equal", llpsysdata.mStartAge, llpsysdata1.mStartAge, 8);
		ensure_approximately_equals("6.mOuterAngle's not equal", llpsysdata.mOuterAngle, llpsysdata1.mOuterAngle, 5);
		ensure_approximately_equals("7.mInnerAngles's not equal", llpsysdata.mInnerAngle, llpsysdata1.mInnerAngle, 5);
		ensure_approximately_equals("8.mBurstRate's not equal", llpsysdata.mBurstRate, llpsysdata1.mBurstRate, 8);
		ensure("9.mBurstPartCount's not equal", llpsysdata.mBurstPartCount == llpsysdata1.mBurstPartCount);

		ensure_approximately_equals("10.mBurstSpeedMin's not equal", llpsysdata.mBurstSpeedMin, llpsysdata1.mBurstSpeedMin, 8);
		ensure_approximately_equals("11.mBurstSpeedMax's not equal", llpsysdata.mBurstSpeedMax, llpsysdata1.mBurstSpeedMax, 8);

		ensure_approximately_equals("12.mAngularVelocity's not equal", llpsysdata.mAngularVelocity.mV[0], llpsysdata1.mAngularVelocity.mV[0], 7);
		ensure_approximately_equals("13.mAngularVelocity's not equal", llpsysdata.mAngularVelocity.mV[1], llpsysdata1.mAngularVelocity.mV[1], 7);
		ensure_approximately_equals("14.mAngularVelocity's not equal", llpsysdata.mAngularVelocity.mV[2], llpsysdata1.mAngularVelocity.mV[2], 7);
			
		ensure_approximately_equals("15.mPartAccel's not equal", llpsysdata.mPartAccel.mV[0], llpsysdata1.mPartAccel.mV[0], 7);
		ensure_approximately_equals("16.mPartAccel's not equal", llpsysdata.mPartAccel.mV[1], llpsysdata1.mPartAccel.mV[1], 7);
		ensure_approximately_equals("17.mPartAccel's not equal", llpsysdata.mPartAccel.mV[2], llpsysdata1.mPartAccel.mV[2], 7);

		ensure("18.mPartImageID's not equal", llpsysdata.mPartImageID == llpsysdata1.mPartImageID);
		ensure("19.mTargetUUID's not equal", llpsysdata.mTargetUUID == llpsysdata1.mTargetUUID);
		ensure_approximately_equals("20.mBurstRadius's not equal", llpsysdata.mBurstRadius, llpsysdata1.mBurstRadius, 8);
	}