예제 #1
0
        /// <summary>
        /// Muuntaa annetun pisteen maailmankoordinaateista ruutukoordinaatteihin
        /// ottaen huomioon oliokerroksen suhteellisen siirtymän.
        /// </summary>
        public Vector WorldToScreen(Vector point, Layer layer)
        {
            if (layer == null)
            {
                return(WorldToScreen(point));
            }
            if (layer.IgnoresZoom)
            {
                return(point - Vector.ComponentProduct(Position, layer.RelativeTransition));
            }

            return((point - Vector.ComponentProduct(Position, layer.RelativeTransition)) * ZoomFactor);
        }
예제 #2
0
        /// <summary>
        /// Muuntaa annetun pisteen ruutukoordinaateista maailmankoordinaatteihin
        /// ottaen huomioon oliokerroksen suhteellisen siirtymän.
        /// </summary>
        public Vector ScreenToWorld(Vector point, Layer layer)
        {
            if (layer == null)
            {
                return(ScreenToWorld(point));
            }
            if (layer.IgnoresZoom)
            {
                return(Vector.ComponentProduct(Position, layer.RelativeTransition) + point);
            }

            return(Vector.ComponentProduct(Position, layer.RelativeTransition) + (1 / ZoomFactor) * point);
        }