public void MotionExpansionSweepAabbTest() { // Test values. var linear = new float2(2.0f, 3.0f); var uniform = 5.0f; var aabb = new Aabb() { Min = new float2(-5.0f, -10.0f), Max = new float2(40.0f, 30.0f) }; // Expectations. var expectedAabb = new Aabb { Min = math.min(aabb.Min, aabb.Min + linear) - uniform, Max = math.max(aabb.Max, aabb.Max + linear) + uniform }; var motionExpansion = new MotionExpansion() { Linear = linear, Uniform = uniform }; var resultAabb = motionExpansion.ExpandAabb(aabb); Assert.AreEqual(expectedAabb.Min, resultAabb.Min); Assert.AreEqual(expectedAabb.Max, resultAabb.Max); }
public void MotionExpansionMaxDistanceTest() { var motionExpansion = new MotionExpansion() { Linear = new float3(2.0f, 3.0f, 4.0f), Uniform = 5.0f }; Assert.AreEqual(math.sqrt(29.0f) + 5.0f, motionExpansion.MaxDistance); }
public void MotionExpansionSweepAabbTest() { var motionExpansion = new MotionExpansion() { Linear = new float3(2.0f, 3.0f, 4.0f), Uniform = 5.0f }; var aabb = motionExpansion.ExpandAabb(new Aabb() { Min = new float3(-10.0f, -10.0f, -10.0f), Max = new float3(10.0f, 10.0f, 10.0f) }); Assert.AreEqual(new float3(-15.0f, -15.0f, -15.0f), aabb.Min); Assert.AreEqual(new float3(17.0f, 18.0f, 19.0f), aabb.Max); }
public void MotionExpansionMaxDistanceTest() { // Test values. var linear = new float2(2.0f, 3.0f); var uniform = 5.0f; // Expectations. var expectedMaxDistance = math.length(linear) + uniform; var motionExpansion = new MotionExpansion() { Linear = linear, Uniform = uniform }; Assert.AreEqual(expectedMaxDistance, motionExpansion.MaxDistance); }