Loading...
Searching...
No Matches
ignition::math Namespace Reference

Math classes and function useful in robot applications. More...

Namespaces

namespace  graph
namespace  IGNITION_MATH_VERSION_NAMESPACE

Classes

class  Angle
 An angle and related functions. More...
class  BiQuad
 Bi-quad filter base class. More...
class  BiQuadVector3
 BiQuad vector3 filter. More...
class  Box
 Mathematical representation of a box and related functions. More...
class  Color
 Defines a color using a red (R), green (G), blue (B), and alpha (A) component. More...
class  Filter
 Filter base class. More...
class  Frustum
 Mathematical representation of a frustum and related functions. More...
class  Inertial
 A class for inertial information about a rigid body consisting of the scalar mass, a 3x3 symmetric moment of inertia matrix, and center of mass reference frame pose. More...
class  Kmeans
 K-Means clustering algorithm. More...
class  Line2
 A two dimensional line segment. More...
class  Line3
 A three dimensional line segment. More...
class  MassMatrix3
 A class for inertial information about a rigid body consisting of the scalar mass and a 3x3 symmetric moment of inertia matrix stored as two Vector3's. More...
class  Matrix3
 A 3x3 matrix class. More...
class  Matrix4
 A 4x4 matrix class. More...
class  OnePole
 A one-pole DSP filter. More...
class  OnePoleQuaternion
 One-pole quaternion filter. More...
class  OnePoleVector3
 One-pole vector3 filter. More...
class  OrientedBox
 Mathematical representation of a box which can be arbitrarily positioned and rotated. More...
class  PID
 Generic PID controller class. More...
class  Plane
 A plane and related functions. More...
class  Pose3
 Encapsulates a position and rotation in three space. More...
class  Quaternion
 A quaternion class. More...
class  Rand
 Random number generator class. More...
class  RotationSpline
 Spline for rotations. More...
class  SemanticVersion
 ignition/math/SemanticVersion.hh More...
class  SignalMaxAbsoluteValue
 ignition/math/SignalStats.hh More...
class  SignalMaximum
 Computing the maximum value of a discretely sampled signal. More...
class  SignalMean
 Computing the mean value of a discretely sampled signal. More...
class  SignalMinimum
 Computing the minimum value of a discretely sampled signal. More...
class  SignalRootMeanSquare
 Computing the square root of the mean squared value of a discretely sampled signal. More...
class  SignalStatistic
 Statistical properties of a discrete time scalar signal. More...
class  SignalStats
 Collection of statistics for a scalar signal. More...
class  SignalVariance
 Computing the incremental variance of a discretely sampled signal. More...
class  SphericalCoordinates
 Convert spherical coordinates for planetary surfaces. More...
class  Spline
 Splines. More...
class  Temperature
 A class that stores temperature information, and allows conversion between different units. More...
class  Triangle
 Triangle class and related functions. More...
class  Triangle3
 A 3-dimensional triangle and related functions. More...
class  Vector2
 Two dimensional (x, y) vector. More...
class  Vector3
 The Vector3 class represents the generic vector containing 3 elements. More...
class  Vector3Stats
 Collection of statistics for a Vector3 signal. More...
class  Vector4
 T Generic x, y, z, w vector. More...

Typedefs

typedef std::mt19937 GeneratorType
typedef Inertial< double > Inertiald
typedef Inertial< float > Inertialf
typedef Line2< double > Line2d
typedef Line2< float > Line2f
typedef Line2< int > Line2i
typedef Line3< double > Line3d
typedef Line3< float > Line3f
typedef Line3< int > Line3i
typedef MassMatrix3< double > MassMatrix3d
typedef MassMatrix3< float > MassMatrix3f
typedef Matrix3< double > Matrix3d
typedef Matrix3< float > Matrix3f
typedef Matrix3< int > Matrix3i
typedef Matrix4< double > Matrix4d
typedef Matrix4< float > Matrix4f
typedef Matrix4< int > Matrix4i
typedef std::normal_distribution< double > NormalRealDist
typedef OrientedBox< double > OrientedBoxd
typedef OrientedBox< float > OrientedBoxf
typedef OrientedBox< int > OrientedBoxi
using PairInput = uint32_t
using PairOutput = uint64_t
typedef Plane< double > Planed
typedef Plane< float > Planef
typedef Plane< int > Planei
typedef Pose3< double > Pose3d
typedef Pose3< float > Pose3f
typedef Pose3< int > Pose3i
typedef Quaternion< double > Quaterniond
typedef Quaternion< float > Quaternionf
typedef Quaternion< int > Quaternioni
typedef Triangle3< double > Triangle3d
 Double specialization of the Triangle class.
typedef Triangle3< float > Triangle3f
 Float specialization of the Triangle class.
typedef Triangle3< int > Triangle3i
 Integer specialization of the Triangle class.
typedef Triangle< double > Triangled
 Double specialization of the Triangle class.
typedef Triangle< float > Trianglef
 Float specialization of the Triangle class.
