duheng
2024-10-09 f4bf35513c50f86556d5e3c75a037052f53c971d
WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/99-models/02-group_point/ValveGroupPt.cs
ÎļþÃû´Ó WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/99-models/02-group_point/ValvePerformGroupPoint.cs ÐÞ¸Ä
@@ -1,19 +1,19 @@
namespace Yw.WinFrmUI.Phart
{
    public class ValvePerformGroupPoint : ICloneable
    public class ValveGroupPt : ICloneable
    {
        private int id = 0;
        public int ID { get { return id; } set { id = value; } }
        public double Q { get; set; }
        public double L { get; set; } 
        public ValvePerformGroupPoint() { }
        public ValvePerformGroupPoint(ValvePerformGroupPoint rhs)
        public ValveGroupPt() { }
        public ValveGroupPt(ValveGroupPt rhs)
        {
            this.ID = rhs.ID;
            this.Q = rhs.Q;
            this.L = rhs.L; 
        }
        public ValvePerformGroupPoint(string dsString)
        public ValveGroupPt(string dsString)
        {
            ResetParas(dsString);
        }
@@ -39,7 +39,7 @@
            L = Convert.ToDouble(paras[2]); 
            return true;
        }
        public static ValvePerformGroupPoint ToParameter(string dsString)
        public static ValveGroupPt ToParameter(string dsString)
        {
            if (string.IsNullOrEmpty(dsString)) return null;
            if (dsString.Contains("|"))
@@ -50,13 +50,13 @@
                if (iCount < 2)
                    return null;
                return ValvePerformGroupPoint.ToParameter(strParas[1]);//取默认第一个成员即可
                return ValveGroupPt.ToParameter(strParas[1]);//取默认第一个成员即可
            }
            var paras = dsString.Split(',');
            if (paras.Count() < 5)
                return null;
            ValvePerformGroupPoint pt = new ValvePerformGroupPoint();
            ValveGroupPt pt = new  ();
            pt.ID = Convert.ToInt32(paras[0]);
            pt.Q = Convert.ToDouble(paras[1]);
            pt.L = Convert.ToDouble(paras[2]); 
@@ -65,13 +65,13 @@
        }
        public ValvePerformGroupPoint(int id, double q, double h, double e, double p)
        public ValveGroupPt(int id, double q, double h, double e, double p)
        {
            ID = id;
            Q = q;
            L = h; 
        }
        public ValvePerformGroupPoint(int id, double q, double h, double e, double p, double npsh)
        public ValveGroupPt(int id, double q, double h, double e, double p, double npsh)
        {
            ID = id;
            Q = q;
@@ -87,13 +87,13 @@
            return string.Format("{0},{1},{2},{3},{4},{5}", ID, Q, L);
        }
        public ValvePerformGroupPoint RoundAll(int decimals)
        public ValveGroupPt RoundAll(int decimals)
        {
            this.Q = Math.Round(this.Q, decimals);
            this.L = Math.Round(this.L, decimals); 
            return this;
        }
        public  ValvePerformGroupPoint RoundAll_Small(int decimals, double small = 2)
        public  ValveGroupPt RoundAll_Small(int decimals, double small = 2)
        {
            if (this.Q < small)
                this.Q = Math.Round(this.Q, 3);
@@ -107,9 +107,9 @@
        }
        #region Clone
        public ValvePerformGroupPoint Clone()  //对外提供一个创建自身的浅表副本的能力
        public ValveGroupPt Clone()  //对外提供一个创建自身的浅表副本的能力
        {
            return (ValvePerformGroupPoint)this.MemberwiseClone();
            return (ValveGroupPt)this.MemberwiseClone();
        }
        object ICloneable.Clone()
        {
@@ -125,7 +125,7 @@
        }
        //排序方法
        public class Comparer : IComparer<ValvePerformGroupPoint>
        public class Comparer : IComparer<ValveGroupPt>
        {
            private eSortType sortType;
            public Comparer(eSortType type = eSortType.Q)
@@ -134,7 +134,7 @@
            }
            #region IComparer<GroupPoint> æˆå‘˜
            int IComparer<ValvePerformGroupPoint>.Compare(ValvePerformGroupPoint obj1, ValvePerformGroupPoint obj2)
            int IComparer<ValveGroupPt>.Compare(ValveGroupPt obj1, ValveGroupPt obj2)
            {
                if (sortType == eSortType.ID)
                {
@@ -187,7 +187,7 @@
        }
        //比较相同:主要用与LIST的Contains方法
        public class EqualComparer : IEqualityComparer<ValvePerformGroupPoint>
        public class EqualComparer : IEqualityComparer<ValveGroupPt>
        {
            private double ignoreDis = 0.001;
            public EqualComparer()
@@ -198,7 +198,7 @@
            {
                ignoreDis = dis;
            }
            public bool Equals(ValvePerformGroupPoint lhs, ValvePerformGroupPoint rhs)
            public bool Equals(ValveGroupPt lhs, ValveGroupPt rhs)
            {
                if (Math.Abs(lhs.Q - rhs.Q) < ignoreDis && Math.Abs(lhs.L - rhs.L) < ignoreDis)
                    return true;
@@ -206,7 +206,7 @@
                return false;
            }
            public int GetHashCode(ValvePerformGroupPoint obj)
            public int GetHashCode(ValveGroupPt obj)
            {
                return 0;
                // return obj.H.GetHashCode() + obj.Q.GetHashCode();