// Token: 0x060001EB RID: 491 RVA: 0x0000D8A8 File Offset: 0x0000BAA8 public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid) { Rebar element = this.Rebar.Element; double radius = base.RebarBarType.BarDiameter / 2.0; int num; int num2; SteelGroupElementRebar.GetRebarIndices(element, out num, out num2); double num3 = 0.0; int num4; for (int i = num; i < num2; i = num4 + 1) { List <Curve> centerLineCurvesForVolumeCalculation = SteelGroupElementRebar.GetCenterLineCurvesForVolumeCalculation(this.Rebar, i); List <CurveLoop> sweepProfile = SteelGroupElementRebar.GetSweepProfile(centerLineCurvesForVolumeCalculation, radius); bool flag = sweepProfile.none <CurveLoop>(); if (!flag) { Solid solid = SteelGroupElementRebar.GetSolid(centerLineCurvesForVolumeCalculation, sweepProfile); bool flag2 = solid == null; if (!flag2) { Solid solid2 = solid.intersect(partSolid.Solid); bool flag3 = solid2 == null || solid2.Volume.Lt(0.0, -1.0); if (!flag3) { num3 += solid2.Volume; } } } num4 = i; } return(num3); }
// Token: 0x060000F3 RID: 243 RVA: 0x000094E0 File Offset: 0x000076E0 protected override bool IsMountPartOfThisShell(RevitElement <FamilyInstance> mountingPart, RevitElement <Part> part) { bool flag = mountingPart.Element.getHostId() == part.Id; bool result; if (flag) { result = true; } else { List <ItSolid> solids = ItSolid.getSolids(mountingPart, ItGeMatrix3d.kIdentity, false); bool flag2 = solids.none <ItSolid>(); if (flag2) { ItFailures.PostFailure(ItFailures.CAMMountPartInUnknownShell, mountingPart.Id); result = (part.shellType() == ShellType.FirstShell); } else { result = this.hasSolidIntersection(part, solids); } } return(result); }
// Token: 0x06000241 RID: 577 RVA: 0x0000F9A8 File Offset: 0x0000DBA8 public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid) { IEnumerable <double> source = from wire in base.WireItemsMinor.Union(base.WireItemsMajor) select wire.GetSteelVolumeInPart(partSolid); return(source.Sum()); }
// Token: 0x060001AB RID: 427 RVA: 0x0000BC8C File Offset: 0x00009E8C public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid) { IEnumerable <WireItem> source = base.WireItemsMajor.Union(base.WireItemsMinor); IEnumerable <double> source2 = from item in source select item.GetSteelVolumeInPart(partSolid); return(source2.Sum()); }
// Token: 0x06000154 RID: 340 RVA: 0x0000A4DC File Offset: 0x000086DC public double GetSteelVolumeInPart(RevitElement <Part> part) { double num = 0.0; ItSolid partSolid = part.getSolid(false, null, false, true).DeepClone(); foreach (SteelGroupElement steelGroupElement in this.steelGroupElements) { num += steelGroupElement.GetSteelVolumeInPart(part, partSolid); } return(num); }
// Token: 0x060001CE RID: 462 RVA: 0x0000C334 File Offset: 0x0000A534 public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid) { List <ItSolid> solidListFromFamilyInstance = ItSolid.getSolidListFromFamilyInstance(this.Girder.Element, this.Girder.Element.ecs(), false, null, false); double num = 0.0; foreach (ItSolid itSolid in solidListFromFamilyInstance) { Solid solid = partSolid.Solid.intersect(itSolid.Solid); bool flag = solid != null && solid.Volume.Gt(0.0, -1.0); if (flag) { num += solid.Volume; } } return(num); }
// Token: 0x06000273 RID: 627 RVA: 0x000101A8 File Offset: 0x0000E3A8 public double GetSteelVolumeInPart(ItSolid partSolid) { Solid wcssolid = this.GetWCSSolid(); Solid solid = wcssolid.intersect(partSolid.Solid); bool flag = solid != null && solid.Volume.Gt(0.0, -1.0); double result; if (flag) { result = solid.Volume; } else { result = 0.0; } return result; }
// Token: 0x06000195 RID: 405 RVA: 0x0000B13C File Offset: 0x0000933C public override double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid) { Part hostingPart = this.RebarInSystem.Element.getHostingPart(); bool flag = hostingPart != null && part.Id == hostingPart.Id; double result; if (flag) { result = this.RebarInSystem.Element.Volume; } else { result = 0.0; } return(result); }
// Token: 0x06000187 RID: 391 public abstract double GetSteelVolumeInPart(RevitElement <Part> part, ItSolid partSolid);
// Token: 0x060000F4 RID: 244 RVA: 0x00009554 File Offset: 0x00007754 private bool hasSolidIntersection(RevitElement <Part> part, List <ItSolid> solids) { ItSolid partSolid = part.getSolid(true, Transform.Identity, false, false); return(solids.any((ItSolid solid) => solid.Solid.hasIntersection(partSolid.Solid))); }