Esempio n. 1
0
        private void RemoveLine(MarkupLine line)
        {
            foreach (var intersect in GetExistIntersects(line).ToArray())
            {
                if (intersect.Pair.GetOther(line) is MarkupRegularLine regularLine)
                {
                    regularLine.RemoveRules(line);
                }

                LineIntersects.Remove(intersect.Pair);
            }
            foreach (var filler in GetLineFillers(line).ToArray())
            {
                FillersList.Remove(filler);
            }

            if (CrosswalksDictionary.ContainsKey(line))
            {
                CrosswalksDictionary.Remove(line);
            }
            else
            {
                foreach (var crosswalk in GetLinesIsBorder(line))
                {
                    crosswalk.RemoveBorder(line);
                }
            }

            LinesDictionary.Remove(line.PointPair.Hash);
        }
Esempio n. 2
0
        public void Clear()
        {
            LinesDictionary.Clear();
            FillersList.Clear();

            RecalculateDashes();
        }
Esempio n. 3
0
 public bool TryGetLine <LineType>(ulong lineId, out LineType line)
     where LineType : MarkupLine
 {
     if (LinesDictionary.TryGetValue(lineId, out MarkupLine rawLine) && rawLine is LineType)
     {
         line = rawLine as LineType;
         return(true);
     }
     else
     {
         line = null;
         return(false);
     }
 }
Esempio n. 4
0
        private void RemoveLine(MarkupLine line)
        {
            foreach (var intersect in GetExistIntersects(line).ToArray())
            {
                intersect.Pair.GetOther(line).RemoveRules(line);
                LineIntersects.Remove(intersect.Pair);
            }
            foreach (var filler in GetLineFillers(line).ToArray())
            {
                FillersList.Remove(filler);
            }

            LinesDictionary.Remove(line.PointPair.Hash);
        }
Esempio n. 5
0
 public MarkupLine ToggleConnection(MarkupPointPair pointPair, Style.StyleType style)
 {
     if (LinesDictionary.TryGetValue(pointPair.Hash, out MarkupLine line))
     {
         RemoveConnect(line);
         return(null);
     }
     else
     {
         line = MarkupLine.FromStyle(this, pointPair, style);
         LinesDictionary[pointPair.Hash] = line;
         NeedRecalculateBatches          = true;
         return(line);
     }
 }
Esempio n. 6
0
        public MarkupLine ToggleConnection(MarkupPointPair pointPair, Style.StyleType style)
        {
            if (LinesDictionary.TryGetValue(pointPair.Hash, out MarkupLine line))
            {
                RemoveConnect(line);
                return(null);
            }
            else
            {
                if (pointPair.IsNormal && !EarlyAccess.CheckFunctionAccess(Localize.EarlyAccess_Function_PerpendicularLines))
                {
                    return(null);
                }

                line = MarkupLine.FromStyle(this, pointPair, style);
                LinesDictionary[pointPair.Hash] = line;
                NeedRecalculateBatches          = true;
                return(line);
            }
        }
Esempio n. 7
0
 public bool ContainsLine(MarkupPointPair pointPair) => LinesDictionary.ContainsKey(pointPair.Hash);
Esempio n. 8
0
 public bool TryGetLine(ulong lineId, out MarkupLine line) => LinesDictionary.TryGetValue(lineId, out line);
Esempio n. 9
0
 public bool ExistConnection(MarkupPointPair pointPair) => LinesDictionary.ContainsKey(pointPair.Hash);