Nugget
Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions
soft-math.hh File Reference
#include "fixed-point.hh"
#include "psyqo/matrix.hh"
#include "psyqo/trigonometry.hh"
#include "psyqo/vector.hh"
Include dependency graph for soft-math.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  psyqo
 
namespace  psyqo::SoftMath
 

Enumerations

enum class  psyqo::SoftMath::Axis { psyqo::SoftMath::X , psyqo::SoftMath::Y , psyqo::SoftMath::Z }
 

Functions

void psyqo::SoftMath::generateRotationMatrix33 (Matrix33 *m, Angle t, Axis a, const Trig<> &trig)
 Generate a rotation matrix for a given angle and axis.
 
Matrix33 psyqo::SoftMath::generateRotationMatrix33 (Angle t, Axis a, const Trig<> &trig)
 Generate a rotation matrix for a given angle and axis.
 
void psyqo::SoftMath::multiplyMatrix33 (const Matrix33 &m1, const Matrix33 &m2, Matrix33 *out)
 Multiply two 3x3 matrices.
 
Matrix33 psyqo::SoftMath::multiplyMatrix33 (const Matrix33 &m1, const Matrix33 &m2)
 Multiply two 3x3 matrices.
 
void psyqo::SoftMath::scaleMatrix33 (Matrix33 *m, FixedPoint<> s)
 Scale a 3x3 matrix by a scalar.
 
void psyqo::SoftMath::matrixVecMul3 (const Matrix33 &m, const Vec3 &v, Vec3 *out)
 Multiply a 3x3 matrix by a 3D vector.
 
void psyqo::SoftMath::matrixVecMul3xy (const Matrix33 &m, const Vec3 &v, Vec2 *out)
 Multiply a 3x3 matrix by a 3D vector, returning only the x and y components.
 
FixedPoint psyqo::SoftMath::matrixVecMul3z (const Matrix33 &m, const Vec3 &v)
 Multiply a 3x3 matrix by a 3D vector, returning only the z component.
 
void psyqo::SoftMath::crossProductVec3 (const Vec3 &v1, const Vec3 &v2, Vec3 *out)
 Compute the cross product of two 3D vectors.
 
Vec3 psyqo::SoftMath::crossProductVec3 (const Vec3 &v1, const Vec3 &v2)
 Compute the cross product of two 3D vectors.
 
FixedPoint psyqo::SoftMath::matrixDeterminant3 (const Matrix33 &m)
 Compute the determinant of a 3x3 matrix.
 
FixedPoint psyqo::SoftMath::squareRoot (FixedPoint<> x, FixedPoint<> y)
 Computes the square root of a fixed point number, given an approximative hint.
 
FixedPoint psyqo::SoftMath::inverseSquareRoot (FixedPoint<> x, FixedPoint<> y)
 Computes the inverse square root of a fixed point number, given an approximative hint.
 
FixedPoint psyqo::SoftMath::normOfVec3 (const Vec3 &v)
 Computes the norm of a 3D vector.
 
void psyqo::SoftMath::normalizeVec3 (Vec3 *v)
 Normalizes a 3D vector.
 
void psyqo::SoftMath::fastNormalizeVec3 (Vec3 *v)
 Normalizes a 3D vector, using a faster but less accurate algorithm.
 
void psyqo::SoftMath::project (const Vec3 *v, FixedPoint<> h, Vec2 *out)
 Projects a 3D point onto a 2D plane.