feat: Added bindings for ProductManifold#88
Conversation
Signed-off-by: Gilbert Tanner <gilberttanner.work@gmail.com>
B1ueber2y
left a comment
There was a problem hiding this comment.
Thank you!! I m wondering if it is really necessary to rewrite everything instead of directly binding the ceres::ProductManifold out. I guess you tried it but did not manage to get it working. Can you clarify what was the blocker?
On the other hand, re your PR description, this feature is highly useful not only for IMU but also in general as colmap::Rigid3d uses a single parameter block since the 4.0.0 release.
Thanks for the review. Honestly, I'm not super familiar with pybind11, and therefore don't know how to best bind variadic class templates. template <typename Manifold0, typename Manifold1, typename... ManifoldN>
class ProductManifold final : public Manifold { ... }; My first try was to just bind |
|
Relevant docs: https://pybind11.readthedocs.io/en/stable/advanced/classes.html#binding-classes-with-template-parameters
|
|
I see. Sounds good. Let s go with the current way then. Reminder not to forget to format. |
|
Tried to implement the changes and also applied formating with |
B1ueber2y
left a comment
There was a problem hiding this comment.
Thank you. The formatting CI still failed though. Please make sure that your clang-format version matches the one used in this CI (which might be different from what is used in colmap).
Signed-off-by: Gilbert Tanner <gilberttanner.work@gmail.com>
b364388 to
af106cc
Compare
|
Just checked again and now used the provided |
Adds bindings for
ProductManifold, needed by the COLMAP IMU demo (colmap/colmap#2625) and more generally useful sincecolmap::Rigid3dbecame a parameter block in 4.0.0.