Geometry.hh File Reference
#include <Eigen/Geometry>Go to the source code of this file.
Classes | |
| struct | FromPolicy< PolicyT > |
| This struct is used to conveniently convert from a policy to a geometric type. Example usage: More... | |
| struct | Wrench< Scalar, Dim > |
Namespaces | |
| namespace | gz |
| namespace | gz::physics |
Macros | |
| #define | DETAIL_GZ_PHYSICS_MAKE_BOTH_PRECISIONS(Type, Dim) |
| #define | GZ_PHYSICS_MAKE_ALL_TYPE_COMBOS(Type) |
| This macro defines the following types: Type2d // 2-dimensional version of Type with double precision Type2f // 2-dimensional version of Type with float precision Type3d // 3-dimensional version of Type with double precision Type3f // 3-dimensional version of Type with float precision. | |
Typedefs | |
| template<typename Scalar , std::size_t Dim> | |
| using | AlignedBox = Eigen::AlignedBox< Scalar, Dim > |
| using | AlignedBox2d = AlignedBox< double, 2 > |
| using | AlignedBox2f = AlignedBox< float, 2 > |
| using | AlignedBox3d = AlignedBox< double, 3 > |
| using | AlignedBox3f = AlignedBox< float, 3 > |
| template<typename Scalar , std::size_t Dim> | |
| using | AngularVector = Vector< Scalar,(Dim *(Dim-1))/2 > |
| using | AngularVector2d = AngularVector< double, 2 > |
| using | AngularVector2f = AngularVector< float, 2 > |
| using | AngularVector3d = AngularVector< double, 3 > |
| using | AngularVector3f = AngularVector< float, 3 > |
| template<typename Scalar , std::size_t Dim> | |
| using | LinearVector = Vector< Scalar, Dim > |
| using | LinearVector2d = LinearVector< double, 2 > |
| using | LinearVector2f = LinearVector< float, 2 > |
| using | LinearVector3d = LinearVector< double, 3 > |
| using | LinearVector3f = LinearVector< float, 3 > |
| template<typename Scalar , std::size_t Dim> | |
| using | Pose = Eigen::Transform< Scalar, Dim, Eigen::Isometry > |
| This is used by gz-physics to represent rigid body transforms in 2D or 3D simulations. The precision can be chosen as float or scalar. | |
| using | Pose2d = Pose< double, 2 > |
| using | Pose2f = Pose< float, 2 > |
| using | Pose3d = Pose< double, 3 > |
| using | Pose3f = Pose< float, 3 > |
| template<typename Scalar , std::size_t Dim> | |
| using | Vector = Eigen::Matrix< Scalar, Dim, 1 > |
| using | Vector2d = Vector< double, 2 > |
| using | Vector2f = Vector< float, 2 > |
| using | Vector3d = Vector< double, 3 > |
| using | Vector3f = Vector< float, 3 > |
| using | Wrench2d = Wrench< double, 2 > |
| using | Wrench2f = Wrench< float, 2 > |
| using | Wrench3d = Wrench< double, 3 > |
| using | Wrench3f = Wrench< float, 3 > |
Functions | |
| template<typename Scalar > | |
| Eigen::Rotation2D< Scalar > | Rotate (const Scalar &_angle, const AngularVector< Scalar, 2 > &_axis) |
| template<typename Scalar > | |
| Eigen::AngleAxis< Scalar > | Rotate (const Scalar &_angle, const AngularVector< Scalar, 3 > &_axis) |
Macro Definition Documentation
◆ DETAIL_GZ_PHYSICS_MAKE_BOTH_PRECISIONS
| #define DETAIL_GZ_PHYSICS_MAKE_BOTH_PRECISIONS | ( | Type, | |
| Dim | |||
| ) |
Value:
using Type ## Dim ## d = Type<double, Dim>; \
using Type ## Dim ## f = Type<float, Dim>;
◆ GZ_PHYSICS_MAKE_ALL_TYPE_COMBOS
| #define GZ_PHYSICS_MAKE_ALL_TYPE_COMBOS | ( | Type | ) |
Value:
DETAIL_GZ_PHYSICS_MAKE_BOTH_PRECISIONS(Type, 2) \
DETAIL_GZ_PHYSICS_MAKE_BOTH_PRECISIONS(Type, 3)
This macro defines the following types: Type2d // 2-dimensional version of Type with double precision Type2f // 2-dimensional version of Type with float precision Type3d // 3-dimensional version of Type with double precision Type3f // 3-dimensional version of Type with float precision.