gazebosim/gz-common

Make it possible to supply custom MeshLoader

Open

#404 opened on Jul 28, 2022

View on GitHub
 (5 comments) (0 reactions) (0 assignees)C++ (59 forks)auto 404
enhancementgraphicshelp wanted

Repository metrics

Stars
 (28 stars)
PR merge metrics
 (PR metrics pending)

Description

Desired behavior

A developer using Gazebo could choose to supply a custom MeshLoader. The choice of MeshLoader could be determined by file extensions. More elaborate choice logic could be considered too.

Alternatives considered

N/A

Implementation suggestion

If we determine MeshLoader by file extensions, replace the current hard-coded logic in MeshManager with a choice logic backed by a hash map.

Additional context

Using the current snapshot of https://github.com/gazebosim/gz-common/tree/luca/assimp_sandbox as an example. The following was added to MeshManager

else if (extension == "gltf" || extension == "glb" || extension == "fbx")
      loader = &this->dataPtr->assimpLoader;

If one could choose to use Assimp for other file types (as determined by extensions), it's more flexible.

Contributor guide