Math ClassesΒΆ
RaiSim provides its own math library.
All files related to the math library can be found in raisim/math.
I do not recommend using RaiSim math library to users.
But many RaiSim methods return a RaiSim math object.
In such a case, you have to convert it to an Eigen object.
RaiSim includes a convenient conversion method in the Mat class: e()
method returns the corresponding Eigen::Map
.
Here is an example.
/// convertsion from a raisim object to an Eigen object (i.e., Eigen::Map)
raisim::Mat<3,3> matrix33RaiSim;
matrix33RaiSim.setIdentity();
Eigen::Matrix3d matrix33Eigen = matrix33RaiSim.e();
std::cout<<"matrix33Eigen\n"<<matrix33Eigen<<std::endl; // pretty std output formatting is not implemented yet. So we use Eigen's
/// use a raisim object as if it is an Eigen object
Eigen::Vector3d vector3Eigen1, vector3Eigen2;
vector3Eigen1.setConstant(1);
vector3Eigen2 = matrix33RaiSim.e() * vector3Eigen1;
std::cout<<"vector3Eigen2\n"<<vector3Eigen2<<std::endl;