GasCircle.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. *
  3. * @author seagle
  4. * @date 2024-7-22
  5. * @Description 管路图元件对象封装
  6. */
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace MECF.Framework.UI.Core.DxfScript
  13. {
  14. public class GasCircle: GasBaseShape
  15. {
  16. public double X { get; set; }
  17. public double Y { get; set; }
  18. public double R { get; set; }
  19. public double StartAngle { get; set; }
  20. public double EndAngle { get; set; }
  21. public string Key{ get; set; }
  22. public GasCircle(double x, double y, double r, double startAngle = 0, double endAngle = 0)
  23. {
  24. X = x;
  25. Y = y;
  26. R = r;
  27. StartAngle = startAngle;
  28. EndAngle = endAngle;
  29. Id = CreateId(ShapeType.CIRCLE, x - r, y + r);
  30. }
  31. public override bool Contains(double x, double y)
  32. {
  33. if (Math.Sqrt((x - X) * (x - X) + (y - Y) * (y - Y)) <= R + E)
  34. {
  35. return true;
  36. }
  37. else
  38. {
  39. return false;
  40. }
  41. }
  42. public override void Move(double x, double y)
  43. {
  44. X += x;
  45. Y += y;
  46. }
  47. }
  48. }