Ignition Math

API Reference

6.10.0
Helpers.hh File Reference
#include <algorithm>
#include <chrono>
#include <cmath>
#include <cstdint>
#include <iomanip>
#include <iostream>
#include <limits>
#include <regex>
#include <sstream>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
#include <ignition/math/config.hh>
#include "ignition/math/Export.hh"

Go to the source code of this file.

Namespaces

 ignition
 
 ignition::math
 Math classes and function useful in robot applications.
 

Macros

#define IGN_BOX_VOLUME(_x, _y, _z)   (_x *_y * _z)
 Compute box volume. More...
 
#define IGN_BOX_VOLUME_V(_v)   (_v.X() *_v.Y() * _v.Z())
 Compute box volume from a vector. More...
 
#define IGN_CYLINDER_VOLUME(_r, _l)   (_l * IGN_PI * std::pow(_r, 2))
 Compute cylinder volume. More...
 
#define IGN_DBL_INF   DPRCT_INF_D
 Double positive infinite value. More...
 
#define IGN_DBL_LOW   DPRCT_LOW_D
 Double low value, equivalent to -IGN_DBL_MAX. More...
 
#define IGN_DBL_MAX   DPRCT_MAX_D
 Double maximum value. This value will be similar to 1.79769e+308. More...
 
#define IGN_DBL_MIN   DPRCT_MIN_D
 Double min value. This value will be similar to 2.22507e-308. More...
 
#define IGN_FLT_INF   DPRCT_INF_F
 Float positive infinite value. More...
 
#define IGN_FLT_LOW   DPRCT_LOW_F
 Float lowest value, equivalent to -IGN_FLT_MAX. More...
 
#define IGN_FLT_MAX   DPRCT_MAX_F
 Float maximum value. This value will be similar to 3.40282e+38. More...
 
#define IGN_FLT_MIN   DPRCT_MIN_F
 Float minimum value. This value will be similar to 1.17549e-38. More...
 
#define IGN_FP_VOLATILE
 Define IGN_FP_VOLATILE for FP equality comparisons Use volatile parameters when checking floating point equality on the 387 math coprocessor to work around bugs from the 387 extra precision. More...
 
#define IGN_INT16_INF   DPRCT_INF_I16
 16-bit integer positive infinite value More...
 
#define IGN_INT16_LOW   DPRCT_LOW_I16
 16bit integer lowest value. This is equivalent to IGN_INT16_MIN, and is defined here for completeness. More...
 
#define IGN_INT16_MAX   DPRCT_MAX_I16
 16bit integer maximum value More...
 
#define IGN_INT16_MIN   DPRCT_MIN_I16
 16bit integer minimum value More...
 
#define IGN_INT32_INF   DPRCT_INF_I32
 32-bit integer positive infinite value More...
 
#define IGN_INT32_LOW   DPRCT_LOW_I32
 32bit integer minimum value. This is equivalent to IGN_INT32_MIN, and is defined here for completeness. More...
 
#define IGN_INT32_MAX   DPRCT_MAX_I32
 32bit integer maximum value More...
 
#define IGN_INT32_MIN   DPRCT_MIN_I32
 32bit integer minimum value More...
 
#define IGN_INT64_INF   DPRCT_INF_I64
 64-bit integer positive infinite value More...
 
#define IGN_INT64_LOW   DPRCT_LOW_I64
 64bit integer lowest value. This is equivalent to IGN_INT64_MIN, and is defined here for completeness. More...
 
#define IGN_INT64_MAX   DPRCT_MAX_I64
 64bit integer maximum value More...
 
#define IGN_INT64_MIN   DPRCT_MIN_I64
 64bit integer minimum value More...
 
#define IGN_PI   3.14159265358979323846
 Define IGN_PI, IGN_PI_2, and IGN_PI_4. This was put here for Windows support. More...
 
#define IGN_PI_2   1.57079632679489661923
 
#define IGN_PI_4   0.78539816339744830962
 
#define IGN_SPHERE_VOLUME(_radius)   (4.0*IGN_PI*std::pow(_radius, 3)/3.0)
 Compute sphere volume. More...
 
#define IGN_SQRT2   1.41421356237309504880
 
#define IGN_UINT16_INF   DPRCT_INF_UI16
 16-bit unsigned integer positive infinite value More...
 
#define IGN_UINT16_LOW   DPRCT_LOW_UI16
 16bit unsigned integer lowest value. This is equivalent to IGN_UINT16_MIN, and is defined here for completeness. More...
 
#define IGN_UINT16_MAX   DPRCT_MAX_UI16
 16bit unsigned integer maximum value More...
 
#define IGN_UINT16_MIN   DPRCT_MIN_UI16
 16bit unsigned integer minimum value More...
 
#define IGN_UINT32_INF   DPRCT_INF_UI32
 32-bit unsigned integer positive infinite value More...
 
#define IGN_UINT32_LOW   DPRCT_LOW_UI32
 32bit unsigned integer lowest value. This is equivalent to IGN_UINT32_MIN, and is defined here for completeness. More...
 
#define IGN_UINT32_MAX   DPRCT_MAX_UI32
 32bit unsigned integer maximum value More...
 
#define IGN_UINT32_MIN   DPRCT_MIN_UI32
 32bit unsigned integer minimum value More...
 
#define IGN_UINT64_INF   DPRCT_INF_UI64
 64-bit unsigned integer positive infinite value More...
 
#define IGN_UINT64_LOW   DPRCT_LOW_UI64
 64bit unsigned integer lowest value. This is equivalent to IGN_UINT64_MIN, and is defined here for completeness. More...
 
#define IGN_UINT64_MAX   DPRCT_MAX_UI64
 64bit unsigned integer maximum value More...
 
#define IGN_UINT64_MIN   DPRCT_MIN_UI64
 64bit unsigned integer minimum value More...
 

Typedefs

typedef std::chrono::duration< uint64_t, std::ratio< 86400 > > days
 This will exist in C++-20. More...
 
using PairInput = uint32_t
 
using PairOutput = uint64_t
 

Functions

template<class... Durations, class DurationIn >
std::tuple< Durations... > breakDownDurations (DurationIn d)
 break down durations NOTE: the template arguments must be properly ordered according to magnitude and there can be no duplicates. This function uses the braces initializer to split all the templated duration. The initializer will be called recursievely due the ... More...
 
template<typename T >
clamp (T _v, T _min, T _max)
 Simple clamping function. More...
 
std::pair< int64_t, int64_t > durationToSecNsec (const std::chrono::steady_clock::duration &_dur)
 Convert a std::chrono::steady_clock::duration to a seconds and nanoseconds pair. More...
 
std::string durationToString (const std::chrono::steady_clock::duration &_duration)
 Convert a std::chrono::steady_clock::duration to a string. More...
 
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 More...
 
float fixnan (float _v)
 Fix a nan value. More...
 
double fixnan (double _v)
 Fix a nan value. More...
 
template<typename T >
bool greaterOrNearEqual (const T &_a, const T &_b, const T &_epsilon=1e-6)
 inequality test, within a tolerance More...
 
bool isEven (const int _v)
 Check if parameter is even. More...
 
bool isEven (const unsigned int _v)
 Check if parameter is even. More...
 
bool isnan (float _v)
 check if a float is NaN More...
 
bool isnan (double _v)
 check if a double is NaN More...
 
bool isOdd (const int _v)
 Check if parameter is odd. More...
 
bool isOdd (const unsigned int _v)
 Check if parameter is odd. More...
 
bool isPowerOfTwo (unsigned int _x)
 Is this a power of 2? More...
 
bool isTimeString (const std::string &_timeString)
 Check if the given string represents a time. An example time string is "0 00:00:00.000", which has the format "DAYS HOURS:MINUTES:SECONDS.MILLISECONDS". More...
 
template<typename T >
bool lessOrNearEqual (const T &_a, const T &_b, const T &_epsilon=1e-6)
 inequality test, within a tolerance More...
 
template<typename T >
max (const std::vector< T > &_values)
 get the maximum value of vector of values More...
 
template<typename T >
mean (const std::vector< T > &_values)
 get mean of vector of values More...
 
template<typename T >
min (const std::vector< T > &_values)
 get the minimum value of vector of values More...
 
PairOutput Pair (const PairInput _a, const PairInput _b)
 A pairing function that maps two values to a unique third value. This is an implement of Szudzik's function. More...
 
double parseFloat (const std::string &_input)
 parse string into float More...
 
int parseInt (const std::string &_input)
 parse string into an integer More...
 
template<typename T >
precision (const T &_a, const unsigned int &_precision)
 get value at a specified precision More...
 
int roundUpMultiple (int _num, int _multiple)
 Round a number up to the nearest multiple. For example, if the input number is 12 and the multiple is 10, the result is 20. If the input number is negative, then the nearest multiple will be greater than or equal to the input number. For example, if the input number is -9 and the multiple is 2 then the output is -8. More...
 
unsigned int roundUpPowerOfTwo (unsigned int _x)
 Get the smallest power of two that is greater or equal to a given value. More...
 
std::chrono::steady_clock::duration secNsecToDuration (const uint64_t &_sec, const uint64_t &_nanosec)
 Convert seconds and nanoseconds to std::chrono::steady_clock::duration. More...
 
std::chrono::steady_clock::time_point secNsecToTimePoint (const uint64_t &_sec, const uint64_t &_nanosec)
 Convert seconds and nanoseconds to std::chrono::steady_clock::time_point. More...
 
template<typename T >
int sgn (T _value)
 The signum function. More...
 
template<typename T >
int signum (T _value)
 The signum function. More...
 
template<typename T >
void sort2 (T &_a, T &_b)
 Sort two numbers, such that _a <= _b. More...
 
template<typename T >
void sort3 (T &_a, T &_b, T &_c)
 Sort three numbers, such that _a <= _b <= _c. More...
 
bool splitTimeBasedOnTimeRegex (const std::string &_timeString, uint64_t &numberDays, uint64_t &numberHours, uint64_t &numberMinutes, uint64_t &numberSeconds, uint64_t &numberMilliseconds)
 Split a std::chrono::steady_clock::duration to a string. More...
 
std::chrono::steady_clock::duration stringToDuration (const std::string &_timeString)
 Convert a string to a std::chrono::steady_clock::duration. More...
 
std::chrono::steady_clock::time_point stringToTimePoint (const std::string &_timeString)
 Convert a string to a std::chrono::steady_clock::time_point. More...
 
std::pair< int64_t, int64_t > timePointToSecNsec (const std::chrono::steady_clock::time_point &_time)
 Convert a std::chrono::steady_clock::time_point to a seconds and nanoseconds pair. More...
 
std::string timePointToString (const std::chrono::steady_clock::time_point &_point)
 Convert a std::chrono::steady_clock::time_point to a string. More...
 
std::tuple< PairInput, PairInput > Unpair (const PairOutput _key)
 The reverse of the Pair function. Accepts a key, produced from the Pair function, and returns a tuple consisting of the two non-negative integer values used to create the _key. More...
 
template<typename T >
variance (const std::vector< T > &_values)
 get variance of vector of values More...
 

Variables

static const double DPRCT_INF_D = INF_D
 
static const float DPRCT_INF_F = INF_F
 
static const int16_t DPRCT_INF_I16 = INF_I16
 
static const int32_t DPRCT_INF_I32 = INF_I32
 
static const int64_t DPRCT_INF_I64 = INF_I64
 
static const uint16_t DPRCT_INF_UI16 = INF_UI16
 
static const uint32_t DPRCT_INF_UI32 = INF_UI32
 
static const uint64_t DPRCT_INF_UI64 = INF_UI64
 
static const double DPRCT_LOW_D = LOW_D
 
static const float DPRCT_LOW_F = LOW_F
 
static const int16_t DPRCT_LOW_I16 = LOW_I16
 
static const int32_t DPRCT_LOW_I32 = LOW_I32
 
static const int64_t DPRCT_LOW_I64 = LOW_I64
 
static const uint16_t DPRCT_LOW_UI16 = LOW_UI16
 
static const uint32_t DPRCT_LOW_UI32 = LOW_UI32
 
static const uint64_t DPRCT_LOW_UI64 = LOW_UI64
 
static const double DPRCT_MAX_D = MAX_D
 
static const float DPRCT_MAX_F = MAX_F
 
static const int16_t DPRCT_MAX_I16 = MAX_I16
 
static const int32_t DPRCT_MAX_I32 = MAX_I32
 
static const int64_t DPRCT_MAX_I64 = MAX_I64
 
static const uint16_t DPRCT_MAX_UI16 = MAX_UI16
 
static const uint32_t DPRCT_MAX_UI32 = MAX_UI32
 
static const uint64_t DPRCT_MAX_UI64 = MAX_UI64
 
static const double DPRCT_MIN_D = MIN_D
 
static const float DPRCT_MIN_F = MIN_F
 
static const int16_t DPRCT_MIN_I16 = MIN_I16
 
static const int32_t DPRCT_MIN_I32 = MIN_I32
 
static const int64_t DPRCT_MIN_I64 = MIN_I64
 
static const uint16_t DPRCT_MIN_UI16 = MIN_UI16
 
static const uint32_t DPRCT_MIN_UI32 = MIN_UI32
 
static const uint64_t DPRCT_MIN_UI64 = MIN_UI64
 
static const size_t IGN_EIGHT_SIZE_T = 8u
 size_t type with a value of 8 More...
 
static const size_t IGN_FIVE_SIZE_T = 5u
 size_t type with a value of 5 More...
 
static const size_t IGN_FOUR_SIZE_T = 4u
 size_t type with a value of 4 More...
 
template<typename T >
constexpr T IGN_MASSMATRIX3_DEFAULT_TOLERANCE = T(10)
 The default tolerance value used by MassMatrix3::IsValid(), MassMatrix3::IsPositive(), and MassMatrix3::ValidMoments() More...
 
static const size_t IGN_NINE_SIZE_T = 9u
 size_t type with a value of 9 More...
 
static const size_t IGN_ONE_SIZE_T = 1u
 size_t type with a value of 1 More...
 
static const size_t IGN_SEVEN_SIZE_T = 7u
 size_t type with a value of 7 More...
 
static const size_t IGN_SIX_SIZE_T = 6u
 size_t type with a value of 6 More...
 
static const size_t IGN_THREE_SIZE_T = 3u
 size_t type with a value of 3 More...
 
static const size_t IGN_TWO_SIZE_T = 2u
 size_t type with a value of 2 More...
 
static const size_t IGN_ZERO_SIZE_T = 0u
 size_t type with a value of 0 More...
 
static const double INF_D = std::numeric_limits<double>::infinity()
 Double positive infinite value. More...
 
static const float INF_F = std::numeric_limits<float>::infinity()
 float positive infinite value More...
 
static const int16_t INF_I16 = std::numeric_limits<int16_t>::infinity()
 16-bit unsigned integer positive infinite value More...
 
static const int32_t INF_I32 = std::numeric_limits<int32_t>::infinity()
 32-bit unsigned integer positive infinite value More...
 
static const int64_t INF_I64 = std::numeric_limits<int64_t>::infinity()
 64-bit unsigned integer positive infinite value More...
 
static const uint16_t INF_UI16 = std::numeric_limits<uint16_t>::infinity()
 16-bit unsigned integer positive infinite value More...
 
static const uint32_t INF_UI32 = std::numeric_limits<uint32_t>::infinity()
 32-bit unsigned integer positive infinite value More...
 
static const uint64_t INF_UI64 = std::numeric_limits<uint64_t>::infinity()
 64-bit unsigned integer positive infinite value More...
 
static const double LOW_D = std::numeric_limits<double>::lowest()
 Double low value, equivalent to -MAX_D. More...
 
static const float LOW_F = std::numeric_limits<float>::lowest()
 Float low value, equivalent to -MAX_F. More...
 
static const int16_t LOW_I16 = std::numeric_limits<int16_t>::lowest()
 16bit unsigned integer lowest value. This is equivalent to IGN_INT16_MIN, and is defined here for completeness. More...
 
static const int32_t LOW_I32 = std::numeric_limits<int32_t>::lowest()
 32bit unsigned integer lowest value. This is equivalent to IGN_INT32_MIN, and is defined here for completeness. More...
 
static const int64_t LOW_I64 = std::numeric_limits<int64_t>::lowest()
 64bit unsigned integer lowest value. This is equivalent to IGN_INT64_MIN, and is defined here for completeness. More...
 
static const uint16_t LOW_UI16 = std::numeric_limits<uint16_t>::lowest()
 16bit unsigned integer lowest value. This is equivalent to IGN_UINT16_MIN, and is defined here for completeness. More...
 
static const uint32_t LOW_UI32 = std::numeric_limits<uint32_t>::lowest()
 32bit unsigned integer lowest value. This is equivalent to IGN_UINT32_MIN, and is defined here for completeness. More...
 
static const uint64_t LOW_UI64 = std::numeric_limits<uint64_t>::lowest()
 64bit unsigned integer lowest value. This is equivalent to IGN_UINT64_MIN, and is defined here for completeness. More...
 
static const double MAX_D = std::numeric_limits<double>::max()
 Double maximum value. This value will be similar to 1.79769e+308. More...
 
static const float MAX_F = std::numeric_limits<float>::max()
 Float maximum value. This value will be similar to 3.40282e+38. More...
 
static const int16_t MAX_I16 = std::numeric_limits<int16_t>::max()
 16bit unsigned integer maximum value More...
 
static const int32_t MAX_I32 = std::numeric_limits<int32_t>::max()
 32bit unsigned integer maximum value More...
 
static const int64_t MAX_I64 = std::numeric_limits<int64_t>::max()
 64bit unsigned integer maximum value More...
 
static const uint16_t MAX_UI16 = std::numeric_limits<uint16_t>::max()
 16bit unsigned integer maximum value More...
 
static const uint32_t MAX_UI32 = std::numeric_limits<uint32_t>::max()
 32bit unsigned integer maximum value More...
 
static const uint64_t MAX_UI64 = std::numeric_limits<uint64_t>::max()
 64bit unsigned integer maximum value More...
 
static const double MIN_D = std::numeric_limits<double>::min()
 Double min value. This value will be similar to 2.22507e-308. More...
 
static const float MIN_F = std::numeric_limits<float>::min()
 Float minimum value. This value will be similar to 1.17549e-38. More...
 
static const int16_t MIN_I16 = std::numeric_limits<int16_t>::min()
 16bit unsigned integer minimum value More...
 
static const int32_t MIN_I32 = std::numeric_limits<int32_t>::min()
 32bit unsigned integer minimum value More...
 
static const int64_t MIN_I64 = std::numeric_limits<int64_t>::min()
 64bit unsigned integer minimum value More...
 
static const uint16_t MIN_UI16 = std::numeric_limits<uint16_t>::min()
 16bit unsigned integer minimum value More...
 
static const uint32_t MIN_UI32 = std::numeric_limits<uint32_t>::min()
 32bit unsigned integer minimum value More...
 
static const uint64_t MIN_UI64 = std::numeric_limits<uint64_t>::min()
 64bit unsigned integer minimum value More...
 
static const double NAN_D = std::numeric_limits<double>::quiet_NaN()
 Returns the representation of a quiet not a number (NAN) More...
 
static const float NAN_F = std::numeric_limits<float>::quiet_NaN()
 Returns the representation of a quiet not a number (NAN) More...
 
static const int NAN_I = std::numeric_limits<int>::quiet_NaN()
 Returns the representation of a quiet not a number (NAN) More...
 
static const std::regex time_regex ("^([0-9]+ ){0,1}" "(?:([1-9]:|[0-1][0-9]:|2[0-3]:){0,1}" "([0-9]:|[0-5][0-9]:)){0,1}" "(?:([0-9]|[0-5][0-9]){0,1}" "(\[0-9]{1,3}){0,1})$")
 

Macro Definition Documentation

◆ IGN_BOX_VOLUME

#define IGN_BOX_VOLUME (   _x,
  _y,
  _z 
)    (_x *_y * _z)

