Data.Scans.ScanPoint.operator C# (CSharp) Method

operator() public static method

public static operator ( ) : ScanPoint
return ScanPoint
        public static ScanPoint operator +(ScanPoint p1, ScanPoint p2)
        {
            if (p1.OnShots.Count == p2.OnShots.Count
                && p1.OffShots.Count == p2.OffShots.Count
                && p1.Analogs.Count == p2.Analogs.Count)
            {
                ScanPoint temp = new ScanPoint();
                temp.ScanParameter = p1.ScanParameter;
                for (int i = 0 ; i < p1.OnShots.Count ; i++)
                    temp.OnShots.Add((Shot)p1.OnShots[i] + (Shot)p2.OnShots[i]);
                for (int i = 0 ; i < p1.OffShots.Count ; i++)
                    temp.OffShots.Add((Shot)p1.OffShots[i] + (Shot)p2.OffShots[i]);
                for (int i = 0 ; i < p1.Analogs.Count ; i++)
                    temp.Analogs.Add((double)p1.Analogs[i] + (double)p2.Analogs[i]);
                return temp;
            }
            else
            {
                if (p1.OnShots.Count == 0) return p2;
                if (p2.OnShots.Count == 0) return p1;
                return null;
            }
        }