/// <summary> /// Gets the closest point on a surface to the input point /// </summary> /// <param name="surface"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="z"></param> /// <returns></returns> private static PointUv ClosestPointOnTs(this ISurface surface, double x, double y, double z) { var r = (double[])surface.GetClosestPointOn(x, y, z); return(new PointUv(r[0], r[1], r[2], r[3], r[4])); }