Changes in release 19.1 (2022-02-01)
- Version 19 Service Pack One release.
- Added mesh support for voids in IfcIndexedPolygonalFaceWithVoids.
Changes in release 19.0 (2021-07-19)
- Version 19 release.
- Renamed from ifcmesh because it is both meshing and extensions library for IFC. Meshing API has been greatly simplified, see ifcx_mesh_make() and ifcx_mesh_make_all() for details.
- Added support for all Parameterized Profiles on extruded solids: Plain and Hollow Circle, Plain, Hollow, and Rounded Rectangle, Ellipse, Trapezoid, C, I, Asymmetric I, L, T, U, and Z Shapes. Also derived, mirrored, and centerline profiles.
- 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 RoseMesh.
- 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.
- Renamed IfcMesh*::getRepresentation* -> getRep*
- Changed the internal class prefix from Ifc -> Ifcx, and ifcx_ for consistency and to avoid name conflicts with IFC EXPRESS classes. Renamed vector and matrix operations to match the ROSE and STEP libraries. ifcmesh_put ifcx_vec_put, ifcx_vec2d_put ifcmesh_vec_put ifcx_vec_put ifcmesh_vec_put_2d ifcx_vec2d_put ifcmesh_put_transform ifcx_xform_put ifcmesh_get_placement ifcx_xform_put ifcmesh_xform_put ifcx_xform_put ifcmesh_compose_transform ifcx_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.