Compute box volume.

Parameters
[in]_xX length
[in]_yY length
[in]_zZ length

◆ IGN_BOX_VOLUME_V

#define IGN_BOX_VOLUME_V (   _v)    (_v.X() *_v.Y() * _v.Z())

Compute box volume from a vector.

Parameters
[in]_vVector3d that contains the box's dimensions.

◆ IGN_CYLINDER_VOLUME

#define IGN_CYLINDER_VOLUME (   _r,
  _l 
)    (_l * IGN_PI * std::pow(_r, 2))

Compute cylinder volume.

Parameters
[in]_rCylinder base radius
[in]_lCylinder length

◆ IGN_DBL_INF

#define IGN_DBL_INF   DPRCT_INF_D

Double positive infinite value.

Deprecated:
Use static const value instead.

◆ IGN_DBL_LOW

#define IGN_DBL_LOW   DPRCT_LOW_D

Double low value, equivalent to -IGN_DBL_MAX.

Deprecated:
Use static const value instead.

◆ IGN_DBL_MAX

#define IGN_DBL_MAX   DPRCT_MAX_D

Double maximum value. This value will be similar to 1.79769e+308.

Deprecated:
Use static const value instead.

◆ IGN_DBL_MIN

#define IGN_DBL_MIN   DPRCT_MIN_D

Double min value. This value will be similar to 2.22507e-308.

Deprecated:
Use static const value instead.

◆ IGN_FLT_INF

#define IGN_FLT_INF   DPRCT_INF_F

Float positive infinite value.

Deprecated:
Use static const value instead.

◆ IGN_FLT_LOW

#define IGN_FLT_LOW   DPRCT_LOW_F

Float lowest value, equivalent to -IGN_FLT_MAX.

Deprecated:
Use static const value instead.

◆ IGN_FLT_MAX

#define IGN_FLT_MAX   DPRCT_MAX_F

Float maximum value. This value will be similar to 3.40282e+38.

Deprecated:
Use static const value instead.

◆ IGN_FLT_MIN

#define IGN_FLT_MIN   DPRCT_MIN_F

Float minimum value. This value will be similar to 1.17549e-38.

Deprecated:
Use static const value instead.

◆ IGN_FP_VOLATILE

#define IGN_FP_VOLATILE

Define IGN_FP_VOLATILE for FP equality comparisons Use volatile parameters when checking floating point equality on the 387 math coprocessor to work around bugs from the 387 extra precision.

Referenced by ignition::math::equal().

◆ IGN_INT16_INF

#define IGN_INT16_INF   DPRCT_INF_I16

16-bit integer positive infinite value

Deprecated:
Use static const value instead.

◆ IGN_INT16_LOW

#define IGN_INT16_LOW   DPRCT_LOW_I16

16bit integer lowest value. This is equivalent to IGN_INT16_MIN, and is defined here for completeness.

Deprecated:
Use static const value instead.

◆ IGN_INT16_MAX

#define IGN_INT16_MAX   DPRCT_MAX_I16

16bit integer maximum value

Deprecated:
Use static const value instead.

◆ IGN_INT16_MIN

#define IGN_INT16_MIN   DPRCT_MIN_I16

16bit integer minimum value

Deprecated:
Use static const value instead.

◆ IGN_INT32_INF

#define IGN_INT32_INF   DPRCT_INF_I32

32-bit integer positive infinite value

Deprecated:
Use static const value instead.

◆ IGN_INT32_LOW

#define IGN_INT32_LOW   DPRCT_LOW_I32

32bit integer minimum value. This is equivalent to IGN_INT32_MIN, and is defined here for completeness.

Deprecated:
Use static const value instead.

◆ IGN_INT32_MAX

#define IGN_INT32_MAX   DPRCT_MAX_I32

32bit integer maximum value

Deprecated:
Use static const value instead.

◆ IGN_INT32_MIN

#define IGN_INT32_MIN   DPRCT_MIN_I32

32bit integer minimum value

Deprecated:
Use static const value instead.

◆ IGN_INT64_INF

#define IGN_INT64_INF   DPRCT_INF_I64

