personalrobotics / dartpy

:dart: :snake: Python bindings for the Dynamic Animation and Robotics Toolkit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bindings for non-member functions are not generated

jslee02 opened this issue · comments

All the bindings for static functions in SkelParser, VskParser, and SdfParser are not generated. It seems this is not about namespace because bindings for dart::utils::VskParser::Options is generated.

  • Tested branch: dart-6.3

Hmm, that's odd. If they are not being generated automatically, then chimera should definitely throw a warning indicating why they are not generated. If we pipe the stderr to a file, can we grep for their function names?

There were no warnings about it. Here is the output: https://gist.github.com/jslee02/d97bab48d55b87abc974a9ac3b458625

Testing further, it seems Chimera generates non-member functions in DART only when the definitions are defined in the header (static/inline function or template function).

More weird thing is that the test in Chimera can generate a function even when the definition is not defined in the header. I'm pretty sure I'm using the same Chimera. The behavior of the Chimera test is the same.

I've tested the above cases changing other aspects like a different level of namespaces, return type, argument type, but none of the non-member function in DART is not being generated without any warnings about it.

This issue is reported to the upstream as well: personalrobotics/chimera#168