Esempio n. 1
0
        /// <summary>
        /// Add a surface loop (a closed shell) formed by `surfaceTags'.  If `tag' is
        /// positive, set the tag explicitly; otherwise a new tag is selected
        /// automatically. Return the tag of the surface loop. Setting `sewing' allows
        /// to build a shell made of surfaces that share geometrically identical (but
        /// topologically different) curves.
        /// </summary>
        public int AddSurfaceLoop(IEnumerable <int> surfaceTags, int tag = -1, bool sewing = false)
        {
            var api = GMshNativeMethods.gmshModelOccAddSurfaceLoop(surfaceTags.ToArray(), surfaceTags.Count().ToUint(), tag, sewing.Toint(), ref ierr);

            if (ierr != 0)
            {
                throw new GMshException(ierr);
            }
            return(api);
        }