flimEngine
FlimMath Class Reference

A flim mathematics. More...

#include <MathTools.h>

Collaboration diagram for FlimMath:
Collaboration graph

Static Public Member Functions

static bool Intersect (const CollisionVolumeBSphere &A, const CollisionVolumeBSphere &B)
 Intersection math for two bspheres. More...
 
static bool Intersect (const CollisionVolumeBSphere &A, const Vect &P)
 Intersects. More...
 
static bool Intersect (const CollisionVolumeBSphere &A, const CollisionVolumeAABB &B)
 Intersects. More...
 
static bool Intersect (const CollisionVolumeBSphere &A, const CollisionVolumeOBB &B)
 Intersects. More...
 
static bool Intersect (const CollisionVolumeAABB &A, const CollisionVolumeOBB &B)
 Intersects. More...
 
static bool Intersect (const CollisionVolumeOBB &A, const CollisionVolumeOBB &B)
 Intersects. More...
 
static bool Intersect (const CollisionVolumeAABB &A, const CollisionVolumeAABB &B)
 Intersects. More...
 
static bool Intersect (const CollisionVolumeOcclusionLine &A, const CollisionVolumeBSphere &B)
 Intersects. More...
 
static bool Intersect (const CollisionVolumeOcclusionLine &A, const CollisionVolumeOBB &B)
 Intersects. More...
 
static bool Intersect (const CollisionVolumeOcclusionLine &A, const CollisionVolumeAABB &B)
 Intersects. More...
 
static bool Intersect (const CollisionVolumeOcclusionLine &A, const CollisionVolumeOcclusionLine &B)
 Intersects. More...
 
static bool Intersect (Collidable *A, Collidable *B)
 Intersects. More...
 
static bool Intersect (const CollisionVolume &A, const CollisionVolumeAABB &B)
 Intersects. More...
 
static const Vect getMin (Vect *, int)
 Finds the min of the given arguments. More...
 
static const Vect getMax (Vect *, int)
 Finds the max of the given arguments. More...
 
static const errcode getMinComponent (Vect &vector, float &x, float &y, float &z)
 Gets minimum component. More...
 
static const errcode getMaxComponent (Vect &vector, float &x, float &y, float &z)
 Gets maximum component. More...
 
static const errcode getMaxComponent (Vect &globalMax, Vect &localMax)
 Gets maximum component. More...
 
static const errcode getMinComponent (Vect &globalMin, Vect &localMin)
 Gets minimum component. More...
 
static bool DifferentEnough (const Vect &v1, const Vect &v2, float epsilon)
 Different enough. More...
 
static float ClampFloat (float clamp, float a, float b)
 Clamp float. More...
 
static Vect ClampPoint (Vect &point, const Vect &min, const Vect &max)
 Clamp point. More...
 
static bool OBBOverlap (const Vect &v, const CollisionVolumeOBB &M, const CollisionVolumeOBB &N)
 Obb overlap. More...
 
static bool OBBOverlap (const Vect &v, const CollisionVolumeAABB &M, const CollisionVolumeOBB &N)
 Obb overlap. More...
 
static bool Overlap (float aMin, float aMax, float bMin, float bMax)
 Overlaps. More...
 
static float MaxOBBProjectionLength (const Vect &v, const CollisionVolumeOBB &obb)
 Maximum obb projection length. More...
 
static float MaxOBBProjectionLength (const Vect &v, const CollisionVolumeAABB &obb)
 Maximum obb projection length. More...
 
static const Vect getMin (Vect *, int, Matrix &)
 Finds the min of the given arguments. More...
 
static const Vect getMax (Vect *, int, Matrix &)
 Finds the max of the given arguments. More...
 

Detailed Description

A flim mathematics.

Author
Jack Campbell
Date
3/13/2017

Member Function Documentation

◆ ClampFloat()

static float FlimMath::ClampFloat ( float  clamp,
float  a,
float  b 
)
static

Clamp float.

Author
Jack Campbell
Date
6/1/2017
Parameters
clampThe clamp.
aThe float to process.
bThe float to process.
Returns
A float.

