public XbimShapeGeometry CreateShapeGeometry(IXbimGeometryObject geometryObject, double precision, double deflection, double angle, XbimGeometryType storageType, ILogger logger) { using (new Tracer(LogHelper.CurrentFunctionName(), this._logger, geometryObject)) { return(_engine.CreateShapeGeometry(geometryObject, precision, deflection, angle, storageType, logger)); } }
public void Advanced_brep_with_sewing_issues() { using (var model = MemoryModel.OpenRead(@"TestFiles\advanced_brep_with_sewing_issues.ifc")) { //this model needs workarounds to be applied model.AddWorkAroundSurfaceofLinearExtrusionForRevit(); var brep = model.Instances.OfType <IIfcAdvancedBrep>().FirstOrDefault(); Assert.IsNotNull(brep, "No IIfcAdvancedBrep found"); var solids = geomEngine.CreateSolidSet(brep, logger); var shapeGeom = geomEngine.CreateShapeGeometry(solids, model.ModelFactors.Precision, model.ModelFactors.DeflectionTolerance, model.ModelFactors.DeflectionAngle, XbimGeometryType.PolyhedronBinary, logger); Assert.IsTrue(solids.Count == 2, "This set should have 2 solids"); Assert.IsTrue(solids.First().Faces.Count == 37, "Solid 0 should have 37 faces"); } }
public XbimShapeGeometry CreateShapeGeometry(IXbimGeometryObject geometryObject, double precision, double deflection, double angle, XbimGeometryType storageType) { return(_engine.CreateShapeGeometry(geometryObject, precision, deflection, angle, storageType)); }