OpenSceneGraph
Namespaces | Macros | Functions | Variables
Math File Reference
#include <cmath>
#include <cfloat>
#include <osg/Export>

Namespaces

 osg
 The core osg library provides the basic scene graph classes such as Nodes, State and Drawables, and maths and general helper classes.
 

Macros

#define __OSG_MATH
 

Functions

template<typename T >
osg::default_value ()
 
template<>
float osg::default_value< float > ()
 
template<>
double osg::default_value< double > ()
 
template<>
char osg::default_value< char > ()
 
template<>
unsigned char osg::default_value< unsigned char > ()
 
template<>
short osg::default_value< short > ()
 
template<>
unsigned short osg::default_value< unsigned short > ()
 
template<>
int osg::default_value< int > ()
 
template<>
unsigned int osg::default_value< unsigned int > ()
 
template<typename T >
osg::absolute (T v)
 
bool osg::equivalent (float lhs, float rhs, float epsilon=1e-6)
 return true if float lhs and rhs are equivalent, meaning that the difference between them is less than an epsilon value which defaults to 1e-6. More...
 
bool osg::equivalent (double lhs, double rhs, double epsilon=1e-6)
 return true if double lhs and rhs are equivalent, meaning that the difference between them is less than an epsilon value which defaults to 1e-6. More...
 
template<typename T >
osg::minimum (T lhs, T rhs)
 return the minimum of two values, equivalent to std::min. More...
 
template<typename T >
osg::maximum (T lhs, T rhs)
 return the maximum of two values, equivalent to std::max. More...
 
template<typename T >
osg::clampTo (T v, T minimum, T maximum)
 
template<typename T >
osg::clampAbove (T v, T minimum)
 
template<typename T >
osg::clampBelow (T v, T maximum)
 
template<typename T >
osg::clampBetween (T v, T minimum, T maximum)
 
template<typename T >
osg::sign (T v)
 
template<typename T >
osg::signOrZero (T v)
 
template<typename T >
osg::square (T v)
 
template<typename T >
osg::signedSquare (T v)
 
float osg::inDegrees (float angle)
 
double osg::inDegrees (double angle)
 
template<typename T >
osg::inRadians (T angle)
 
float osg::DegreesToRadians (float angle)
 
double osg::DegreesToRadians (double angle)
 
float osg::RadiansToDegrees (float angle)
 
double osg::RadiansToDegrees (double angle)
 
float osg::round (float v)
 
double osg::round (double v)
 
bool osg::isNaN (float v)
 
bool osg::isNaN (double v)
 
template<typename T >
float osg::computeVolume (const T &a, const T &b, const T &c, const T &d)
 compute the volume of a tetrahedron. More...
 
template<typename T >
float osg::computeVolume (const T &f1, const T &f2, const T &f3, const T &b1, const T &b2, const T &b3)
 compute the volume of a prism. More...
 
OSG_EXPORT double osg::asciiToDouble (const char *str)
 Convert a ascii number to a double, ignoring locale settings. More...
 
float osg::asciiToFloat (const char *str)
 Convert a ascii number to a float, ignoring locale settings. More...
 
OSG_EXPORT double osg::findAsciiToDouble (const char *str)
 Detect first ascii POSITIVE number in string and convert to double. More...
 
float osg::findAsciiToFloat (const char *str)
 Detect first ascii POSITIVE number in string and convert to double. More...
 

Variables

const double osg::PI = 3.14159265358979323846
 
const double osg::PI_2 = 1.57079632679489661923
 
const double osg::PI_4 = 0.78539816339744830962
 
const double osg::LN_2 = 0.69314718055994530942
 
const double osg::INVLN_2 = 1.0 / LN_2
 
const float osg::PIf = 3.14159265358979323846f
 
const float osg::PI_2f = 1.57079632679489661923f
 
const float osg::PI_4f = 0.78539816339744830962f
 
const float osg::LN_2f = 0.69314718055994530942f
 
const float osg::INVLN_2f = 1.0f / LN_2f
 

Macro Definition Documentation

◆ __OSG_MATH

#define __OSG_MATH