// Token: 0x0600017A RID: 378 RVA: 0x0000AA94 File Offset: 0x00008C94 internal static SteelGroupElement GetInstance(RevitElement <FabricSheet> sheet, ItMachineDataBase.CNCElementData cncElementData, ItGeMatrix3d matWcsToPalette) { bool flag = SteelGroupElementMeshBase.IsCFS(sheet); SteelGroupElement instance; if (flag) { instance = SteelGroupElementMeshCFS.GetInstance(sheet, cncElementData, matWcsToPalette); } else { instance = SteelGroupElementMeshSFS.GetInstance(sheet, cncElementData, matWcsToPalette); } return(instance); }
// Token: 0x0600023B RID: 571 RVA: 0x0000F8A8 File Offset: 0x0000DAA8 private static IEnumerable <SteelGroupElementMeshSFS> AccumulateSheets(Dictionary <ElementId, List <SteelGroupElementMeshSFS> > dict) { Func <SteelGroupElementMeshSFS, SteelGroupElementMeshSFS, SteelGroupElementMeshSFS> sumSheets = delegate(SteelGroupElementMeshSFS total, SteelGroupElementMeshSFS next) { total.Count += next.Count; total.Weight += next.Weight; total.WireItemsMajor.AddRange(next.WireItemsMajor); total.WireItemsMinor.AddRange(next.WireItemsMinor); return(total); }; Func <List <SteelGroupElementMeshSFS>, SteelGroupElementMeshSFS> selector = delegate(List <SteelGroupElementMeshSFS> list) { SteelGroupElementMeshSFS steelGroupElementMeshSFS = list.FirstOrDefault <SteelGroupElementMeshSFS>(); ItDebug.assert(steelGroupElementMeshSFS != null, "if a list is added to the dict, at least one sheet must be added to the list!"); SteelGroupElementMeshSFS instance = SteelGroupElementMeshSFS.GetInstance(steelGroupElementMeshSFS.FabricSheet, steelGroupElementMeshSFS.CNCElementData, steelGroupElementMeshSFS.MatWcsToPalette); instance.Weight = 0.0; instance.Count = 0; instance.WireItemsMajor.Clear(); instance.WireItemsMinor.Clear(); return(list.Aggregate(instance, sumSheets)); }; return(dict.Values.Select(selector)); }