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.