示例#1
0
文件: Result.cs 项目: andreyV512/rag
 public Result()
 {
     Error = null;
     Thick = new ResultThickLite();
     Cross = new ResultDef(EUnit.Cross);
     Line  = new ResultDef(EUnit.Line);
     SG    = new ResultSG();
     Sum   = new SumResult();
 }
示例#2
0
        //public void ComputeLine(ResultDef _line)
        //{
        //    MClass.Clear();
        //    MClass.Capacity = _line.MZone.Count();
        //    for (int i = 0; i < _line.MZone.Count(); i++)
        //        MClass.Add(_line.MZone[i].Class);
        //}

        public void Compute(ResultDef _cross, ResultDef _line, ResultThickLite _thick)
        {
            int size = 1000;

            if (_cross != null && _cross.MZone.Count > 0)
            {
                if (size > _cross.MZone.Count)
                {
                    size = _cross.MZone.Count;
                }
            }

            if (_line != null && _line.MZone.Count > 0)
            {
                if (size > _line.MZone.Count)
                {
                    size = _line.MZone.Count;
                }
            }

            if (_thick != null && _thick.MZone.Count > 0)
            {
                if (size > _thick.MZone.Count)
                {
                    size = _thick.MZone.Count;
                }
            }
            if (size == 1000)
            {
                size = 0;
            }
            MClass.Clear();
            MClass.Capacity = size;
            for (int i = 0; i < size; i++)
            {
                EClass c = EClass.None;
                if (_cross != null && i < _cross.MZone.Count())
                {
                    c = Classer.Compare(c, _cross.MZone[i].Class);
                }
                if (_line != null && i < _line.MZone.Count())
                {
                    c = Classer.Compare(c, _line.MZone[i].Class);
                }
                if (_thick != null && i < _thick.MZone.Count)
                {
                    c = Classer.Compare(c, _thick.MZone[i].RClass);
                }
                MClass.Add(c);
            }
            RClass = MaxGood != null ? EClass.Class1 : EClass.Brak;
        }
示例#3
0
        public void RDraw()
        {
            Clear();
            if (RK.ST.result == null)
            {
                return;
            }
            ResultThickLite rs = RK.ST.result.Thick;

            if (rs == null)
            {
                return;
            }
            if (rs.MZone == null)
            {
                return;
            }
            double?level = null;

            for (int i = 0; i < rs.MZone.Count; i++)
            {
                BankLib.BankZoneThick z = rs.MZone[i];
                double lLevel           = z.Level == null ? rs.MaxThickness : z.Level.Value;
                mp.Add(lLevel).Color = Classer.GetColor(z.RClass);
                if (z.Level != null)
                {
                    if (level == null)
                    {
                        level = z.Level.Value;
                    }
                    else
                    {
                        if (z.Level.Value < level)
                        {
                            level = z.Level.Value;
                        }
                    }
                }
            }
            uMinThick1.MinThick = level;
        }