Updating to Version 19

In the v19 release, we restructured the STEP faceting library to move code shared with the IFC Faceter into the ROSE Math library. Some class and function names have moved but this will bring faster improvements across all of the libraries, while maintaining solid reliability.

The ROSE Math library has always provided the mesh data structures used by both faceting libraries, but now that IFC4 handles spline surfaces and boundary representations, we have consolidated algorithms used by both into the common math library. The class and function name changes are listed in the table below. There have been no changes to the list of libraries that you need to link in.

The StixMeshStpAsyncMaker class was retired in favor of a simpler set of worker functions. These distribute the faceting to a series of background threads and associate the builder and result with the STEP object. See the demonstration programs for examples.

Old Definition New Definition Notes
#include <stixmesh_stp.h> #include <stixmesh_builder.h>
RoseMeshFacetSet RoseMesh This is the core class of the meshing API.
StixMeshStp StixMesh Now a subtype of RoseMesh.
StixMeshStp::getFace() StixMesh::getStpFace()
StixMeshStp::getFaceInfo(stp_representation_item *) StixMesh::getFaceInfoFromStp()
StixMeshStp::getFacetSet() none, use object directly StixMeshStp was was a stand-alone object with a reference to a mesh, now StixMesh is a mesh that can be used directly.
StixMeshStpAsyncMaker stixmesh_worker_render(),
stixmesh_worker_render_design()
Also associates builders with the STEP objects so the stixmesh_cache functions are no longer needed.
StixMeshStpBuilder StixMeshBuilder Now a subtype of RoseMeshBuilder, which provides the general worker API.
StixMeshStpBuilder::getCompleteStpMesh() StixMeshBuilder::getStpMesh()
StixMeshStpFace RoseMeshFaceInfo
StixMeshOptions RoseMeshOptions
StixMeshSurface RoseSurface The STEP-specific logic is now in stixmesh_new_surface() that makes a RoseSurface for a given STEP surface.
StixMeshRenderState RoseMeshRenderingState enum renamed along with symbols as below
STIXMESH_BEFORE ROSE_MESH_BEFORE
STIXMESH_RUNNING ROSE_MESH_RUNNING
STIXMESH_GOOD ROSE_MESH_GOOD
STIXMESH_ERROR ROSE_MESH_ERROR
STIXMESH_CANCELED ROSE_MESH_CANCELED