using MECF.Framework.UI.Core.DxfScript;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
using System.Windows.Shapes;
namespace MECF.Framework.UI.Core.DxfScript
{
public abstract class GasBaseShape : UIElement
{
public enum ShapeType { HLINE = 1, VLINE = 2, ACUTE = 3, OBTUSE = 4, POLY = 5, CIRCLE = 6, TEXT = 7, FUNNEL = 8 };
public int Id { get; set; } = 0;
public Script BoolCondition { get; set; } = null;
public Script StringCondition { get; set; } = null;
public Script ClickCondition { get; set; } = null;
public static double E { get; set; } = 2;
public bool Enable { get; set; } = true;
public Brush Brush { get; set; } = null;
///
/// 点击坐标是否在元素内部
///
///
///
/// true在则选中该元素 ;false不在
public abstract bool Contains(double x, double y);
public static int CreateId(ShapeType shapeType, double x, double y)
{
int xx = (int)(Math.Round(x + 0.0001) / 2);
int yy = (int)(Math.Round(y + 0.0001) / 2);
return ((int)shapeType) * 1000000 + xx * 1000 + yy;
}
public bool IsSamePoint(double x, double y, double ox, double oy)
{
return Math.Abs(x - ox) < E && Math.Abs(y - oy) < E;
}
///
/// 页面拖拽坐标点随之改变
///
///
///
public abstract void Move(double x, double y);
}
}