Ejemplo n.º 1
0
        // 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);
        }