Free Electron
Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
math.h File Reference
#include "fe/core.h"
#include <limits>
#include <math.h>
#include "Vector.h"
#include "Vector2.h"
#include "Vector3.h"
#include "Color.h"
#include "Matrix.h"
#include "Quaternion.h"
#include "Matrix3x4.h"
#include "OrthonormalBasis.h"
#include "Euler.h"
#include "Box.h"
#include "DAGNode.h"
#include "Barycenter.h"
#include "math/Mass.h"
#include "math/assertMath.h"
#include "math/algorithms.h"
Include dependency graph for math.h:

Go to the source code of this file.

Namespaces

 fe
 kernel
 

Macros

#define FE_MATH_PORT   FE_DL_IMPORT
 
#define FE_EXPLOIT_MEMCPY   FALSE
 
#define FE_BOUNDSCHECK   (FE_CODEGEN<=FE_DEBUG)
 
#define FE_VEC_CHECK_VALID   (FE_CODEGEN<=FE_DEBUG)
 
#define FE_INVALID_SCALAR(scalar)   (scalar != scalar)
 

Typedefs

typedef Vector< 3, Real > fe::SpatialVector
 
typedef Matrix< 3, 3, Real > fe::SpatialMatrix
 

Enumerations

enum  Axis {
  e_xAxis =0x00,
  e_yAxis =0x01,
  e_zAxis =0x02
}
 

Functions

template<class T >
fe::minimum (T a, T b)
 
template<class T >
fe::maximum (T a, T b)
 
template<class T >
fe::clamp (T a, T lo, T hi)
 
template<class T >
fe::clampmax (T a, T hi)
 
template<class T >
fe::clampmin (T a, T lo)
 
template<class T >
fe::sign (T a)
 
template<typename T , typename U >
bool fe::isZero (T a_value, U a_tolerance)
 
template<typename T >
bool fe::isZeroV3 (const Vector< 3, T > &a_vec, T a_tolerance)
 
template<typename T >
bool fe::isZero (T a_value)
 
bool fe::isZero (const Vector< 3, double > &a_vec)
 
bool fe::isZero (const Vector< 3, float > &a_vec)
 
const SpatialVector fe::zeroVector (Real(0), Real(0), Real(0))
 

Variables

const Real fe::pi =Real(M_PI)
 
const Real fe::degToRad =fe::pi/Real(180)
 
const Real fe::radToDeg =Real(180)/fe::pi
 
const Real fe::tol =1e-5f