◆ ClampPoint()

static Vect FlimMath::ClampPoint ( Vect &  point,
const Vect &  min,
const Vect &  max 
)
static

Clamp point.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]pointThe point.
minThe minimum.
maxThe maximum.
Returns
A Vect.

◆ DifferentEnough()

static bool FlimMath::DifferentEnough ( const Vect &  v1,
const Vect &  v2,
float  epsilon 
)
static

Different enough.

Author
Jack Campbell
Date
6/1/2017
Parameters
v1The first Vect.
v2The second Vect.
epsilonThe epsilon.
Returns
True if it succeeds, false if it fails.

◆ getMax() [1/2]

static const Vect FlimMath::getMax ( Vect *  points,
int  size 
)
static

Finds the max of the given arguments.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]parameter1If non-null, the first parameter.
parameter2The second parameter.
Returns
The calculated maximum.

◆ getMax() [2/2]

static const Vect FlimMath::getMax ( Vect *  points,
int  size,
Matrix &  world 
)
static

Finds the max of the given arguments.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]parameter1If non-null, the first parameter.
parameter2The second parameter.
[in,out]parameter3The third parameter.
Returns
The calculated maximum.

◆ getMaxComponent() [1/2]

static const errcode FlimMath::getMaxComponent ( Vect &  vector,
float &  x,
float &  y,
float &  z 
)
static

Gets maximum component.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]vectorThe vector.
[in,out]xThe float to process.
[in,out]yThe float to process.
[in,out]zThe float to process.
Returns
The maximum component.

◆ getMaxComponent() [2/2]

static const errcode FlimMath::getMaxComponent ( Vect &  globalMax,
Vect &  localMax 
)
static

Gets maximum component.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]globalMaxThe global maximum.
[in,out]localMaxThe local maximum.
Returns
The maximum component.

◆ getMin() [1/2]

static const Vect FlimMath::getMin ( Vect *  points,
int  size 
)
static

Finds the min of the given arguments.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]parameter1If non-null, the first parameter.
parameter2The second parameter.
Returns
The calculated minimum.

◆ getMin() [2/2]

static const Vect FlimMath::getMin ( Vect *  points,
int  size,
Matrix &  world 
)
static

Finds the min of the given arguments.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]parameter1If non-null, the first parameter.
parameter2The second parameter.
[in,out]parameter3The third parameter.
Returns
The calculated minimum.

◆ getMinComponent() [1/2]

static const errcode FlimMath::getMinComponent ( Vect &  vector,
float &  x,
float &  y,
float &  z 
)
static

Gets minimum component.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]vectorThe vector.
[in,out]xThe float to process.
[in,out]yThe float to process.
[in,out]zThe float to process.
Returns
The minimum component.

◆ getMinComponent() [2/2]

static const errcode FlimMath::getMinComponent ( Vect &  globalMin,
Vect &  localMin 
)
static

Gets minimum component.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]globalMinThe global minimum.
[in,out]localMinThe local minimum.
Returns
The minimum component.

◆ Intersect() [1/13]

static bool FlimMath::Intersect ( const CollisionVolumeBSphere A,
const CollisionVolumeBSphere B 
)
static

Intersection math for two bspheres.

Intersects.

Author
Jack Campbell
Date
3/5/2017
Parameters
AThe CollisionVolumeBSphere to process.
BThe CollisionVolumeBSphere to process.
// Testing two collidables
bool test_result = FlimMath::Intersect(Ship1->GetBSphere(), Ship2->GetBSphere());
Returns
True if it succeeds, false if it fails.
Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeBSphere to process.
BThe CollisionVolumeBSphere to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [2/13]

