Python bindings with Eigen::Ref
I have created extra code inside the c++ abstract classes in order to overload the Eigen::Ref
functions. The main reason is that Crocoddyl needs to deal with pointers of this classes, e.g.
-
ShootingProblem
with action models and datas. -
ActionModelAbstract
with states. -
IntegratedActionModelEuler
with action models, etc.
And with a wrapper class (or eigen::ref
) in boost python is not possible to retrieve these pointers, e.g.
-
runningModels
,terminalModel
,runningDatas
andterminalData
from shooting problem. -
State
from action models. -
differential
from Euler integrator, etc.
I agree with @jcarpent (https://gepgitlab.laas.fr/loco-3d/crocoddyl/commit/fc5a6e740b25f912d16b9af38375430bb583988a#note_5552) that this is not a very elegant solution. However EigenPy is not compatible with Eigen::Ref
.
The solution will be delivered whenever Eigen::Ref feature of EigenPy are available in robotpkg.