Classes |
class | IceMaths::AABB |
class | IceMaths::Axes |
class | IceCore::BasicRandom |
class | IceCore::Container |
class | IceMaths::HPoint |
class | IceMaths::IndexedTriangle |
class | IceMaths::Matrix3x3 |
class | IceMaths::Matrix4x4 |
class | IceMaths::OBB |
struct | IceCore::Pair |
| A generic couple structure. More...
|
class | IceCore::Pairs |
class | IceMaths::Plane |
class | IceMaths::Point |
class | IceCore::RadixSort |
class | IceMaths::Ray |
class | IceMaths::Sphere |
Namespaces |
namespace | IceCore |
namespace | IceMaths |
Defines |
#define | EC_OUTOFMEMORY "Out of memory" |
#define | ICE_COMPILE_TIME_ASSERT(exp) extern char ICE_Dummy[ (exp) ? 1 : -1 ] |
#define | ICE_DONT_CHECK_COMPILER_OPTIONS |
#define | ICECORE_API OPCODE_API |
#define | ICEMATHS_API OPCODE_API |
#define | Log {} |
#define | SetIceError(a, b) false |
Typedefs |
typedef int | BOOL |
typedef int | IceMaths::CubeIndex |
Enumerations |
enum | IceMaths::AABBType { IceMaths::AABB_RENDER = 0,
IceMaths::AABB_UPDATE = 1,
IceMaths::AABB_FORCE_DWORD = 0x7fffffff
} |
enum | IceMaths::AxisOrder {
IceMaths::AXES_XYZ = (_X)|(_Y<<2)|(_Z<<4),
IceMaths::AXES_XZY = (_X)|(_Z<<2)|(_Y<<4),
IceMaths::AXES_YXZ = (_Y)|(_X<<2)|(_Z<<4),
IceMaths::AXES_YZX = (_Y)|(_Z<<2)|(_X<<4),
IceMaths::AXES_ZXY = (_Z)|(_X<<2)|(_Y<<4),
IceMaths::AXES_ZYX = (_Z)|(_Y<<2)|(_X<<4),
IceMaths::AXES_FORCE_DWORD = 0x7fffffff
} |
enum | IceMaths::BSphereMethod { IceMaths::BS_NONE,
IceMaths::BS_GEMS,
IceMaths::BS_MINIBALL,
IceMaths::BS_FORCE_DWORD = 0x7fffffff
} |
enum | IceCore::FindMode { IceCore::FIND_CLAMP,
IceCore::FIND_WRAP,
IceCore::FIND_FORCE_DWORD = 0x7fffffff
} |
enum | IceMaths::PointComponent {
IceMaths::_X = 0,
IceMaths::_Y = 1,
IceMaths::_Z = 2,
IceMaths::_W = 3,
IceMaths::_FORCE_DWORD = 0x7fffffff
} |
enum | IceCore::RadixHint { IceCore::RADIX_SIGNED,
IceCore::RADIX_UNSIGNED,
IceCore::RADIX_FORCE_DWORD = 0x7fffffff
} |
Functions |
inline_ void | IceCore::_prefetch (void const *ptr) |
inline_ udword | IceCore::abs_ (sdword x) |
| Alternative min function.
|
FUNCTION ICECORE_API udword | IceCore::Alignment (udword address) |
inline_ int | IceCore::ClampToInt16 (int x) |
inline_ void | IceCore::Compute2DCoords (udword &u, udword &v, udword i, udword nbu) |
inline_ void | IceCore::Compute3DCoords (udword &u, udword &v, udword &w, udword i, udword nbu, udword nbu_nbv) |
inline_ void | IceMaths::ComputeAABB (AABB &aabb, const Point *list, udword nb_pts) |
inline_ void | IceMaths::ComputeLocalDirection (Point &local_dir, const Point &world_dir, const Matrix4x4 &world) |
inline_ void | IceMaths::ComputeLocalPoint (Point &local_pt, const Point &world_pt, const Matrix4x4 &world) |
inline_ void | IceMaths::ComputeLocalRay (Ray &local_ray, const Ray &world_ray, const Matrix4x4 &world) |
inline_ void | IceMaths::ComputeMinMax (const Point &p, Point &min, Point &max) |
inline_ void | IceMaths::ComputeReflexionVector (Point &reflected, const Point &incoming_dir, const Point &outward_normal) |
inline_ void | IceMaths::ComputeReflexionVector (Point &reflected, const Point &source, const Point &impact, const Point &normal) |
inline_ udword | IceCore::CountBits (udword n) |
| Count the number of '1' bits in a 32 bit word (from Steve Baker's Cute Code Collection)
|
inline_ udword | IceCore::CountBits2 (udword bits) |
| Even faster?
|
inline_ void | IceMaths::DecomposeVector (Point &normal_compo, Point &tangent_compo, const Point &outward_dir, const Point &outward_normal) |
inline_ float | IceCore::FeedbackFilter (float val, float &memory, float sharpness) |
ICECORE_API udword | IceCore::GetRandomIndex (udword max_index) |
| Returns a random index so that 0<= index < max_index.
|
inline_ BOOL | IceCore::HasNullByte (udword x) |
ICEMATHS_API void | IceMaths::InvertPRMatrix (Matrix4x4 &dest, const Matrix4x4 &src) |
inline_ bool | IceCore::IsPowerOfTwo (udword n) |
| Test to see if a number is an exact power of two (from Steve Baker's Cute Code Collection)
|
inline_ char | IceCore::LittleEndian () |
| Alternative abs function.
|
inline_ udword | IceCore::LowestOneBit (udword w) |
inline_ sdword | IceCore::min_ (sdword a, sdword b) |
inline_ udword | IceCore::msb32 (udword x) |
inline_ udword | IceCore::nlpo2 (udword x) |
FUNCTION ICEMATHS_API void | IceMaths::Normalize1 (Point &a) |
FUNCTION ICEMATHS_API void | IceMaths::Normalize2 (Point &a) |
FUNCTION ICECORE_API udword | IceCore::Rand () |
inline_ void | IceCore::ReverseBits (udword &n) |
inline_ void | IceCore::SetLeastNBits (udword &x, udword n) |
| Set the least significant N bits in a word. (from Steve Baker's Cute Code Collection)
|
inline_ void | IceCore::SpreadBits (udword &n) |
FUNCTION ICECORE_API void | IceCore::SRand (udword seed) |
*inline_ void | IceCore::Swap (udword &x, udword &y) |
template<class Type > |
inline_ Type | IceCore::TClamp (const Type &x, const Type &lo, const Type &hi) |
inline_ void | IceMaths::TransformPlane (Plane &transformed, const Plane &plane, const Matrix4x4 &transform) |
inline_ void | IceMaths::TransformPlane (Plane &plane, const Matrix4x4 &transform) |
inline_ void | IceMaths::TransformPoint3x3 (Point &dest, const Point &source, const Matrix4x4 &rot) |
| Quickly rotates a vector, using the 3x3 part of a 4x4 matrix.
|
inline_ void | IceMaths::TransformPoint4x3 (Point &dest, const Point &source, const Matrix4x4 &rot) |
| Quickly rotates & translates a vector, using the 4x3 part of a 4x4 matrix.
|
template<class Type > |
inline_ void | IceCore::TSort (Type &a, Type &b) |
template<class Type > |
inline_ void | IceCore::TSort (Type &a, Type &b, Type &c) |
template<class Type > |
inline_ void | IceCore::TSwap (Type &a, Type &b) |
inline_ float | IceCore::UnitRandomFloat () |
| Returns a unit random floating-point value.
|
inline_ void | IceCore::ZeroLeastSetBit (udword &n) |
| Zero the least significant '1' bit in a word. (from Steve Baker's Cute Code Collection)
|
Variables |
const float | IceMaths::EPSILON2 = 1.0e-20f |
| IceCore::x = y |
| IceCore::y = x |