BuildingCoder.CmdCollectorPerformance.GetModelExtents C# (CSharp) Method

GetModelExtents() private method

Return a bounding box enclosing all model elements using only quick filters.
private GetModelExtents ( Document doc ) : BoundingBoxXYZ
doc Document
return BoundingBoxXYZ
        BoundingBoxXYZ GetModelExtents( Document doc )
        {
            FilteredElementCollector quick_model_elements
            = new FilteredElementCollector( doc )
              .WhereElementIsNotElementType()
              .WhereElementIsViewIndependent();

              IEnumerable<BoundingBoxXYZ> bbs = quick_model_elements
            .Where<Element>( e => null != e.Category )
            .Select<Element,BoundingBoxXYZ>( e
              => e.get_BoundingBox( null ) );

              return bbs.Aggregate<BoundingBoxXYZ>( ( a, b )
            => { a.ExpandToContain( b ); return a; } );
        }