/*-------------------------------------------------------------------------
 * 功能描述:WallExtension
 * 作者:xulisong
 * 创建时间: 2019/6/26 17:57:20
 * 版本号:v1.0
 *  -------------------------------------------------------------------------*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.DB;
using SAGA.DotNetUtils.Extend;
using SAGA.RevitUtils;
using SAGA.RevitUtils.Extends;

namespace RevitToJBim.Extension
{
    public static class WallExtension
    {
        public static List<PlanarFace> GetTopFaces(this Wall wall)
        {
            var solids = Extension.GeometryElementExtension.GetSolids(wall, wall.Document.GetUseView());
            var topZ = wall.GetTopStaticHeight();
            List<PlanarFace> faces = new List<PlanarFace>();
            foreach (var solid in solids)
            {
                foreach (Face face in solid.Faces)
                {
                    if (face is PlanarFace planarFace && planarFace.FaceNormal == XYZ.BasisZ && planarFace.Origin.Z.IsEqual(topZ))
                    {

                        faces.Add(planarFace);
                    }
                }
            }
            return faces;
        }
    }
}