Example #1
0
        private IfcFace AddFace(bool orientation, XbimFaceTypeEnum type)
        {
            _actualFaceType = type;

            _face = GetFace(type);
            _faces.Add_Reversible(_face);

            //if (_face.Bounds == null) _face.Bounds = new XbimSet<IfcFaceBound>();

            IfcFaceBound faceBound = _document.Model.Instances.New<IfcFaceBound>();
            _face.Bounds.Add_Reversible(faceBound);

            faceBound.Orientation = orientation;
            IfcPolyLoop polyLoop = _document.Model.Instances.New<IfcPolyLoop>();
            faceBound.Bound = polyLoop;

            //if (polyLoop.Polygon == null) polyLoop.Polygon = new XbimListUnique<IfcCartesianPoint>();
            _newPoints = polyLoop.Polygon;

            return _face;
        }
Example #2
0
 private IfcFace GetFace(XbimFaceTypeEnum type)
 {
     switch (type)
     {
         case XbimFaceTypeEnum.POLYLOOP_BOUNDED: return _document.Model.Instances.New<IfcFace>();
         case XbimFaceTypeEnum.PLANE_SURFACE: return _document.Model.Instances.New<IfcFaceSurface>();
         case XbimFaceTypeEnum.TRIANGLE: return _document.Model.Instances.New<IfcFace>();
         default:
             return _document.Model.Instances.New<IfcFace>();
     }
 }