Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thread safety #125

Merged
merged 8 commits into from
May 31, 2022
Merged

Thread safety #125

merged 8 commits into from
May 31, 2022

Commits on May 19, 2022

  1. tbb

    pca006132 committed May 19, 2022
    Configuration menu
    Copy the full SHA
    2c1b52c View commit details
    Browse the repository at this point in the history

Commits on May 28, 2022

  1. meshID update

    Removed static vector for thread safety. Accessing the original mesh ID
    can now be done by `originalID[meshID]`, where `originalID` is a field
    of `MeshRelation`. Note that `meshID` will not be updated when a
    manifold is cloned. Instead, it is only used to identify triangles
    coming from different manifolds when doing boolean operations/compose.
    pca006132 committed May 28, 2022
    Configuration menu
    Copy the full SHA
    bd48946 View commit details
    Browse the repository at this point in the history
  2. faster ASSIMP build

    Disabled most of the importer/exporter formats by default, for faster
    development and CI.
    
    Note that you may need to CMakeCache.txt for this to take effect, as the
    options might be cached.
    pca006132 committed May 28, 2022
    Configuration menu
    Copy the full SHA
    d4be350 View commit details
    Browse the repository at this point in the history
  3. removed originalID from public API

    ... at the expense of the internal code becoming a bit less intuitive.
    The meshID in the internal API is purely internal, usually starting from
    0, which is used for differentiating between triangles coming from
    different meshes. originalID can map this internal meshID to the
    external meshID, and such mapping is automatically done when calling
    `GetMeshRelation`, so users don't have to care about this mapping.
    
    As a bonus, we don't need to deal with atomics when manipulating meshIDs
    internally: we can use whatever IDs we want as long as the mapping is
    preserved and distinct for triangles coming from different meshes.
    I also made the meshID modification code run in the device, which should
    be faster for larger meshes.
    pca006132 committed May 28, 2022
    Configuration menu
    Copy the full SHA
    5ef76f6 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2022

  1. Configuration menu
    Copy the full SHA
    1d7f22d View commit details
    Browse the repository at this point in the history
  2. documentation update

    pca006132 committed May 31, 2022
    Configuration menu
    Copy the full SHA
    93135d9 View commit details
    Browse the repository at this point in the history
  3. fixed todo

    pca006132 committed May 31, 2022
    Configuration menu
    Copy the full SHA
    7d19d38 View commit details
    Browse the repository at this point in the history
  4. build tbb on CI

    pca006132 committed May 31, 2022
    Configuration menu
    Copy the full SHA
    bc7f8dc View commit details
    Browse the repository at this point in the history