16 #ifndef SURGSIM_MATH_MATHCONVERT_H
17 #define SURGSIM_MATH_MATHCONVERT_H
20 #include <Eigen/Geometry>
22 #include <yaml-cpp/yaml.h>
47 template <
typename Type,
int Rows,
int Cols,
int MOpt>
50 static Node encode(
const typename Eigen::Matrix<Type, Rows, Cols, MOpt>& rhs);
51 static bool decode(
const Node& node,
typename Eigen::Matrix<Type, Rows, Cols, MOpt>& rhs);
56 template <
class Type,
int Rows,
int MOpt>
59 static Node encode(
const typename Eigen::Matrix<Type, Rows, 1, MOpt>& rhs);
60 static bool decode(
const Node& node,
typename Eigen::Matrix<Type, Rows, 1, MOpt>& rhs);
65 template <
class Type,
int QOpt>
68 static Node encode(
const typename Eigen::Quaternion<Type, QOpt>& rhs);
69 static bool decode(
const Node& node,
typename Eigen::Quaternion<Type, QOpt>& rhs);
74 template <
class Type,
int Dim,
int TMode,
int TOptions>
75 struct convert<typename
Eigen::Transform<Type, Dim, TMode, TOptions>>
77 static Node encode(
const typename Eigen::Transform<Type, Dim, TMode, TOptions>& rhs);
78 static bool decode(
const Node& node,
typename Eigen::Transform<Type, Dim, TMode, TOptions>& rhs);
84 static Node encode(
const std::shared_ptr<SurgSim::Math::Shape>& rhs);
85 static bool decode(
const Node& node, std::shared_ptr<SurgSim::Math::Shape>& rhs);
98 #endif // SURGSIM_MATH_MATHCONVERT_H
Definition: DriveElementFromInputBehavior.cpp:27
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > Matrix
A dynamic size matrix.
Definition: Matrix.h:65
Definition: MathUtilities.h:94
SurgSim::Math::Matrix44f convert(boost::any val)
Specialization for convert() to correctly cast Matrix44d to Matrix44f, will throw if the val is no...
Definition: Accessible.cpp:199
IntegrationScheme
The diverse numerical integration scheme supported Each Ode Solver should have its own entry in this ...
Definition: OdeSolver.h:36
Definition: DataStructuresConvert.h:28
#define SURGSIM_DOUBLE_SPECIALIZATION
Definition: Macros.h:44