public void DistanceAlongDiagonal() { var hypotenuse = (float)(2f.Sq() + 2d.Sq()).Sqrt(); var newBox = new TwoDimensionalBoundingBox(2, 2, 2); var dist = newBox.BoundsDistance(6, 6); Assert.AreEqual(hypotenuse, dist); }
private void DrawBoundingBox(TwoDimensionalBoundingBox bounds) { var startX = bounds.X - bounds.Radius; var endX = bounds.X + bounds.Radius; var startY = bounds.Y - bounds.Radius; var endY = bounds.Y + bounds.Radius; for (var x = startX; x <= endX; x++) { for (var subX = -1; subX < 2; subX++) { _texture.SetPixel((int)x, (int)startY + subX, BoundsColor); _texture.SetPixel((int)x, (int)endY + subX, BoundsColor); } } for (var y = startY; y <= endY; y++) { for (var subY = -1; subY < 2; subY++) { _texture.SetPixel((int)startX + subY, (int)y, BoundsColor); _texture.SetPixel((int)endX + subY, (int)y, BoundsColor); } } }
public void Setup() { _box = new TwoDimensionalBoundingBox(10, 10, 10); }
public void DistancePointInside() { var newBox = new TwoDimensionalBoundingBox(2, 2, 2); var dist = newBox.BoundsDistance(2, 4); Assert.AreEqual(-2, dist); }
public void DistanceAlongStraightPath() { var newBox = new TwoDimensionalBoundingBox(2, 2, 2); var dist = newBox.BoundsDistance(6, 2); Assert.AreEqual(2, dist); }
public void BoundsBoundsNonIntersections2D() { var newBox = new TwoDimensionalBoundingBox(-5, -5, 3); Assert.False(_box.Intersects(newBox)); }
public void BoundsBoundsInnerIntersection2D() { var newBox = new TwoDimensionalBoundingBox(11, 11, 2); Assert.True(_box.Intersects(newBox)); Assert.True(newBox.Intersects(_box)); }
public void BoundsBoundsEdgeIntersection2D() { var newBox = new TwoDimensionalBoundingBox(15, 15, 10); Assert.True(_box.Intersects(newBox)); }
public void Setup() { _box = new TwoDimensionalBoundingBox(10, 10, 10); _tree = new Quadtree<TestObject>(_box, 2); }