public void WindingOrderClockwiseTriangle() { IList <Vector2D> positions = new List <Vector2D>(); positions.Add(new Vector2D(0, 0)); positions.Add(new Vector2D(1, 1)); positions.Add(new Vector2D(1, 0)); Assert.AreEqual(PolygonWindingOrder.Clockwise, SimplePolygonAlgorithms.ComputeWindingOrder(positions)); Assert.AreEqual(-0.5, SimplePolygonAlgorithms.ComputeArea(positions)); }
public void WindingOrderCounterclockwiseDiamond() { IList <Vector2D> positions = new List <Vector2D>(); positions.Add(new Vector2D(0, -0.5)); positions.Add(new Vector2D(0.5, 0)); positions.Add(new Vector2D(0, 0.5)); positions.Add(new Vector2D(-0.5, 0)); Assert.AreEqual(PolygonWindingOrder.Counterclockwise, SimplePolygonAlgorithms.ComputeWindingOrder(positions)); Assert.AreEqual(0.5, SimplePolygonAlgorithms.ComputeArea(positions)); }