Tactics: Western Philosophers Vs. Musicians
0.12
A turn-based tactical game combining rules and gameplay elements inspired by Final Fantasy Tactics and the Mayfair Exponential Game System. Unlike most games of this type, motion is in full, grid-less 3D.
|
All Math classes, functions, variables, and constants. More...
Classes | |
class | Interpolator |
struct | ILerpOverTime |
struct | LerpOverTime1 |
struct | LerpOverTime3 |
struct | LerpOverTime3x3 |
class | Matrix3x3 |
class | Path |
class | Point |
class | Quaternion |
Functions | |
const float | PI (3.14159265f) |
const float | DEGREES_TO_RADIANS (0.01745329f) |
const float | RADIANS_TO_DEGREES (57.29577951f) |
const float | PSEUDO_INFINITY (1000000.0f) |
const float | CLOSE_TO_ZERO (0.00001f) |
float | getRadFromDeg (float deg_) |
float | rand01 () |
float | randNeg1Pos1 () |
int | roundToInt (double num_) |
Utils::uint | roundToUInt (float num_) |
Utils::uint | timeStamp () |
template<class T > | |
T | clamp (T &num_, const T &min_=0, const T &max_=1) |
Matrix3x3 | operator* (const Matrix3x3 &lhs_, const Matrix3x3 &rhs_) |
Matrix3x3 | getRotation (const Math::Point<> &axis_, float radians_) |
void | getAxisAngle (const Matrix3x3 &rot_, Math::Point<> &axis_, float &radians_) |
Math::Point | operator* (const Math::Point<> &lhs_, const Matrix3x3 &rhs_) |
template<class T , class U > | |
bool | operator== (const Point< T > &lhs_, const Point< U > &rhs_) |
template<class T , class U > | |
bool | operator!= (const Point< T > &lhs_, const Point< U > &rhs_) |
template<class T , class U > | |
Point< T > | operator+ (const Point< T > &lhs_, const Point< U > &rhs_) |
template<class T , class U > | |
Point< T > | operator- (const Point< T > &lhs_, const Point< U > &rhs_) |
template<class T , class U > | |
Point< T > | operator* (const Point< T > &lhs_, const Point< U > &rhs_) |
template<class T , class U > | |
Point< T > | operator/ (const Point< T > &lhs_, const Point< U > &rhs_) |
template<class T , class U > | |
Point< T > | operator* (const Point< T > &lhs_, const U &rhs_) |
template<class T , class U > | |
Point< T > | operator/ (const Point< T > &lhs_, const U &rhs_) |
template<class T , class U > | |
T | getLength (const Point< T > &lhs_, const Point< U > &rhs_) |
template<class T , class U > | |
Point< T > | interpolate (const Point< T > &lhs_, const Point< U > &rhs_, float amount_) |
Point< float, 2 > | RandPointInOrOnCircle (float radius_) |
Variables | |
const Matrix3x3 | g_identityMatrix3x3 |
const Point | g_origin |
const Point | g_xAxis (1.0f, 0.0f, 0.0f) |
const Point | g_yAxis (0.0f, 1.0f, 0.0f) |
const Point | g_zAxis (0.0f, 0.0f, 1.0f) |
const Quaternion | g_multIdentityQuat |
All Math classes, functions, variables, and constants.
|
inline |
If a number is out of specified bounds, set it to the nearest bound, and return the difference between the original value and nearest bound.
num_ | the number to check |
min_ | the minimum bound |
max_ | the maximum bound |
const float OpenSkyNet::Math::CLOSE_TO_ZERO | ( | 0. | 00001f | ) |
const float OpenSkyNet::Math::DEGREES_TO_RADIANS | ( | 0. | 01745329f | ) |
|
inline |
Get the axis-angle representation of a matrix. NOTE: rot_ must be orthonormal Based on code from: http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm
|
inline |
Length
|
inline |
Returns the # of radians equivalent to deg_ degrees.
|
inline |
Return the rotation matrix corresponding to this axis/angle. NOTE: axis_ must be normalized
|
inline |
Interpolation Return a point along a line defined by 2 points (endpoints inclusive)
lhs_ | 1st bounding point to use for interpolation |
rhs_ | 2nd bounding point to use for interpolation |
amount_ | from 0 (lhs_) to 1 (rhs_) |
|
inline |
Inequality
|
inline |
Matrix Multiplication
|
inline |
Multiplication of a point by a matrix
|
inline |
Component multiplication
|
inline |
Multiplication of all axes by a scalar
|
inline |
Addition
|
inline |
Subtraction
|
inline |
Component division
|
inline |
Division of all axes by a scalar
|
inline |
Equality
const float OpenSkyNet::Math::PI | ( | 3. | 14159265f | ) |
const float OpenSkyNet::Math::PSEUDO_INFINITY | ( | 1000000. | 0f | ) |
const float OpenSkyNet::Math::RADIANS_TO_DEGREES | ( | 57. | 29577951f | ) |
|
inline |
Returns a pseudo-random float between 0.0 and 1.0.
|
inline |
Returns a pseudo-random float between -1.0 and 1.0.
|
inline |
Pick a random point in a circle of a given radius. First, try rejection sampling by picking a random point in a square of side 2r and test if it lies in or on the circle. If that fails after a few attempts (see code comments), then use this method: http://stackoverflow.com/questions/5837572/generate-a-random-point-within-a-circle-uniformly/5838055#5838055
|
inline |
Round a double to an int.
|
inline |
Round a positive float to an uint.
|
inline |
Returns the number of seconds passed since the process started.
const Math::Matrix3x3 OpenSkyNet::Math::g_identityMatrix3x3 |
const Math::Quaternion OpenSkyNet::Math::g_multIdentityQuat |
const Math::Point OpenSkyNet::Math::g_origin |
const Math::Point OpenSkyNet::Math::g_xAxis |
const Math::Point OpenSkyNet::Math::g_yAxis |
const Math::Point OpenSkyNet::Math::g_zAxis |