Exemple #1
0
        public static CurveLoop ScaleLoop(this CurveLoop loop, double scale = 1.0)
        {
            var old_centroid = loop.ComputeCurveLoopCentroid();

            List <Curve> new_curves = new List <Curve>();

            foreach (var c in loop)
            {
                var eps = new[] { c.GetEndPoint(0), c.GetEndPoint(1) };
                // @CONTINUE
            }

            Transform scale_trans = Transform.Identity;

            scale_trans = scale_trans.ScaleBasisAndOrigin(scale);
            var new_loop = CurveLoop.CreateViaTransform(loop, scale_trans);



            var new_centroid = new_loop.ComputeCurveLoopCentroid();
            var trans        = Transform.CreateTranslation(new XYZ(old_centroid.U, old_centroid.V, 0) - new XYZ(new_centroid.U, new_centroid.V, 0));

            new_loop.Transform(trans);

            return(new_loop);
        }