Example #1
0
        /// <summary>
        /// Calculate the position of a geographical position for the current state of the globe.
        /// </summary>
        Point3D IPositionProvider.ProjectPosition(GeoPosition geoPos)
        {
            Point3D p = geoPos.ToSphere(_radius * 1.02)
                        .Transform(_rotation);

            Double z = p.Z;

            p = p.Transform(_projection);

            return(new Point3D(p.X, p.Y, z > _clipZ ? 1 : -1));
        }