typedef Triangle< int > Trianglei
 Integer specialization of the Triangle class.
typedef std::uniform_int_distribution< int32_t > UniformIntDist
typedef std::uniform_real_distribution< double > UniformRealDist
typedef Vector2< double > Vector2d
typedef Vector2< float > Vector2f
typedef Vector2< int > Vector2i
typedef Vector3< double > Vector3d
typedef Vector3< float > Vector3f
typedef Vector3< int > Vector3i
typedef Vector4< double > Vector4d
typedef Vector4< float > Vector4f
typedef Vector4< int > Vector4i

Functions

template<typename T>
clamp (T _v, T _min, T _max)
 Simple clamping function.
template<typename T>
bool equal (const T &_a, const T &_b, const T &_epsilon=T(1e-6))
 check if two values are equal, within a tolerance
double fixnan (double _v)
 Fix a nan value.
float fixnan (float _v)
 Fix a nan value.
template<typename T>
bool greaterOrNearEqual (const T &_a, const T &_b, const T &_epsilon=1e-6)
 inequality test, within a tolerance
static const double IGN_DEPRECATED (3) DPRCT_MAX_D = MIN_D
bool isEven (const int _v)
 Check if parameter is even.
bool isEven (const unsigned int _v)
 Check if parameter is even.
bool isnan (double _v)
 check if a double is NaN
bool isnan (float _v)
 check if a float is NaN
bool isOdd (const int _v)
 Check if parameter is odd.
bool isOdd (const unsigned int _v)
 Check if parameter is odd.
bool isPowerOfTwo (unsigned int _x)
 Is this a power of 2?
template<typename T>
bool lessOrNearEqual (const T &_a, const T &_b, const T &_epsilon=1e-6)
 inequality test, within a tolerance
template<typename T>
max (const std::vector< T > &_values)
 get the maximum value of vector of values
template<typename T>
mean (const std::vector< T > &_values)
 get mean of vector of values
template<typename T>
min (const std::vector< T > &_values)
 get the minimum value of vector of values
PairOutput IGNITION_MATH_VISIBLE Pair (const PairInput _a, const PairInput _b)
 A pairing function that maps two values to a unique third value.
double parseFloat (const std::string &_input)
 parse string into float
int parseInt (const std::string &_input)
 parse string into an integer
template<typename T>
precision (const T &_a, const unsigned int &_precision)
 get value at a specified precision
unsigned int roundUpPowerOfTwo (unsigned int _x)
 Get the smallest power of two that is greater or equal to a given value.
template<typename T>
int sgn (T _value)
 The signum function.
template<typename T>
int signum (T _value)
 The signum function.
template<typename T>
void sort2 (T &_a, T &_b)
 Sort two numbers, such that _a <= _b.
template<typename T>
void sort3 (T &_a, T &_b, T &_c)
 Sort three numbers, such that _a <= _b <= _c.
std::tuple< PairInput, PairInput > IGNITION_MATH_VISIBLE Unpair (const PairOutput _key)
 The reverse of the Pair function.
template<typename T>
variance (const std::vector< T > &_values)
 get variance of vector of values

Variables

static const size_t IGN_EIGHT_SIZE_T = 8u
 size_t type with a value of 8
static const size_t IGN_FIVE_SIZE_T = 5u
 size_t type with a value of 5
static const size_t IGN_FOUR_SIZE_T = 4u
 size_t type with a value of 4
static const size_t IGN_NINE_SIZE_T = 9u
 size_t type with a value of 9
static const size_t IGN_ONE_SIZE_T = 1u
 size_t type with a value of 1
static const size_t IGN_SEVEN_SIZE_T = 7u
 size_t type with a value of 7
static const size_t IGN_SIX_SIZE_T = 6u
 size_t type with a value of 6
static const size_t IGN_THREE_SIZE_T = 3u
 size_t type with a value of 3
static const size_t IGN_TWO_SIZE_T = 2u
 size_t type with a value of 2
static const size_t IGN_ZERO_SIZE_T = 0u
 size_t type with a value of 0
static const double INF_D = std::numeric_limits<double>::infinity()
 Double positive infinite value.
static const float INF_F = std::numeric_limits<float>::infinity()
 float positive infinite value
static const int16_t INF_I16 = std::numeric_limits<int16_t>::infinity()
 16-bit unsigned integer positive infinite value
static const int32_t INF_I32 = std::numeric_limits<int32_t>::infinity()
 32-bit unsigned integer positive infinite value
static const int64_t INF_I64 = std::numeric_limits<int64_t>::infinity()
 64-bit unsigned integer positive infinite value
static const uint16_t INF_UI16 = std::numeric_limits<uint16_t>::infinity()
 16-bit unsigned integer positive infinite value
static const uint32_t INF_UI32 = std::numeric_limits<uint32_t>::infinity()
 32-bit unsigned integer positive infinite value
static const uint64_t INF_UI64 = std::numeric_limits<uint64_t>::infinity()
 64-bit unsigned integer positive infinite value
