Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

WIP: Alternate model management system. #2875

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

hoytak
Copy link
Collaborator

@hoytak hoytak commented Dec 21, 2019

This class proposes a new method for managing extensions. It is meant
to replace the bulky and unweildy macro system in use currently.

The new code is contained in src/model_server_v2/.

This is meant to replace the 5K lines of very complicated code surrounding the toolkit_macros and unity server.

Features:

  • Far more concise implementation using native C++11.
  • Macros are now isolated to class registration and function registration.
  • Registration is now performed by a single macro call in header or source file.
  • Proper overloading of const methods.
  • Registration of methods performed by calls in the constructor; no need for a separate macro section.
  • A singleton global model server to replace unity_global (eventually).

Integration plan:

  1. Get feedback on this version, iterate.
  2. Implement save, load, and other methods needed for full unity integration.
  3. Set this as a "fallover" model server -- if a model is not present in unity_global, look for it in this one.
  4. Incrementally move models over to this version.
  5. Remove unity global when all models are converted.

Review notes:

Begin reviewing it by looking at the examples in demo.cpp. This is a fully working example of what the registration looks like.

This class proposes a new method for managing extensions.  It is meant
to replace the bulky and unweildy macro system in use currently.

The new code is contained in model_server_v2.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant