Loading...
Searching...
No Matches
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
16namespace rbd
17{
18class MultiBody;
19struct MultiBodyConfig;
20
32RBDYN_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
49RBDYN_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
64RBDYN_DLLAPI void integration(const MultiBody & mb, MultiBodyConfig & mbc, double step, double prec = 1e-10);
65
67RBDYN_DLLAPI void sIntegration(const MultiBody & mb, MultiBodyConfig & mbc, double step, double prec = 1e-10);
68
69} // namespace rbd
Type
Joint type.
Definition Joint.h:40
Definition MultiBody.h:30
Definition common.h:21
RBDYN_DLLAPI void sIntegration(const MultiBody &mb, MultiBodyConfig &mbc, double step, double prec=1e-10)
safe version of
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)
RBDYN_DLLAPI void integration(const MultiBody &mb, MultiBodyConfig &mbc, double step, double prec=1e-10)
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)
Definition MultiBodyConfig.h:24