Airspace-Encounter-Models / Airspace-Encounter-Models/em-core

[ENHANCEMENT] Update run_dynamics_fast to use C++ MEX API instead of C API with mxArray

Abierto
#13 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement good first issue help wanted
Lenguaje dominante
MATLAB
Estrellas
2
Forks
8
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Relation

The MATLAB mex function, [`run_dynamics_fast`](https://github.com/Airspace-Encounter-Models/em-core/blob/master/matlab/utilities-1stparty/runDynamicsFast/run_dynamics_fast.c) is used by multiple repositories, including `em-model-manned-bayes` to simulate aircraft trajectories with a 6DOF physics model.

The code currently uses the MATLAB C Matrix API which works with the [`mxArray`](https://www.mathworks.com/help/matlab/apiref/mxarray.html) data structure.

### Description

Update the software to use the more modern [C++ MEX API](https://www.mathworks.com/help/matlab/cpp-mex-file-applications.html). If appropriate, casts should be updated to modern C++ style as well, per the Google C++ Style Guide on [casting](https://google.github.io/styleguide/cppguide.html#Casting).

### Alternatives

The original source for `run_dynamics_fast` can be traced back to over a decade ago and the code does not take advantage of modern C++ features to improve robustness, efficiency, and ease of use. For long term substantiality of the code, an upgrade to the C++ MEX API is recommended.

### Additional

Issues #12 , #11 , #10 also address `run_dynamics_fast` but these other issues are expected to require significantly less resources to complete than this task focused on the C++ MEX API.

While the contributing guidelines does not define a style guide for C++, we currently recommend the [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) for this issue.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.