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.
 
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)
 

Detailed Description

Math classes and function useful in robot applications.