static const double LOW_D = std::numeric_limits<double>::lowest()
 Double low value, equivalent to -MAX_D.
static const float LOW_F = std::numeric_limits<float>::lowest()
 Float low value, equivalent to -MAX_F.
static const int16_t LOW_I16 = std::numeric_limits<int16_t>::lowest()
 16bit unsigned integer lowest value.
static const int32_t LOW_I32 = std::numeric_limits<int32_t>::lowest()
 32bit unsigned integer lowest value.
static const int64_t LOW_I64 = std::numeric_limits<int64_t>::lowest()
 64bit unsigned integer lowest value.
static const uint16_t LOW_UI16 = std::numeric_limits<uint16_t>::lowest()
 16bit unsigned integer lowest value.
static const uint32_t LOW_UI32 = std::numeric_limits<uint32_t>::lowest()
 32bit unsigned integer lowest value.
static const uint64_t LOW_UI64 = std::numeric_limits<uint64_t>::lowest()
 64bit unsigned integer lowest value.
template<typename T>
const Matrix3< T > Matrix3< T >::Identity (1, 0, 0, 0, 1, 0, 0, 0, 1)
template<typename T>
const Matrix3< T > Matrix3< T >::Zero (0, 0, 0, 0, 0, 0, 0, 0, 0)
template<typename T>
const Matrix4< T > Matrix4< T >::Identity (1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
template<typename T>
const Matrix4< T > Matrix4< T >::Zero (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
static const double MAX_D = std::numeric_limits<double>::max()
 Double maximum value. This value will be similar to 1.79769e+308.
static const float MAX_F = std::numeric_limits<float>::max()
 Float maximum value. This value will be similar to 3.40282e+38.
static const int16_t MAX_I16 = std::numeric_limits<int16_t>::max()
 16bit unsigned integer maximum value
static const int32_t MAX_I32 = std::numeric_limits<int32_t>::max()
 32bit unsigned integer maximum value
static const int64_t MAX_I64 = std::numeric_limits<int64_t>::max()
 64bit unsigned integer maximum value
static const uint16_t MAX_UI16 = std::numeric_limits<uint16_t>::max()
 16bit unsigned integer maximum value
static const uint32_t MAX_UI32 = std::numeric_limits<uint32_t>::max()
 32bit unsigned integer maximum value
static const uint64_t MAX_UI64 = std::numeric_limits<uint64_t>::max()
 64bit unsigned integer maximum value
static const double MIN_D = std::numeric_limits<double>::min()
 Double min value. This value will be similar to 2.22507e-308.
static const float MIN_F = std::numeric_limits<float>::min()
 Float minimum value. This value will be similar to 1.17549e-38.
static const int16_t MIN_I16 = std::numeric_limits<int16_t>::min()
 16bit unsigned integer minimum value
static const int32_t MIN_I32 = std::numeric_limits<int32_t>::min()
 32bit unsigned integer minimum value
static const int64_t MIN_I64 = std::numeric_limits<int64_t>::min()
 64bit unsigned integer minimum value
static const uint16_t MIN_UI16 = std::numeric_limits<uint16_t>::min()
 16bit unsigned integer minimum value
static const uint32_t MIN_UI32 = std::numeric_limits<uint32_t>::min()
 32bit unsigned integer minimum value
static const uint64_t MIN_UI64 = std::numeric_limits<uint64_t>::min()
 64bit unsigned integer minimum value
static const double NAN_D = std::numeric_limits<double>::quiet_NaN()
 Returns the representation of a quiet not a number (NAN)
static const float NAN_F = std::numeric_limits<float>::quiet_NaN()
 Returns the representation of a quiet not a number (NAN)
static const int NAN_I = std::numeric_limits<int>::quiet_NaN()
 Returns the representation of a quiet not a number (NAN)
template<typename T>
const Pose3< T > Pose3< T >::Zero (0, 0, 0, 0, 0, 0)
template<typename T>
const Quaternion< T > Quaternion< T >::Identity (1, 0, 0, 0)
template<typename T>
const Quaternion< T > Quaternion< T >::Zero (0, 0, 0, 0)
template<typename T>
const Vector2< T > Vector2< T >::One (1, 1)
template<typename T>
const Vector2< T > Vector2< T >::Zero (0, 0)
template<typename T>
const Vector3< T > Vector3< T >::One (1, 1, 1)
template<typename T>
const Vector3< T > Vector3< T >::UnitX (1, 0, 0)
template<typename T>
const Vector3< T > Vector3< T >::UnitY (0, 1, 0)
template<typename T>
const Vector3< T > Vector3< T >::UnitZ (0, 0, 1)
template<typename T>
const Vector3< T > Vector3< T >::Zero (0, 0, 0)
template<typename T>
const Vector4< T > Vector4< T >::One (1, 1, 1, 1)
template<typename T>
const Vector4< T > Vector4< T >::Zero (0, 0, 0, 0)

Detailed Description

Math classes and function useful in robot applications.