3drepo / 3drepobouncer

A C++ library providing 3D Repo Scene Graph definition, repository management logic and manipulation logic. It is is essentially the refactored 3DRepoCore and (parts of) 3DRepoGUI
GNU Affero General Public License v3.0
29 stars 13 forks source link

Issue 666 - add support for RepoBundles #677

Closed sebjf closed 6 months ago

sebjf commented 6 months ago

This fixes #666 - Add support for RepoBundles

Description

This PR contains mainly minor changes required to integrate AssetGenerator.

AssetGenerator is an optional dependency that can be turned off (turned on by default) with the REPO_ASSETGENERATOR_SUPPORT CMake flag. AssetGenerator will create RepoBundles, which are documented its own repository, after the stash scene is created.

The changes made to bouncer to support this are:

  1. The cmake project and build scripts have been updated to include AssetGenerator as a git submodule
  2. A new attribute array, ids, has been added to MeshNode
  3. The unityAssets.json schema has been extended, and it now updates instead of replacing the document in the database.
  4. The _RepoVector3D constructor has been adjusted so it can be initialised by value (it makes a copy of the reference immediately anyway), and the type has been given two new members.
  5. repo_color4d_t has been given new members.
  6. PropertyTree::addToTree has support for repo_color4d_t added.
  7. Assimp no longer initialises unknowns to nans, as these are used in calculations which can result in invalid json.