public void ConvertIfcCylinderToBRepTest()
        {
            using (var m = XbimModel.CreateTemporaryModel())
            {
                using (var txn = m.BeginTransaction())
                {
                    var cylinder = IfcModelBuilder.MakeRightCircularCylinder(m, 10, 20);
                    var solid    = _xbimGeometryCreator.CreateSolid(cylinder);
                    var brep     = _xbimGeometryCreator.CreateFacetedBrep(m, solid);
                    var solid2   = _xbimGeometryCreator.CreateSolidSet(brep);

                    txn.Commit();
                    try
                    {
                        //Uncomment below to see the results in Ifc
                        //m.SaveAs("brep.ifc", XbimStorageType.IFC);
                    }
                    catch (Exception)
                    {
                        Assert.IsTrue(false, "Failed to save the results to Ifc");
                    }
                    Assert.IsTrue(solid2.Count == 1, "Expected one solid");
                    IfcCsgTests.GeneralTest(solid2.First);

                    Assert.IsTrue(brep.Outer.CfsFaces.Count == solid2.First.Faces.Count, "Number of faces in round tripped solid is not the same");
                }
            }
        }
 public void IfcRevolvedArea_To_Sphere()
 {
     using (var eventTrace = LoggerFactory.CreateEventTrace())
     {
         using (var m = new XbimModel())
         {
             m.CreateFrom(@"SolidTestFiles\BIM Logo-Coordination View 2 - No M.ifc", null, null, true, true);
             var ss = m.Instances.OfType <IfcRevolvedAreaSolid>().FirstOrDefault(e => e.EntityLabel == 290);
             Assert.IsTrue(ss != null, "No Revolved Area found");
             //  m.ModelFactors.DeflectionAngle = 0.1;
             //  m.ModelFactors.DeflectionTolerance = 0.1;
             var solid = _xbimGeometryCreator.CreateSolid(ss);
             Assert.IsTrue(eventTrace.Events.Count == 0); //no events should have been raised from this call
             var facetedSphere     = _xbimGeometryCreator.CreateFacetedBrep(m, solid);
             var shell             = _xbimGeometryCreator.CreateShell(facetedSphere.Outer);
             var xbimFacetedSphere = _xbimGeometryCreator.CreateSolidSet(facetedSphere);
             Assert.IsTrue(xbimFacetedSphere.Count == 1);
             //_xbimGeometryCreator.WriteTriangulation(Console.Out,solid, 0.001,0.5);
         }
     }
 }