OpenCOVER
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Macros | Functions
mathUtils.h File Reference
#include <util/coExport.h>
#include <osg/Vec3>
#include <osg/Matrix>
#include <math.h>
Include dependency graph for mathUtils.h:

Go to the source code of this file.

Classes

class  coCoord
 

Macros

#define _USE_MATH_DEFINES
 
#define M_PI   3.141592653
 
#define MAKE_EULER_MAT(m, h, p, r)
 
#define MAKE_EULER_MAT_VEC(m, hpr)   MAKE_EULER_MAT(m, hpr[0], hpr[1], hpr[2])
 

Functions

void OSGVRUIEXPORT snapTo45Degrees (osg::Matrix *mat)
 
void OSGVRUIEXPORT snapToDegrees (float degree, osg::Matrix *mat)
 
double OSGVRUIEXPORT mod (double a, double b)
 

Macro Definition Documentation

#define _USE_MATH_DEFINES
#define M_PI   3.141592653
#define MAKE_EULER_MAT (   m,
  h,
  p,
 
)
Value:
{ \
double sr, sp, sh, cr, cp, ch; \
sr = sin(r / 180.0 * M_PI); \
sp = sin(p / 180.0 * M_PI); \
sh = sin(h / 180.0 * M_PI); \
cr = cos(r / 180.0 * M_PI); \
cp = cos(p / 180.0 * M_PI); \
ch = cos(h / 180.0 * M_PI); \
m(0, 0) = ch * cr - sh * sr * sp; \
m(0, 1) = cr * sh + ch * sr * sp; \
m(0, 2) = -sr * cp; \
m(0, 3) = 0; \
m(1, 0) = -sh * cp; \
m(1, 1) = ch * cp; \
m(1, 2) = sp; \
m(1, 3) = 0; \
m(2, 0) = sp * cr * sh + sr * ch; \
m(2, 1) = sr * sh - sp * cr * ch; \
m(2, 2) = cp * cr; \
m(2, 3) = 0; \
m(3, 0) = 0; \
m(3, 1) = 0; \
m(3, 2) = 0; \
m(3, 3) = 1; \
}
#define M_PI
Definition: mathUtils.h:19
#define MAKE_EULER_MAT_VEC (   m,
  hpr 
)    MAKE_EULER_MAT(m, hpr[0], hpr[1], hpr[2])

Function Documentation

double OSGVRUIEXPORT mod ( double  a,
double  b 
)
void OSGVRUIEXPORT snapTo45Degrees ( osg::Matrix *  mat)
void OSGVRUIEXPORT snapToDegrees ( float  degree,
osg::Matrix *  mat 
)