Dura2D  v0.1.0
An educational 2D game physics library
Loading...
Searching...
No Matches
d2Math.h File Reference
#include <cmath>
#include <cfloat>
#include "d2api.h"
#include "d2Types.h"

Go to the source code of this file.

Classes

struct  d2Vec2
 Represents a 2D vector. More...
 
struct  d2VecN
 Represents an N-dimensional vector. More...
 
struct  d2MatMN
 Represents an MxN matrix. More...
 
struct  d2Rot
 Represents a rotation in 2D space. More...
 
struct  d2Transform
 Represents a transformation in 2D space. More...
 

Macros

#define d2Sqrt(x)
 
#define d2Atan2(y, x)
 
#define d2Abs(x)
 
#define PI   3.14159265359f
 
#define TAU   6.28318530718f
 

Functions

template<typename T >
d2Min (T a, T b)
 
d2Vec2 d2Min (const d2Vec2 &a, const d2Vec2 &b)
 
template<typename T >
d2Max (T a, T b)
 
d2Vec2 d2Max (const d2Vec2 &a, const d2Vec2 &b)
 
template<typename T >
d2Clamp (T value, T lower, T upper)
 
d2Vec2 operator* (real s, const d2Vec2 &v)
 
d2Vec2 d2Rotate (const d2Rot &rot, const d2Vec2 &v)
 

Macro Definition Documentation

◆ d2Abs

#define d2Abs ( x)
Value:
((x) > 0.0F ? (x) : -(x))

◆ d2Atan2

#define d2Atan2 ( y,
x )
Value:
atan2f(y, x)

◆ d2Sqrt

#define d2Sqrt ( x)
Value:
sqrtf(x)

◆ PI

#define PI   3.14159265359f

◆ TAU

#define TAU   6.28318530718f

Function Documentation

◆ d2Clamp()

template<typename T >
T d2Clamp ( T value,
T lower,
T upper )
inline

◆ d2Max() [1/2]

d2Vec2 d2Max ( const d2Vec2 & a,
const d2Vec2 & b )
inline

◆ d2Max() [2/2]

template<typename T >
T d2Max ( T a,
T b )
inline

◆ d2Min() [1/2]

d2Vec2 d2Min ( const d2Vec2 & a,
const d2Vec2 & b )
inline

◆ d2Min() [2/2]

template<typename T >
T d2Min ( T a,
T b )
inline

◆ d2Rotate()

d2Vec2 d2Rotate ( const d2Rot & rot,
const d2Vec2 & v )
inline

◆ operator*()

d2Vec2 operator* ( real s,
const d2Vec2 & v )
inline