Loading...
Searching...
No Matches
IDIM.h
Go to the documentation of this file.
1/*
2 * Copyright 2012-2019 CNRS-UM LIRMM, CNRS-AIST JRL
3 */
4
5#pragma once
6
7// includes
8// std
9#include <vector>
10
11// SpaceVecAlg
12#include <rbdyn/config.hh>
13
14#include <SpaceVecAlg/SpaceVecAlg>
15
16namespace rbd
17{
18class MultiBody;
19struct MultiBodyConfig;
20
22RBDYN_DLLAPI Eigen::Matrix<double, 6, 10> IMPhi(const sva::MotionVecd & mv);
23
29RBDYN_DLLAPI Eigen::Matrix<double, 10, 1> inertiaToVector(const sva::RBInertiad & rbi);
30
32RBDYN_DLLAPI sva::RBInertiad vectorToInertia(const Eigen::Matrix<double, 10, 1> & vec);
33
38RBDYN_DLLAPI sva::RBInertiad sVectorToInertia(const Eigen::VectorXd & vec);
39
43RBDYN_DLLAPI Eigen::VectorXd multiBodyToInertialVector(const rbd::MultiBody & mb);
44
58class RBDYN_DLLAPI IDIM
59{
60public:
61 IDIM() {}
63 IDIM(const rbd::MultiBody & mb);
64
71 void computeY(const rbd::MultiBody & mb, const rbd::MultiBodyConfig & mbc);
72
74 const Eigen::MatrixXd & Y() const
75 {
76 return Y_;
77 }
78
79 // safe version for python binding
80
84 void sComputeY(const rbd::MultiBody & mb, const rbd::MultiBodyConfig & mbc);
85
86private:
87 Eigen::MatrixXd Y_;
88};
89
90} // namespace rbd
Definition IDIM.h:59
void sComputeY(const rbd::MultiBody &mb, const rbd::MultiBodyConfig &mbc)
const Eigen::MatrixXd & Y() const
Return the Y matrix.
Definition IDIM.h:74
IDIM(const rbd::MultiBody &mb)
void computeY(const rbd::MultiBody &mb, const rbd::MultiBodyConfig &mbc)
IDIM()
Definition IDIM.h:61
Definition MultiBody.h:30
Definition common.h:21
RBDYN_DLLAPI sva::RBInertiad sVectorToInertia(const Eigen::VectorXd &vec)
RBDYN_DLLAPI Eigen::VectorXd multiBodyToInertialVector(const rbd::MultiBody &mb)
RBDYN_DLLAPI Eigen::Matrix< double, 6, 10 > IMPhi(const sva::MotionVecd &mv)
Return the IMPhi matrix that compute I*m = IMPhi(m)*phi_i.
RBDYN_DLLAPI Eigen::Matrix< double, 10, 1 > inertiaToVector(const sva::RBInertiad &rbi)
RBDYN_DLLAPI sva::RBInertiad vectorToInertia(const Eigen::Matrix< double, 10, 1 > &vec)
Convert a phi vector into a RBInertiad.
Definition MultiBodyConfig.h:24