IFC Mesher Library Change History
Changes in release 18.2 (in progress)
- Now handling IFC advanced brep geometry in a IfcManifoldSolidBrep, with an open or closed shell. The IfcFace entities are trimmed and can be based on bspline surfaces, surfaces of revolution, simple analytics like plane, sphere, torus, etc. IfcTriangulatedFaceSets (tessellated geometry) are also converted to a RoseMeshFacetSet.
- The mesher now handles IFC curves, like IfcBSplineCurveWithKnots and IfcTrimmedCurve, bounded curves, circles, ellipses, etc. and turn them into lists of points for display.
- The IFC Viewer, now toggles between pan and rotate with the control key The mouse-wheel can now zoom. Can display wireframe and profile curves.
- Significant improvements to the trimming, particularly in the edge-cases with periodic surfaces, partial edges on non-periodic surfaces, and loops with non-manifold paths.
- Fixed issue with spiral NURBS surface that the faceter thought was flat because all the corner vertices happened to be coplanar.
- Added support for untrimmed periodic NURBS w/ singularities at U min/max
- Updated ifcmesh_get_precision to look handle special case in IfcGeometricRepresentationSubContext
- Refactoring code across the IfcMesh and StixMesh to partition the heavy algorithmic work for an eventual move into the RoseMath library. A variety of curve and surface utility classes with the Rose prefix have been added as part of this work.
- Changed the internal class prefix from Ifc -> IFC to avoid potential name conflicts with the IFC EXPRESS library.
- Added ifcmesh_builder class
- Renamed IfcMesh*::getRepresentation* -> getRep*
- Renamed vector and matrix helper operations so that they are consistent with those defined in the ROSE Math and STEP Helper libraries. ifcmesh_put ifcmesh_vec_put, ifcmesh_vec2d_put ifcmesh_vec_put ifcmesh_vec_put (no change) ifcmesh_vec_put_2d ifcmesh_vec2d_put ifcmesh_put_transform ifcmesh_xform_put ifcmesh_get_placement ifcmesh_xform_put ifcmesh_xform_put ifcmesh_xform_put (no change) ifcmesh_compose_transform ifcmesh_xform_compose
Changes in release 18.1 (2019-10-28)
- Version 18 Service Pack One release.
Changes in release 18.0 (2018-10-01)
- Version 18 release
- Update schema to IFC4x1
Changes in release 17.2 (2018-08-17)
- Associate mesh faces with links back to the original IFC face object where appropriate. Use ifcmesh_get_ifc_face() to get the object.
- Rename ifcmesh_get_facet_items() to ifcmesh_get_shell_items() and add a new ifcmesh_get_shell_item() function to access the values of the list, since sometimes they are repitems and sometimes they have nested selects that must be unwrapped.
- Improved handling of bad and missing data.
Changes in release 17.1 (2017-12-29)
- Update schema to IFC4 Addendum 2 TC1
- Update for roselib ABI changes, and retirement of custom all-atts ctors. Use the default ctor and individual attribute set functions to populate objects.
Changes in release 17.0 (2017-04-07)
- Major release, library renamed from ifcbim_ifcmesh to just ifcmesh.
Changes in release 16.10 (2016-11-02)
- Version bump for ncpack 16.22
Changes in release 16.9 (2016-06-01)
- Update for ST-Developer v16 SP4
Changes in release 16.8 (2016-03-30)
- When doing Delaunay triangularization of a polygon, guard against triangles that are outside of the original.
Changes in release 16.7 (2015-11-21)
- Version bump for ncpack 16.16
Changes in release 16.6 (2015-09-21)
- Update for ST-Developer v16 SP3
Changes in release 16.5 (2015-07-24)
- Update to use mesh definitions given by the rosemath library.
Changes in release 16.4 (2015-06-02)
- Now installing ifcmesh_style.h header.
Changes in release 16.3 (2015-04-29)
- Fixed symbol conflict with MAX/MIN on HPUX
- Added support for 2d the following 2D curves in profiles: circle, trimmed_curve, composite_curve, polyline, line
- Added support for IfcStyledItem and color resolution.
- Fixed core dump in viewer for NULL rep items.
Changes in release 16.2 (2015-04-17)
- Extended support for IfcFace instances with complex bounds.
- Added support for IfcShellBasedSurfaceModel instances
Changes in release 16.1 (2015-03-25)
- Corrected missing header file in MSI packaging.
Changes in release 16.0 (2015-03-23)
- Preview Release with initial documentation of the faceting API functions, the StixShell class for the mesh, and a sample program to facet all of the products in an IFC file.
- Implemented faceting for a few simple cases: extruded solids of rectangular, circular, or polyline profile, faceted_breps with triangle or quad facets
- Created XML shell export program (export_ifc_shapes.exe) to write mesh data in a simple XML format.
- Created simple IFC geometry viewer (ifcview.exe) as a test harness to display mesh data.