64-bit integer positive infinite value

Deprecated:
Use static const value instead.

◆ IGN_INT64_LOW

#define IGN_INT64_LOW   DPRCT_LOW_I64

64bit integer lowest value. This is equivalent to IGN_INT64_MIN, and is defined here for completeness.

Deprecated:
Use static const value instead.

◆ IGN_INT64_MAX

#define IGN_INT64_MAX   DPRCT_MAX_I64

64bit integer maximum value

Deprecated:
Use static const value instead.

◆ IGN_INT64_MIN

#define IGN_INT64_MIN   DPRCT_MIN_I64

64bit integer minimum value

Deprecated:
Use static const value instead.

◆ IGN_PI

#define IGN_PI   3.14159265358979323846

◆ IGN_PI_2

#define IGN_PI_2   1.57079632679489661923

◆ IGN_PI_4

#define IGN_PI_4   0.78539816339744830962

◆ IGN_SPHERE_VOLUME

#define IGN_SPHERE_VOLUME (   _radius)    (4.0*IGN_PI*std::pow(_radius, 3)/3.0)

Compute sphere volume.

Parameters
[in]_radiusSphere radius

◆ IGN_SQRT2

#define IGN_SQRT2   1.41421356237309504880

◆ IGN_UINT16_INF

#define IGN_UINT16_INF   DPRCT_INF_UI16

16-bit unsigned integer positive infinite value

Deprecated:
Use static const value instead.

◆ IGN_UINT16_LOW

#define IGN_UINT16_LOW   DPRCT_LOW_UI16

16bit unsigned integer lowest value. This is equivalent to IGN_UINT16_MIN, and is defined here for completeness.

Deprecated:
Use static const value instead.

◆ IGN_UINT16_MAX

#define IGN_UINT16_MAX   DPRCT_MAX_UI16

16bit unsigned integer maximum value

Deprecated:
Use static const value instead.

◆ IGN_UINT16_MIN

#define IGN_UINT16_MIN   DPRCT_MIN_UI16

16bit unsigned integer minimum value

Deprecated:
Use static const value instead.

◆ IGN_UINT32_INF

#define IGN_UINT32_INF   DPRCT_INF_UI32

32-bit unsigned integer positive infinite value

Deprecated:
Use static const value instead.

◆ IGN_UINT32_LOW

#define IGN_UINT32_LOW   DPRCT_LOW_UI32

32bit unsigned integer lowest value. This is equivalent to IGN_UINT32_MIN, and is defined here for completeness.

Deprecated:
Use static const value instead.

◆ IGN_UINT32_MAX

#define IGN_UINT32_MAX   DPRCT_MAX_UI32

32bit unsigned integer maximum value

Deprecated:
Use static const value instead.

◆ IGN_UINT32_MIN

#define IGN_UINT32_MIN   DPRCT_MIN_UI32

32bit unsigned integer minimum value

Deprecated:
Use static const value instead.

◆ IGN_UINT64_INF

#define IGN_UINT64_INF   DPRCT_INF_UI64

64-bit unsigned integer positive infinite value

Deprecated:
Use static const value instead.

◆ IGN_UINT64_LOW

#define IGN_UINT64_LOW   DPRCT_LOW_UI64

64bit unsigned integer lowest value. This is equivalent to IGN_UINT64_MIN, and is defined here for completeness.

Deprecated:
Use static const value instead.

◆ IGN_UINT64_MAX

#define IGN_UINT64_MAX   DPRCT_MAX_UI64

64bit unsigned integer maximum value

Deprecated:
Use static const value instead.

◆ IGN_UINT64_MIN

#define IGN_UINT64_MIN   DPRCT_MIN_UI64

64bit unsigned integer minimum value

Deprecated:
Use static const value instead.

Variable Documentation

◆ IGN_MASSMATRIX3_DEFAULT_TOLERANCE

constexpr T IGN_MASSMATRIX3_DEFAULT_TOLERANCE = T(10)

The default tolerance value used by MassMatrix3::IsValid(), MassMatrix3::IsPositive(), and MassMatrix3::ValidMoments()