Polyline.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using Microsoft.Xna.Framework;
  4. namespace MonoGame.Extended.Shapes
  5. {
  6. public class Polyline
  7. {
  8. public Polyline(IEnumerable<Vector2> points)
  9. {
  10. Points = points;
  11. }
  12. public IEnumerable<Vector2> Points { get; private set; }
  13. public float Left => Points.Min(p => p.X);
  14. public float Top => Points.Min(p => p.Y);
  15. public float Right => Points.Max(p => p.X);
  16. public float Bottom => Points.Max(p => p.Y);
  17. public RectangleF BoundingRectangle
  18. {
  19. get
  20. {
  21. var minX = Left;
  22. var minY = Top;
  23. var maxX = Right;
  24. var maxY = Bottom;
  25. return new RectangleF(minX, minY, maxX - minX, maxY - minY);
  26. }
  27. }
  28. public bool Contains(float x, float y)
  29. {
  30. return false;
  31. }
  32. public bool Contains(Vector2 point)
  33. {
  34. return Contains(point.X, point.Y);
  35. }
  36. }
  37. }