Esempio n. 1
0
        /// <summary>
        ///     Resets the family symbol profile's location to zero point.
        /// </summary>
        /// <param name="profile"></param>
        /// <returns></returns>
        private static CurveArrArray ResetCurveArrArray(CurveArrArray profile)
        {
            if (profile is null)
            {
                throw new ArgumentNullException(nameof(profile));
            }

            var results = new CurveArrArray();

            var location = profile.GetMinPoint();

            foreach (CurveArray lines in profile)
            {
                var tmpLines = new CurveArray();

                foreach (var line in lines.Cast <Line>())
                {
                    if (line.Length < 1e-2)
                    {
                        return(null);
                    }

                    var pt1 = line.GetEndPoint(0) - location;

                    var pt2 = line.GetEndPoint(1) - location;

                    var newLine = Line.CreateBound(pt1, pt2);

                    tmpLines.Append(newLine);
                }

                results.Append(tmpLines);
            }

            return(results);
        }