// IIfcIndexedPolygonalFace indexFace; public XbimFaceBoundSet(IIfcIndexedPolygonalFace face, IIfcCartesianPointList3D coordinates, IItemSet <IfcPositiveInteger> pnIndex) { // indexFace = face; if (face is IIfcIndexedPolygonalFaceWithVoids) { var faceWithVoids = (IIfcIndexedPolygonalFaceWithVoids)face; faceBounds = new XbimPolygonalFaceBound[faceWithVoids.InnerCoordIndices.Count + 1]; faceBounds[0] = new XbimPolygonalFaceBound(faceWithVoids.CoordIndex, coordinates, pnIndex); for (int i = 0; i < faceWithVoids.InnerCoordIndices.Count; i++) { faceBounds[i + 1] = new XbimPolygonalFaceBound(faceWithVoids.InnerCoordIndices[i], coordinates, pnIndex); } } else //there will just be one { faceBounds = new[] { new XbimPolygonalFaceBound(face.CoordIndex, coordinates, pnIndex) }; } }
public XbimPolygonalFace(IIfcIndexedPolygonalFace polygonalFace, IIfcCartesianPointList3D coordinates, IItemSet <IfcPositiveInteger> pnIndex) { this.polygonalFace = polygonalFace; this.coordinates = coordinates; this.pnIndex = pnIndex; }