static bool FlimMath::Intersect ( const CollisionVolumeBSphere A,
const Vect &  P 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeBSphere to process.
PThe Vect to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [3/13]

static bool FlimMath::Intersect ( const CollisionVolumeBSphere A,
const CollisionVolumeAABB B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeBSphere to process.
BThe CollisionVolumeAABB to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [4/13]

static bool FlimMath::Intersect ( const CollisionVolumeBSphere A,
const CollisionVolumeOBB B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeBSphere to process.
BThe CollisionVolumeOBB to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [5/13]

static bool FlimMath::Intersect ( const CollisionVolumeAABB A,
const CollisionVolumeOBB B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeAABB to process.
BThe CollisionVolumeOBB to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [6/13]

static bool FlimMath::Intersect ( const CollisionVolumeOBB A,
const CollisionVolumeOBB B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeOBB to process.
BThe CollisionVolumeOBB to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [7/13]

static bool FlimMath::Intersect ( const CollisionVolumeAABB A,
const CollisionVolumeAABB B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeAABB to process.
BThe CollisionVolumeAABB to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [8/13]

static bool FlimMath::Intersect ( const CollisionVolumeOcclusionLine A,
const CollisionVolumeBSphere B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeOcclusionLine to process.
BThe CollisionVolumeBSphere to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [9/13]

static bool FlimMath::Intersect ( const CollisionVolumeOcclusionLine A,
const CollisionVolumeOBB B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeOcclusionLine to process.
BThe CollisionVolumeOBB to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [10/13]

static bool FlimMath::Intersect ( const CollisionVolumeOcclusionLine A,
const CollisionVolumeAABB B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeOcclusionLine to process.
BThe CollisionVolumeAABB to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [11/13]

static bool FlimMath::Intersect ( const CollisionVolumeOcclusionLine A,
const CollisionVolumeOcclusionLine B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolumeOcclusionLine to process.
BThe CollisionVolumeOcclusionLine to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [12/13]

static bool FlimMath::Intersect ( Collidable A,
Collidable B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]AIf non-null, the Collidable to process.
[in,out]BIf non-null, the Collidable to process.
Returns
True if it succeeds, false if it fails.

◆ Intersect() [13/13]

static bool FlimMath::Intersect ( const CollisionVolume A,
const CollisionVolumeAABB B 
)
static

Intersects.

Author
Jack Campbell
Date
6/1/2017
Parameters
AThe CollisionVolume to process.
BThe CollisionVolumeAABB to process.
Returns
True if it succeeds, false if it fails.

◆ MaxOBBProjectionLength() [1/2]

static float FlimMath::MaxOBBProjectionLength ( const Vect &  v,
const CollisionVolumeOBB obb 
)
static

Maximum obb projection length.

Author
Jack Campbell
Date
6/1/2017
Parameters
vThe Vect to process.
obbThe obb.
Returns
A float.

◆ MaxOBBProjectionLength() [2/2]

static float FlimMath::MaxOBBProjectionLength ( const Vect &  v,
const CollisionVolumeAABB obb 
)
static

Maximum obb projection length.

Author
Jack Campbell
Date
6/1/2017
Parameters
vThe Vect to process.
obbThe obb.
Returns
A float.

◆ OBBOverlap() [1/2]

static bool FlimMath::OBBOverlap ( const Vect &  v,
const CollisionVolumeOBB M,
const CollisionVolumeOBB N 
)
static

Obb overlap.

Author
Jack Campbell
Date
6/1/2017
Parameters
vThe Vect to process.
MThe CollisionVolumeOBB to process.
NThe CollisionVolumeOBB to process.
Returns
True if it succeeds, false if it fails.

◆ OBBOverlap() [2/2]

static bool FlimMath::OBBOverlap ( const Vect &  v,
const CollisionVolumeAABB M,
const CollisionVolumeOBB N 
)
static

Obb overlap.

Author
Jack Campbell
Date
6/1/2017
Parameters
vThe Vect to process.
MThe CollisionVolumeAABB to process.
NThe CollisionVolumeOBB to process.
Returns
True if it succeeds, false if it fails.

◆ Overlap()

static bool FlimMath::Overlap ( float  aMin,
float  aMax,
float  bMin,
float  bMax 
)
static

Overlaps.

Author
Jack Campbell
Date
6/1/2017
Parameters
aMinThe minimum.
aMaxThe maximum.
bMinThe minimum.
bMaxThe maximum.
Returns
True if it succeeds, false if it fails.

The documentation for this class was generated from the following files: