Pinocchio use context file to be build against specific scalar type. There are specific context file for python and C++ build. Both contains some overlapping code and should be merged.
This will allow to avoid code duplication, but also to use explicit template instantiation C++ library to build python bindings.
Context file are used:
To construct a python binding for a specific scalar type.
To construct explicitly template instantiate C++ Pinocchio function for specific scalar type (pinocchio_default, pinocchio_casadi, pinocchio_cppad, pinocchio_cppadcg).
Both context file all contains some redundant information:
Scalar to use
Function specialization for custom scalar
Typedef of main types with custom scalar
Include to manage custom scalar
Define to skip some algorithm not supported by a custom scalar type
The only part that should be keep splitted is the python specific part (eigenpy and pinocchio::python specialization).
Pinocchio use context file to be build against specific scalar type. There are specific context file for python and C++ build. Both contains some overlapping code and should be merged. This will allow to avoid code duplication, but also to use explicit template instantiation C++ library to build python bindings.
Context file are used:
Both context file all contains some redundant information:
The only part that should be keep splitted is the python specific part (eigenpy and pinocchio::python specialization).