symforce-org / symforce

Fast symbolic computation, code generation, and nonlinear optimization for robotics
https://symforce.org
Apache License 2.0
1.41k stars 145 forks source link

Simplify geo_factors_codegen w/ skip_dir_nesting #295

Open bradley-solliday-skydio opened 1 year ago

bradley-solliday-skydio commented 1 year ago

Previously, geo_factors_codegen.py was using an ad-hoc system of generating all the C++ factors into a factors folder. It did this by calling Codegen.generate_function to generate the code into a temporary file, read the file into a string, then re-wrote the string into the desired location. I assume this was to avoid all the fluff that's generated by default with Codegen.generate_function.

However, there is the skip_directory_nesting optional argument for Codegen.generate_function which does precisely that (I think the code in this file might have been written before that option was added).

So, to reduce confusion (such as the confusion I faced when I first started looking at this file) and complexity, I rewrote the code to instead use the skip_directory_nesting argument.

Topic: geo_factors_use_skip_directory_nesting

bradley-solliday-skydio commented 1 year ago

Reviews in this chain: └https://github.com/symforce-org/symforce/pull/295 Simplify geo_factors_codegen w/ skip_dir_nesting  └https://github.com/symforce-org/symforce/pull/294 Add diagonal & isotropic sqrt_infos in geo factors

bradley-solliday-skydio commented 1 year ago
# head base diff date summary
0 f9a6f2d0 4c368815 diff Feb 1 10:39 AM 1 file changed, 13 insertions(+), 56 deletions(-)