//**CREATE /// <summary> /// creates instance of unrolling /// </summary> /// <param name="surface">input surface</param> /// <returns>Unroll object</returns> public static Unroll BySurface(Surface surface, double thickness, double tolerance = 1) { bool canUnroll = true; for (float i = 0; i < 1; i += 0.1f) { for (float j = 0; j < 1; j += 0.1f) { if (surface.GaussianCurvatureAtParameter(i, j) > 0) { canUnroll = false; continue; } } } Surface[] surfaces = {surface}; return new Unroll(surfaces.ToList(), thickness, canUnroll, tolerance); }