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

        public static BoundingBox Calculate(NurbCurveB curve)
        {
            double[] points = curve.ControlPoints;
            int[]    minMax = BHG.CollectionUtils.MaxMinIndices(points, 3);
            return(new BoundingBox(
                       new Point(points[minMax[0]], points[minMax[1]], points[minMax[2]]),
                       new Point(points[minMax[3]], points[minMax[4]], points[minMax[5]])
                       ));
        }
Exemplo n.º 2
0
        /***************************************************/

        static void ChangeCurveLength(int nbPts)
        {
            Random rnd = new Random();

            List <Point> points = new List <Point>();

            for (int i = 0; i < nbPts; i++)
            {
                points.Add(new Point(rnd.NextDouble(), rnd.NextDouble(), rnd.NextDouble()));
            }

            newControlPoints = points;
            newNurbsCurve    = new NurbCurve(points);
            newNurbsCurveB   = new NurbCurveB(points);

            oldControlPoints = points.Select(pt => new BHG.Point(pt.X, pt.Y, pt.Z)).ToList();
            oldNurbsWeights  = newNurbsCurve.Weights.ToArray();
            oldNurbsKnots    = newNurbsCurve.Knots.ToArray();
            oldNurbsCurve    = new BHG.NurbCurve(oldControlPoints, 3, oldNurbsKnots, oldNurbsWeights);
        }