Beispiel #1
0
        /// <summary>
        ///     Todo
        /// </summary>
        /// <param name="loop"></param>
        /// <returns></returns>
        public static Enums.LoopKit GetLoopType(this BoundaryLoop loop)
        {
            if (!loop.IsLargestLoop())
            {
                return(Enums.LoopKit.Interior);
            }

            if (!SettingsUser.PrioritizeRightAngles)
            {
                return(Enums.LoopKit.Exterior);
            }

            try
            {
                foreach (var vtx in loop.Vertices)
                {
                    if (vtx.IsRightAngle3D())
                    {
                        return(Enums.LoopKit.RightAngle);
                    }
                }
            }
            catch
            {
                return(Enums.LoopKit.Error);
            }

            return(Enums.LoopKit.Undetermined);
        }