NumericalIntegration.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 // RBDyn
12 #include <rbdyn/config.hh>
13 
14 #include "Joint.h"
15 
16 namespace rbd
17 {
18 class MultiBody;
19 struct MultiBodyConfig;
20 
32 RBDYN_DLLAPI std::pair<Eigen::Quaterniond, bool> SO3Integration(const Eigen::Quaterniond & qi,
33  const Eigen::Vector3d & wi,
34  const Eigen::Vector3d & wD,
35  double step,
36  double relEps = 1e-12,
37  double absEps = std::numeric_limits<double>::epsilon(),
38  bool breakOnWarning = false);
39 
49 RBDYN_DLLAPI void jointIntegration(Joint::Type type,
50  const std::vector<double> & alpha,
51  const std::vector<double> & alphaD,
52  double step,
53  std::vector<double> & q,
54  double prec = 1e-10);
55 
64 RBDYN_DLLAPI void integration(const MultiBody & mb, MultiBodyConfig & mbc, double step, double prec = 1e-10);
65 
67 RBDYN_DLLAPI void sIntegration(const MultiBody & mb, MultiBodyConfig & mbc, double step, double prec = 1e-10);
68 
69 } // namespace rbd
rbd::Joint::Type
Type
Joint type.
Definition: Joint.h:39
rbd::sIntegration
RBDYN_DLLAPI void sIntegration(const MultiBody &mb, MultiBodyConfig &mbc, double step, double prec=1e-10)
safe version of
Joint.h
rbd::jointIntegration
RBDYN_DLLAPI void jointIntegration(Joint::Type type, const std::vector< double > &alpha, const std::vector< double > &alphaD, double step, std::vector< double > &q, double prec=1e-10)
rbd
Definition: common.h:20
rbd::integration
RBDYN_DLLAPI void integration(const MultiBody &mb, MultiBodyConfig &mbc, double step, double prec=1e-10)
rbd::SO3Integration
RBDYN_DLLAPI std::pair< Eigen::Quaterniond, bool > SO3Integration(const Eigen::Quaterniond &qi, const Eigen::Vector3d &wi, const Eigen::Vector3d &wD, double step, double relEps=1e-12, double absEps=std::numeric_limits< double >::epsilon(), bool breakOnWarning=false)