/***************************************************/ public static RHG.Mesh CreatePreviewMesh(this List <object> geometry, RHG.MeshingParameters parameters) { RHG.Mesh mesh = new RHG.Mesh(); foreach (object geo in geometry) { RHG.Mesh itemMesh = CreatePreviewMesh(geo as dynamic, parameters); if (itemMesh != null) { mesh.Append(itemMesh); } } return(mesh); }
/***************************************************/ public static RHG.Mesh CreatePreviewMesh(RHG.Brep brep, RHG.MeshingParameters parameters) { RHG.Mesh[] array = RHG.Mesh.CreateFromBrep(brep, parameters); if (array == null) { return(new RHG.Mesh()); } if (array.Length == 1) { return(array[0]); } RHG.Mesh mesh = new RHG.Mesh(); foreach (var faceMesh in array) { mesh.Append(faceMesh); } return(mesh); }
/***************************************************/ /**** Public Methods - Interfaces ****/ /***************************************************/ public static RHG.Mesh ICreatePreviewMesh(this object obj, RHG.MeshingParameters parameters) { if (obj == null) { return(null); } if (parameters == null) { parameters = RHG.MeshingParameters.Default; } try { return(CreatePreviewMesh(obj as dynamic, parameters)); } catch (Exception) { return(null); } }
/***************************************************/ public static RHG.Mesh CreatePreviewMesh(RHG.NurbsSurface surface, RHG.MeshingParameters parameters) { return(CreatePreviewMesh(surface.ToBrep(), parameters)); }
/***************************************************/ /**** Private Methods - Fallback ****/ /***************************************************/ private static RHG.Mesh CreatePreviewMesh(this object fallback, RHG.MeshingParameters parameters) { // fallback in case no method is found for the provided runtime type return(null); }
/***************************************************/ /**** Public Methods - Miscellanea ****/ /***************************************************/ public static RHG.Mesh CreatePreviewMesh(RHG.BoundingBox bbBox, RHG.MeshingParameters parameters) { return(CreatePreviewMesh(bbBox.ToBrep(), parameters)); }
/***************************************************/ /**** Public Methods - Mesh ****/ /***************************************************/ public static RHG.Mesh CreatePreviewMesh(RHG.Mesh mesh, RHG.MeshingParameters parameters) { return(mesh); }
/***************************************************/ public static RHG.Mesh CreatePreviewMesh(RHG.Torus torus, RHG.MeshingParameters parameters) { return(CreatePreviewMesh(torus.ToRevSurface().ToBrep(), parameters)); }
/***************************************************/ public static RHG.Mesh CreatePreviewMesh(RHG.Sphere sphere, RHG.MeshingParameters parameters) { return(CreatePreviewMesh(sphere.ToBrep(), parameters)); }
/***************************************************/ public static RHG.Mesh CreatePreviewMesh(RHG.Cylinder cylinder, RHG.MeshingParameters parameters) { return(CreatePreviewMesh(cylinder.ToBrep(cylinder.IsFinite, cylinder.IsFinite), parameters)); }
/***************************************************/ /**** Public Methods - Solids ****/ /***************************************************/ public static RHG.Mesh CreatePreviewMesh(RHG.Cone cone, RHG.MeshingParameters parameters) { return(CreatePreviewMesh(cone.ToBrep(true), parameters)); }