Example #1
0
        private Vertex CreateVertex(Vector2 position)
        {
            var overlaps = _vertices.ContainedBy(new BoundingRectangle(
                                                     new Vector2(position.X - 1, position.Y - 1),
                                                     new Vector2(position.X + 1, position.Y + 1)
                                                     ));

            if (overlaps.Any(a => a.Position == position))
            {
                throw new InvalidOperationException();
            }

            var vertex = new Vertex(position);

            _vertices.Insert(
                new BoundingRectangle(
                    new Vector2(position.X, position.Y),
                    new Vector2(position.X, position.Y)
                    ),
                vertex
                );

            return(vertex);
        }