Free Electron
Namespaces | Typedefs | Functions | Variables
algorithms.cc File Reference
#include "math/math.h"
Include dependency graph for algorithms.cc:

Namespaces

 fe
 kernel
 

Typedefs

typedef SpatialVector fe::t_two_vecs[2]
 

Functions

BWORD fe::intersectRaySphere (Real *a_collisionDistance, const SpatialVector &a_rayRoot, const SpatialVector &a_rayDirection, const SpatialVector &a_sphereCenter, const Real &a_sphereRadius)
 
BWORD fe::intersectLinePlane (SpatialVector &a_intersection, BWORD a_loBound, BWORD a_hiBound, const SpatialVector &a_lineLo, const SpatialVector &a_lineHi, const SpatialVector &a_pointOnPlane, const SpatialVector &a_planeNormal)
 
BWORD fe::intersectRayPlane (SpatialVector &a_intersection, const SpatialVector &a_lineLo, const SpatialVector &a_lineHi, const SpatialVector &a_pointOnPlane, const SpatialVector &a_planeNormal)
 
BWORD fe::intersectLineTriangle (SpatialVector &a_intersection, BWORD a_loBound, BWORD a_hiBound, const SpatialVector &a_lineLo, const SpatialVector &a_lineHi, const SpatialVector &a_triA, const SpatialVector &a_triB, const SpatialVector &a_triC, const SpatialVector &a_triNormal)
 
BWORD fe::intersectRayTriangle (SpatialVector &a_intersection, const SpatialVector &a_lineLo, const SpatialVector &a_lineHi, const SpatialVector &a_triA, const SpatialVector &a_triB, const SpatialVector &a_triC)
 
BWORD fe::intersectTrianglePlane (SpatialVector &a_intersectionA, SpatialVector &a_intersectionB, const SpatialVector &a_triA, const SpatialVector &a_triB, const SpatialVector &a_triC, const SpatialVector &a_pointOnPlane, const SpatialVector &a_planeNormal)
 
BWORD fe::sideCheck (const SpatialVector &a_p1, const SpatialVector &a_p2, const SpatialVector &a_a, const SpatialVector &a_b)
 
BWORD fe::pointInTriangle (const SpatialVector &a_point, const SpatialVector &a_triA, const SpatialVector &a_triB, const SpatialVector &a_triC)
 
Vector2 fe::uvDelta (const Vector2 &a_uv0, const Vector2 &a_uv1)
 
BWORD fe::triangleDuDv (SpatialVector &a_du, SpatialVector &a_dv, const SpatialVector &a_point0, const SpatialVector &a_point1, const SpatialVector &a_point2, const Vector2 &a_uv0, const Vector2 &a_uv1, const Vector2 &a_uv2)
 
BWORD fe::tangentFromDuDvN (Vector< 3, Real > &a_tangent, const Vector< 3, Real > &a_du, const Vector< 3, Real > &a_dv, const Vector< 3, Real > &a_normal)
 
void fe::randomRealSeed (const U32 &a_seed)
 
Real fe::randomReal (const Real &a_min, const Real &a_max)
 
Real fe::randomRealReentrant (U32 *a_pSeed, const Real &a_min, const Real &a_max)
 

Variables

Real fe::epsilon = 1.0
 
const EpsilonCalc fe::epscalc