Exemplo n.º 1
0
        protected override void Process(IFCAnyHandle ifcPolygonalFaceSet)
        {
            base.Process(ifcPolygonalFaceSet);

            bool?closed = IFCAnyHandleUtil.GetBooleanAttribute(ifcPolygonalFaceSet, "Closed");

            if (closed != null)
            {
                Closed = closed;
            }

            IList <IFCAnyHandle> facesHnds = IFCAnyHandleUtil.GetAggregateInstanceAttribute <List <IFCAnyHandle> >(ifcPolygonalFaceSet, "Faces");

            if (facesHnds != null)
            {
                if (facesHnds.Count > 0)
                {
                    Faces = new List <IFCIndexedPolygonalFace>();
                }
                foreach (IFCAnyHandle facesHnd in facesHnds)
                {
                    Faces.Add(IFCIndexedPolygonalFace.ProcessIFCIndexedPolygonalFace(facesHnd));
                }
            }
        }
Exemplo n.º 2
0
        public static IFCIndexedPolygonalFace ProcessIFCIndexedPolygonalFace(IFCAnyHandle ifcIndexedPolygonalFace)
        {
            if (IFCAnyHandleUtil.IsNullOrHasNoValue(ifcIndexedPolygonalFace))
            {
                Importer.TheLog.LogNullError(IFCEntityType.IfcIndexedPolygonalFace);
                return(null);
            }

            IFCEntity indexedPolygonalFace;

            if (!IFCImportFile.TheFile.EntityMap.TryGetValue(ifcIndexedPolygonalFace.StepId, out indexedPolygonalFace))
            {
                indexedPolygonalFace = new IFCIndexedPolygonalFace(ifcIndexedPolygonalFace);
            }
            return(indexedPolygonalFace as IFCIndexedPolygonalFace);
        }