public static Dictionary <CircleArrayDefine, List <SlicedPlane> > DoCircleSlice(Facet[] facets, CircleArrayDefine[] defines)
        {
            var results = new Dictionary <CircleArrayDefine, List <SlicedPlane> >();

            foreach (var define in defines)
            {
                var result = new List <SlicedPlane>();

                var factory = new CircleArrayCreater();
                var planes  = factory.CreateArrayPlane(define);

                foreach (var p in planes)
                {
                    var planeInfo = p as CircleSlicePlaneInfo;
                    var sp        = new SlicedPlane(planeInfo);

                    result.Add(sp);

                    foreach (var f in facets)
                    {
                        var segs = GetPlaneCross(f, planeInfo.Plane);
                        if (segs.Count > 0)
                        {
                            sp.Lines.AddRange(segs);
                        }
                    }
                }

                results.Add(define, result);
            }

            return(results);
        }
Exemple #2
0
        static void TestArrayCreate()
        {
            var p  = new Plane(0, 1, 0, 1);
            var d  = new ArrayDefine(p, ArrayType.Circle, 8);
            var c  = new CircleArrayCreater();
            var ps = c.CreateArrayPlane(d);

            foreach (var mp in ps)
            {
                Console.WriteLine(mp.ToString());
            }

            Console.WriteLine("TestArrayCreate finish");
        }