/// <summary>
        ///
        /// </summary>
        /// <param name="contextSurface"></param>
        /// <param name="u"></param>
        /// <param name="v"></param>
        /// <returns></returns>
        public static SurfaceCurvature BySurfaceParameters(Surface contextSurface, double u, double v)
        {
            if (contextSurface == null)
            {
                return(null);
            }

            ISurfaceEntity host = contextSurface.GetSurfaceEntity();

            if (host == null)
            {
                return(null);
            }

            ICoordinateSystemEntity coordinateSystemEntity = host.CurvatureAtParameter(u, v);

            if (null != coordinateSystemEntity)
            {
                SurfaceCurvature surfCurv = new SurfaceCurvature(contextSurface, u, v, coordinateSystemEntity);
                return(surfCurv);
            }

            return(null);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="contextSurface"></param>
        /// <param name="u"></param>
        /// <param name="v"></param>
        /// <returns></returns>
        public static SurfaceCurvature BySurfaceParameters(Surface contextSurface, double u, double v)
        {
            if (contextSurface == null)
                return null;

            ISurfaceEntity host = contextSurface.GetSurfaceEntity();
            if (host == null)
                return null;

            ICoordinateSystemEntity coordinateSystemEntity = host.CurvatureAtParameter(u, v);
            if (null != coordinateSystemEntity)
            {
                SurfaceCurvature surfCurv = new SurfaceCurvature(contextSurface, u, v, coordinateSystemEntity);
                return surfCurv;
            }

            return null;
        }