helios icon indicating copy to clipboard operation
helios copied to clipboard

Update HELIOS++ core

Open albertoesmp opened this issue 3 years ago • 0 comments

Problem A few HELIOS++ core components are obsolete. They are complicating code maintenance, implementation of new features and causing performance problems for both CPU and RAM.

Solution Update most critical components so it is possible and easier to extend and maintain HELIOS++ in the future.

Tasks

  • [x] Replace file management (there is an issue related to this)
  • [ ] Improve asset handling/management so it is possible to keep in memory used geometry while tracking next one on disk to load it when necessary. Typical algorithms from computer graphics should do the trick.
  • [ ] Get rid of GLM library replacing it by armadillo
  • [ ] Get rid of quaternions and use rigid motions instead to simulate platform motion
  • [ ] Change how primitives are stored so vertices and normals are allocated in contiguous memory blocks through armadillo matrices
  • [ ] Update scene parts filters to use rigid motions and custom scale instead to prevent redundant and confusing implementation
  • [ ] Remove unnecessary vertex information (color and texture coordinates). Preserve color as a scene part component, for the sake of visual debugging.
  • [x] Implement a discrete<->continuous almost bijective transform module (almost bijective because some precision is lost when going from integers to reals) transform.
  • [ ] Replace all discrete<->continuous transforms scattered through code by calls to the discrete<->continuous module (moving platforms, oscillating mirror beam deflector, ...)
  • [x] Make tests return a non 0 exit code if at least one of them failed
  • [ ] Package code entry points, its logic and the help in the main package
  • [ ] Output simulation time with decimals
  • [ ] Update ThreadPool to be based on boost::thread_pool only (https://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/reference/thread_pool.html), if possible

Related issues File Management System issue

albertoesmp avatar Feb 08 '22 14:02 albertoesmp