#include <Producer/Export>
#include <Producer/Types>
#include <math.h>
#include <iostream>
#include <algorithm>
Namespaces | |
namespace | Producer |
Classes | |
class | Producer::Vec3 |
class | Producer::Matrix |
Defines | |
#define | PRODUCER_MATH_H 1 |
#define | M_PI 3.14159265358979323846 |
#define | M_PIF 3.14159265358979323846f |
#define | SET_ROW(row, v1, v2, v3, v4) |
#define | INNER_PRODUCT(a, b, r, c) |
#define | QX fv[0] |
#define | QY fv[1] |
#define | QZ fv[2] |
#define | QW fv[3] |
#define | SGL_SWAP(a, b, temp) ((temp)=(a),(a)=(b),(b)=(temp)) |
Functions | |
template<typename T> | |
T | Producer::deg2rad (const T x) |
template<typename T> | |
T | Producer::rad2deg (const T x) |
template<typename T> | |
T | Producer::sqr (const T x) |
Vec3 | Producer::operator * (const Vec3 &v, const Matrix &m) |
std::ostream & | Producer::operator<< (std::ostream &output, const Vec3 &vec) |
std::ostream & | Producer::operator<< (std::ostream &os, const Matrix &m) |
#define INNER_PRODUCT | ( | a, | |||
b, | |||||
r, | |||||
c | ) |
Value:
((a)._mat[r][0] * (b)._mat[0][c]) \ +((a)._mat[r][1] * (b)._mat[1][c]) \ +((a)._mat[r][2] * (b)._mat[2][c]) \ +((a)._mat[r][3] * (b)._mat[3][c])
#define M_PI 3.14159265358979323846 |
#define M_PIF 3.14159265358979323846f |
#define PRODUCER_MATH_H 1 |
#define QW fv[3] |
#define QX fv[0] |
#define QY fv[1] |
#define QZ fv[2] |
#define SET_ROW | ( | row, | |||
v1, | |||||
v2, | |||||
v3, | |||||
v4 | ) |
Value:
_mat[(row)][0] = (v1); \ _mat[(row)][1] = (v2); \ _mat[(row)][2] = (v3); \ _mat[(row)][3] = (v4);
#define SGL_SWAP | ( | a, | |||
b, | |||||
temp | ) | ((temp)=(a),(a)=(b),(b)=(temp)) |