Ignition Physics

API Reference

5.1.0
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

 ignition
 
 ignition::physics
 

Macros

#define DETAIL_IGN_PHYSICS_MAKE_BOTH_PRECISIONS(Type, Dim)
 
#define IGN_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. More...
 

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 ignition-physics to represent rigid body transforms in 2D or 3D simulations. The precision can be chosen as float or scalar. More...
 
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_IGN_PHYSICS_MAKE_BOTH_PRECISIONS

#define DETAIL_IGN_PHYSICS_MAKE_BOTH_PRECISIONS (   Type,
  Dim 
)
Value:
using Type ## Dim ## d = Type<double, Dim>; \
using Type ## Dim ## f = Type<float, Dim>;

◆ IGN_PHYSICS_MAKE_ALL_TYPE_COMBOS

#define IGN_PHYSICS_MAKE_ALL_TYPE_COMBOS (   Type)
Value:
DETAIL_IGN_PHYSICS_MAKE_BOTH_PRECISIONS(Type, 3)
#define DETAIL_IGN_PHYSICS_MAKE_BOTH_PRECISIONS(Type, Dim)
Definition: Geometry.hh:23

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.