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); }
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"); }