Пример #1
0
        public double PoligonDistance(Coordinate coordinate)
        {
            double res = 0;

            for (var i = 0; i < Count; i++)
            {
                var distance = this[i].LineDistance(coordinate);
                if (i == 0 || distance < res)
                    res = distance;
            }
            return res;
        }
Пример #2
0
        public GraphicLayer(int pWidth, int pHeight, Coordinate centerCoordinate, int pLevel)
        {
            Width = pWidth;
            Height = pHeight;

            _centerCoordinate = centerCoordinate;
            _level = pLevel;

            PiFormat = ObtainCompatiblePixelFormat();

            Resize(false);
            _drawLayerEvent += OnIvalidateLayer;
        }
Пример #3
0
        public bool Add(Coordinate coordinate)
        {
            if (Count > 2)
            {
                var line1 = new CoordinateRectangle(First, coordinate);
                var line2 = new CoordinateRectangle(Last, coordinate);
                for (var i = 0; i < Count - 1; i++)
                {
                    if (GoogleMapUtilities.CheckLinesInterseption(this[i], line1)
                        || GoogleMapUtilities.CheckLinesInterseption(this[i], line2))
                        return false;
                }
            }

            Coordinates.Add(coordinate);
            return true;
        }
Пример #4
0
 protected virtual bool SetCenterCoordinate(Coordinate center, int level)
 {
     if (_level != level
         || new GoogleCoordinate(_centerCoordinate, level).CompareTo(
         new GoogleCoordinate(center, level)) != 0)
     {
         _centerCoordinate = center;
         _level = level;
         TranslateCoords();
         Update(new Rectangle(0, 0, Width, Height));
         return true;
     }
     return false;
 }
Пример #5
0
        public InterseptResult PointContains(Coordinate coordinate)
        {
            //to do

            return InterseptResult.None;
        }