Exemplo n.º 1
0
        /***************************************************/

        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);
        }
Exemplo n.º 2
0
        /***************************************************/

        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);
        }
Exemplo n.º 3
0
        /***************************************************/
        /**** 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);
            }
        }
Exemplo n.º 4
0
        /***************************************************/

        public static RHG.Mesh CreatePreviewMesh(RHG.NurbsSurface surface, RHG.MeshingParameters parameters)
        {
            return(CreatePreviewMesh(surface.ToBrep(), parameters));
        }
Exemplo n.º 5
0
        /***************************************************/
        /**** 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);
        }
Exemplo n.º 6
0
        /***************************************************/
        /**** Public Methods  - Miscellanea             ****/
        /***************************************************/

        public static RHG.Mesh CreatePreviewMesh(RHG.BoundingBox bbBox, RHG.MeshingParameters parameters)
        {
            return(CreatePreviewMesh(bbBox.ToBrep(), parameters));
        }
Exemplo n.º 7
0
        /***************************************************/
        /**** Public Methods  - Mesh                    ****/
        /***************************************************/

        public static RHG.Mesh CreatePreviewMesh(RHG.Mesh mesh, RHG.MeshingParameters parameters)
        {
            return(mesh);
        }
Exemplo n.º 8
0
        /***************************************************/

        public static RHG.Mesh CreatePreviewMesh(RHG.Torus torus, RHG.MeshingParameters parameters)
        {
            return(CreatePreviewMesh(torus.ToRevSurface().ToBrep(), parameters));
        }
Exemplo n.º 9
0
        /***************************************************/

        public static RHG.Mesh CreatePreviewMesh(RHG.Sphere sphere, RHG.MeshingParameters parameters)
        {
            return(CreatePreviewMesh(sphere.ToBrep(), parameters));
        }
Exemplo n.º 10
0
        /***************************************************/

        public static RHG.Mesh CreatePreviewMesh(RHG.Cylinder cylinder, RHG.MeshingParameters parameters)
        {
            return(CreatePreviewMesh(cylinder.ToBrep(cylinder.IsFinite, cylinder.IsFinite), parameters));
        }
Exemplo n.º 11
0
        /***************************************************/
        /**** Public Methods - Solids                   ****/
        /***************************************************/

        public static RHG.Mesh CreatePreviewMesh(RHG.Cone cone, RHG.MeshingParameters parameters)
        {
            return(CreatePreviewMesh(cone.ToBrep(true), parameters));
        }