pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
generic.hpp
1//
2// Copyright (c) 2021-2024 INRIA
3//
4
5#ifndef __pinocchio_python_context_generic_hpp__
6#define __pinocchio_python_context_generic_hpp__
7
8#include "pinocchio/fwd.hpp"
9#include "pinocchio/spatial/fwd.hpp"
10#include "pinocchio/multibody/fwd.hpp"
11#include "pinocchio/algorithm/fwd.hpp"
12#include "pinocchio/algorithm/constraints/fwd.hpp"
13
14#ifdef PINOCCHIO_PYTHON_INTERFACE_WITH_OPENMP
15 #include "pinocchio/multibody/pool/fwd.hpp"
16 #ifdef PINOCCHIO_WITH_HPP_FCL
17 #include "pinocchio/collision/pool/fwd.hpp"
18 #endif
19#endif
20
21#include <eigenpy/eigen-typedef.hpp>
22
23#include <Eigen/Sparse>
24
25namespace pinocchio
26{
27 namespace python
28 {
29
30 // Forward declaration
31 boost::python::object getScalarType();
32 void exposeSpecificTypeFeatures();
33
34 namespace context
35 {
36
37 typedef PINOCCHIO_PYTHON_SCALAR_TYPE Scalar;
38 enum
39 {
40 Options = 0
41 };
42
43 // Eigen
44 EIGENPY_MAKE_TYPEDEFS_ALL_SIZES(Scalar, Options, s);
45 typedef Eigen::SparseMatrix<Scalar> SparseMatrix;
46 typedef Eigen::SparseMatrix<Scalar, Eigen::RowMajor> RowSparseMatrix;
47 typedef Eigen::Matrix<Scalar, 1, 1, Options, 1, 1> Matrix1s;
48 typedef Eigen::Matrix<Scalar, 7, 1, Options> Vector7s;
49 typedef Eigen::Quaternion<Scalar, Options> Quaternion;
50 typedef Eigen::AngleAxis<Scalar> AngleAxis;
51
52 // Spatial
53 typedef SE3Tpl<Scalar, Options> SE3;
54 typedef MotionTpl<Scalar, Options> Motion;
55 typedef ForceTpl<Scalar, Options> Force;
56 typedef InertiaTpl<Scalar, Options> Inertia;
57 typedef PseudoInertiaTpl<Scalar, Options> PseudoInertia;
58 typedef LogCholeskyParametersTpl<Scalar, Options> LogCholeskyParameters;
59 typedef Symmetric3Tpl<Scalar, Options> Symmetric3;
60
61 // Multibody
62 typedef FrameTpl<Scalar, Options> Frame;
63 typedef ModelTpl<Scalar, Options> Model;
64 typedef DataTpl<Scalar, Options> Data;
65
66 typedef JointCollectionDefaultTpl<Scalar, Options> JointCollectionDefault;
67
68 // Joints
69 typedef JointModelTpl<Scalar, Options> JointModel;
70 typedef JointDataTpl<Scalar, Options> JointData;
71
72 typedef JointDataRevoluteTpl<Scalar, Options, 0> JointDataRX;
73 typedef JointModelRevoluteTpl<Scalar, Options, 0> JointModelRX;
74
75 typedef JointDataRevoluteTpl<Scalar, Options, 1> JointDataRY;
76 typedef JointModelRevoluteTpl<Scalar, Options, 1> JointModelRY;
77
78 typedef JointDataRevoluteTpl<Scalar, Options, 2> JointDataRZ;
79 typedef JointModelRevoluteTpl<Scalar, Options, 2> JointModelRZ;
80
81 typedef JointModelRevoluteUnalignedTpl<Scalar> JointModelRevoluteUnaligned;
82 typedef JointDataRevoluteUnalignedTpl<Scalar> JointDataRevoluteUnaligned;
83
84 typedef JointDataRevoluteUnboundedTpl<Scalar, Options, 0> JointDataRUBX;
85 typedef JointModelRevoluteUnboundedTpl<Scalar, Options, 0> JointModelRUBX;
86
87 typedef JointDataRevoluteUnboundedTpl<Scalar, Options, 1> JointDataRUBY;
88 typedef JointModelRevoluteUnboundedTpl<Scalar, Options, 1> JointModelRUBY;
89
90 typedef JointDataRevoluteUnboundedTpl<Scalar, Options, 2> JointDataRUBZ;
91 typedef JointModelRevoluteUnboundedTpl<Scalar, Options, 2> JointModelRUBZ;
92
93 typedef JointModelRevoluteUnboundedUnalignedTpl<Scalar> JointModelRevoluteUnboundedUnaligned;
94 typedef JointDataRevoluteUnboundedUnalignedTpl<Scalar> JointDataRevoluteUnboundedUnaligned;
95
96 typedef JointModelSphericalTpl<Scalar> JointModelSpherical;
97 typedef JointDataSphericalTpl<Scalar> JointDataSpherical;
98
99 typedef JointModelSphericalZYXTpl<Scalar> JointModelSphericalZYX;
100 typedef JointDataSphericalZYXTpl<Scalar> JointDataSphericalZYX;
101
102 typedef JointDataPrismaticTpl<Scalar, Options, 0> JointDataPX;
103 typedef JointModelPrismaticTpl<Scalar, Options, 0> JointModelPX;
104
105 typedef JointDataPrismaticTpl<Scalar, Options, 1> JointDataPY;
106 typedef JointModelPrismaticTpl<Scalar, Options, 1> JointModelPY;
107
108 typedef JointDataPrismaticTpl<Scalar, Options, 2> JointDataPZ;
109 typedef JointModelPrismaticTpl<Scalar, Options, 2> JointModelPZ;
110
111 typedef JointModelPrismaticUnalignedTpl<Scalar> JointModelPrismaticUnaligned;
112 typedef JointDataPrismaticUnalignedTpl<Scalar> JointDataPrismaticUnaligned;
113
114 typedef JointDataHelicalTpl<Scalar, Options, 0> JointDataHX;
115 typedef JointModelHelicalTpl<Scalar, Options, 0> JointModelHX;
116
117 typedef JointDataHelicalTpl<Scalar, Options, 1> JointDataHY;
118 typedef JointModelHelicalTpl<Scalar, Options, 1> JointModelHY;
119
120 typedef JointDataHelicalTpl<Scalar, Options, 2> JointDataHZ;
121 typedef JointModelHelicalTpl<Scalar, Options, 2> JointModelHZ;
122
123 typedef JointModelHelicalUnalignedTpl<Scalar> JointModelHelicalUnaligned;
124 typedef JointDataHelicalUnalignedTpl<Scalar> JointDataHelicalUnaligned;
125
126 typedef JointModelFreeFlyerTpl<Scalar> JointModelFreeFlyer;
127 typedef JointDataFreeFlyerTpl<Scalar> JointDataFreeFlyer;
128
129 typedef JointModelPlanarTpl<Scalar> JointModelPlanar;
130 typedef JointDataPlanarTpl<Scalar> JointDataPlanar;
131
132 typedef JointModelUniversalTpl<Scalar> JointModelUniversal;
133 typedef JointDataUniversalTpl<Scalar> JointDataUniversal;
134
135 typedef JointModelTranslationTpl<Scalar> JointModelTranslation;
136 typedef JointDataTranslationTpl<Scalar> JointDataTranslation;
137
138 typedef JointModelCompositeTpl<Scalar> JointModelComposite;
139 typedef JointDataCompositeTpl<Scalar> JointDataComposite;
140
141 typedef JointModelMimicTpl<Scalar> JointModelMimic;
142 typedef JointDataMimicTpl<Scalar> JointDataMimic;
143
144 // Algorithm
145 typedef ProximalSettingsTpl<Scalar> ProximalSettings;
146 typedef ContactCholeskyDecompositionTpl<Scalar, Options> ContactCholeskyDecomposition;
147
148 typedef RigidConstraintModelTpl<Scalar, Options> RigidConstraintModel;
149 typedef RigidConstraintDataTpl<Scalar, Options> RigidConstraintData;
150
151 typedef CoulombFrictionConeTpl<context::Scalar> CoulombFrictionCone;
152 typedef DualCoulombFrictionConeTpl<context::Scalar> DualCoulombFrictionCone;
153
154 typedef DelassusOperatorDenseTpl<Scalar, Options> DelassusOperatorDense;
155 typedef DelassusOperatorSparseTpl<Scalar, Options> DelassusOperatorSparse;
156
157 typedef PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(CoulombFrictionCone)
158 CoulombFrictionConeVector;
159 typedef PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(DualCoulombFrictionCone)
160 DualCoulombFrictionConeVector;
161 typedef PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintModel)
162 RigidConstraintModelVector;
163 typedef PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintData)
164 RigidConstraintDataVector;
165
166// Pool
167#ifdef PINOCCHIO_PYTHON_INTERFACE_WITH_OPENMP
168 typedef ModelPoolTpl<Scalar> ModelPool;
169
170 #ifdef PINOCCHIO_WITH_HPP_FCL
171 typedef GeometryPoolTpl<Scalar> GeometryPool;
172 #endif
173
174#endif
175
176 } // namespace context
177 } // namespace python
178} // namespace pinocchio
179
180#endif // #ifndef __pinocchio_python_context_generic_hpp__
Main pinocchio namespace.
Definition treeview.dox:11