pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
cppadcg.hpp
1//
2// Copyright (c) 2022 INRIA
3//
4
5#ifndef __pinocchio_context_cppadcg_hpp__
6#define __pinocchio_context_cppadcg_hpp__
7
8#include <cppad/cg/support/cppadcg_eigen.hpp>
9#include <cppad/cppad.hpp>
10
11#define PINOCCHIO_SKIP_ALGORITHM_MODEL
12#define PINOCCHIO_SKIP_ALGORITHM_GEOMETRY
13#define PINOCCHIO_SKIP_MULTIBODY_SAMPLE_MODELS
14
15namespace pinocchio
16{
17 // forward declarations which are necessary to include pinocchio/autodiff/cppadcg.hpp
18 template<typename _Scalar, int _Options>
19 struct MotionZeroTpl;
20 template<typename _Scalar, int _Options>
21 class ForceTpl;
22 template<typename _Scalar, int _Options>
23 class MotionTpl;
24 template<typename _Scalar, int _Options>
25 struct SE3Tpl;
26
27 template<typename Derived>
28 class ForceBase;
29 template<typename Derived>
30 class ForceDense;
31 template<typename Derived>
32 class MotionDense;
33 template<typename Vector6>
34 class MotionRef;
35
36 typedef MotionTpl<::CppAD::AD<CppAD::cg::CG<double>>, 0> Motion;
37
38 namespace internal
39 {
40 template<typename Class, typename NewScalar, typename Scalar>
41 struct cast_call_normalize_method;
42 template<typename Type, typename Scalar>
43 struct RHSScalarMultiplication;
44 template<typename Type, typename Scalar>
45 struct LHSScalarMultiplication;
46 } // namespace internal
47
48} // namespace pinocchio
49
50#include "pinocchio/codegen/cppadcg.hpp"
51#define PINOCCHIO_SCALAR_TYPE ::CppAD::AD<CppAD::cg::CG<double>>
52#include "pinocchio/context/generic.hpp"
53
54#undef PINOCCHIO_SCALAR_TYPE
55#endif // #ifndef __pinocchio_context_cppadcg_hpp__
Main pinocchio namespace.
Definition treeview.dox:11