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

Add more option types #1570

Open
4 tasks
mwestphal opened this issue Aug 20, 2024 · 3 comments
Open
4 tasks

Add more option types #1570

mwestphal opened this issue Aug 20, 2024 · 3 comments
Labels
help wanted Please help with this issue! source:libf3d
Milestone

Comments

@mwestphal
Copy link
Contributor

mwestphal commented Aug 20, 2024

Is your feature request related to a problem? Please describe.
Options generation from .json file was added in #1471, but only a few types were added:

  • bool
  • int
  • double
  • ratio
  • double_vector
  • string

Lets add more types.

  • direction (specialisation of double_vector): Add a direction type #1645
  • color (specialisation of double_vector)
  • path (specialisation of string)
  • rgba_colormap (specialisation of double_vector)

To add a type it is needed to:

  • Add it to types.h with the correct API
  • Add a naive parse/format methods to options_tools.h.in
  • Use it for at least one option in options.json
  • Add testing in TestSDKOptions*
@mwestphal mwestphal added source:libf3d help wanted Please help with this issue! labels Aug 20, 2024
@mwestphal mwestphal added this to the 3.1.0 milestone Aug 20, 2024
mwestphal added a commit that referenced this issue Aug 20, 2024
Complete refactor of options API based on generated struct and methods from a `options.json` file.

 - Add struct and methods generation code in f3dOptions.cmake
 - Add generation in library/CMakeLists.txt
 - Add options.json containing all options
 - Add new API in options.h and implement it in options.cxx, remove old API
 - Adapt code in library and in app for the new API
 - Add options testing
 - Added a quick doc about the three APIs and in header docs
 - Add a C++11 compatibility
 - Added examples
 - Improve clang-format CI and update files accordingly
 
Will be done in other PRs:

 - Add deprecation logic in generation code: #1568
 - Rework application and simplify option logic: #1569
 - Add more options types : #1570
 - Add actual parsing for all options types: #1571
 - Add complete documentation for options and option parsing: #1572
 - Proper java and javascript bindings: #1573 #1574
 - use exception translator in python bindings: #1575
  - Improve compile-time opti in options_tools.h.in:  #1576
Nokse22 pushed a commit to Nokse22/f3d that referenced this issue Sep 21, 2024
Complete refactor of options API based on generated struct and methods from a `options.json` file.

 - Add struct and methods generation code in f3dOptions.cmake
 - Add generation in library/CMakeLists.txt
 - Add options.json containing all options
 - Add new API in options.h and implement it in options.cxx, remove old API
 - Adapt code in library and in app for the new API
 - Add options testing
 - Added a quick doc about the three APIs and in header docs
 - Add a C++11 compatibility
 - Added examples
 - Improve clang-format CI and update files accordingly
 
Will be done in other PRs:

 - Add deprecation logic in generation code: f3d-app#1568
 - Rework application and simplify option logic: f3d-app#1569
 - Add more options types : f3d-app#1570
 - Add actual parsing for all options types: f3d-app#1571
 - Add complete documentation for options and option parsing: f3d-app#1572
 - Proper java and javascript bindings: f3d-app#1573 f3d-app#1574
 - use exception translator in python bindings: f3d-app#1575
  - Improve compile-time opti in options_tools.h.in:  f3d-app#1576
@Yogesh9000
Copy link
Contributor

Is this issue still open? If it is I would like to work on it.

@mwestphal
Copy link
Contributor Author

Yes it is open! Lets discuss this one discord though :)

@Yogesh9000
Copy link
Contributor

sure lets discuss on discord

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Please help with this issue! source:libf3d
Projects
Status: No status
Development

No branches or pull requests

2 participants