Exemplo n.º 1
0
                private NormalizedPoint Add(PointF point)
                {
                    NormalizedPoint result;
                    VisualPoint     visualPoint;

                    for (var i = _normalizedPoints.Count - 1; i >= 0; i--)
                    {
                        if (IsVisuallyIdentical(_normalizedPoints[i].Point, point))
                        {
                            visualPoint = _visualPoints[_normalizedPoints[i].VisualIndex];
                            visualPoint.Weight++;
                            result = new NormalizedPoint {
                                Point = point, VisualIndex = visualPoint.VisualIndex
                            };
                            _normalizedPoints.Add(result);
                            return(result);
                        }
                    }

                    visualPoint = new VisualPoint {
                        IsLocked = false, VisualIndex = _visualPoints.Count, Weight = 1
                    };
                    _visualPoints.Add(visualPoint);

                    result = new NormalizedPoint {
                        Point = point, VisualIndex = visualPoint.VisualIndex
                    };
                    _normalizedPoints.Add(result);
                    return(result);
                }
Exemplo n.º 2
0
 // TODO: TUNE: what's the correct value? Shoud it be based on the matafile's DPI?
 private bool IsVisuallyIdentical(NormalizedPoint a, PointF b)
 {
     for (var i = _normalizedPoints.Count - 1; i >= 0; i--)
     {
         if (_normalizedPoints[i].VisualIndex == a.VisualIndex && IsVisuallyIdentical(_normalizedPoints[i].Point, b))
         {
             return(true);
         }
     }
     return(false);
 }
Exemplo n.º 3
0
 private static bool IsVisuallyIdentical(NormalizedPoint a, NormalizedPoint b) => a.VisualIndex == b.VisualIndex;
Exemplo n.º 4
0
                private NormalizedPoint Add(PointF point)
                {
                    NormalizedPoint result;
                    VisualPoint visualPoint;

                    for (var i = _normalizedPoints.Count - 1; i >= 0; i--)
                    {
                        if (IsVisuallyIdentical(_normalizedPoints[i].Point, point))
                        {
                            visualPoint = _visualPoints[_normalizedPoints[i].VisualIndex];
                            visualPoint.Weight++;
                            result = new NormalizedPoint() { Point = point, VisualIndex = visualPoint.VisualIndex };
                            _normalizedPoints.Add(result);
                            return result;
                        }
                    }

                    visualPoint = new VisualPoint() { IsLocked = false, VisualIndex = _visualPoints.Count, Weight = 1 };
                    _visualPoints.Add(visualPoint);

                    result = new NormalizedPoint() { Point = point, VisualIndex = visualPoint.VisualIndex };
                    _normalizedPoints.Add(result);
                    return result;
                }
Exemplo n.º 5
0
 private bool IsVisuallyIdentical(NormalizedPoint a, PointF b)
 {
     for (var i = _normalizedPoints.Count - 1; i >= 0; i--)
         if (_normalizedPoints[i].VisualIndex == a.VisualIndex)
             if (IsVisuallyIdentical(_normalizedPoints[i].Point, b))
                 return true;
     return false;
 }
Exemplo n.º 6
0
                private static float UnitSizeEpsilon = 2.0f; // TODO: TUNE: what's the correct value? Shoud it be based on the matafile's DPI?

                private bool IsVisuallyIdentical(NormalizedPoint a, NormalizedPoint b)
                {
                    return a.VisualIndex == b.VisualIndex;
                }