Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# irr::core Namespace Reference

Basic classes such as vectors, planes, arrays, lists, and so on can be found in this namespace. More...

## Classes

class | aabbox3d
| Axis aligned bounding box in 3d dimensional space. More...
class | array
| Self reallocating template array (like stl vector) with additional features. More...
class | CMatrix4
| 4x4 matrix. Mostly used as transformation matrix for 3d calculations. More...
class | dimension2d
| Specifies a 2 dimensional size. More...
union | inttofloat
class | irrAllocator
| Very simple allocator implementation, containers using it can be used across dll boundaries. More...
class | irrAllocatorFast
| Fast allocator, only to be used in containers inside the same memory heap. More...
class | line2d
| 2D line between two points with intersection methods. More...
class | line3d
| 3D line between two points with intersection methods. More...
class | list
| Doubly linked list template. More...
class | map
| map template for associative arrays using a red-black tree More...
class | plane3d
| Template plane class with some intersection testing methods. More...
class | quaternion
| Quaternion class for representing rotations. More...
class | rect
| Rectangle template. More...
class | string
class | triangle3d
| 3d triangle template class for doing collision detection and other things. More...
class | vector2d
| 2d vector template class with lots of operators and methods. More...
class | vector3d
| 3d vector template class with lots of operators and methods. More...

## Typedefs

typedef aabbox3d< f32 > | aabbox3df
| Typedef for a f32 3d bounding box.
typedef aabbox3d< s32 > | aabbox3di
| Typedef for an integer 3d bounding box.
typedef dimension2d< f32 > | dimension2df
| Typedef for an f32 dimension.
typedef dimension2d< s32 > | dimension2di
| Typedef for an integer dimension.
typedef dimension2d< u32 > | dimension2du
| Typedef for an unsigned integer dimension.
typedef line2d< f32 > | line2df
| Typedef for an f32 line.
typedef line2d< s32 > | line2di
| Typedef for an integer line.
typedef line3d< f32 > | line3df
| Typedef for an f32 line.
typedef line3d< s32 > | line3di
| Typedef for an integer line.
typedef CMatrix4< f32 > | matrix4
| Typedef for f32 matrix.
typedef plane3d< f32 > | plane3df
| Typedef for a f32 3d plane.
typedef plane3d< s32 > | plane3di
| Typedef for an integer 3d plane.
typedef vector2d< f32 > | position2df
typedef vector2d< s32 > | position2di
typedef rect< f32 > | rectf
| Rectangle with float values.
typedef rect< s32 > | recti
| Rectangle with int values.
typedef string< c8 > | stringc
| Typedef for character strings.
typedef string< wchar_t > | stringw
| Typedef for wide character strings.
typedef triangle3d< f32 > | triangle3df
| Typedef for a f32 3d triangle.
typedef triangle3d< s32 > | triangle3di
| Typedef for an integer 3d triangle.
typedef vector2d< f32 > | vector2df
| Typedef for f32 2d vector.
typedef vector2d< s32 > | vector2di
| Typedef for integer 2d vector.
typedef vector3d< f32 > | vector3df
| Typedef for a f32 3d vector.
typedef vector3d< s32 > | vector3di
| Typedef for an integer 3d vector.

## Enumerations

enum | eAllocStrategy { ALLOC_STRATEGY_SAFE = 0, ALLOC_STRATEGY_DOUBLE = 1, ALLOC_STRATEGY_SQRT = 2 }
| defines an allocation strategy More...
enum | EIntersectionRelation3D { ISREL3D_FRONT = 0, ISREL3D_BACK, ISREL3D_PLANAR, ISREL3D_SPANNING, ISREL3D_CLIPPED }
| Enumeration for intersection relations of 3d objects. More...
enum | eLocaleID { IRR_LOCALE_ANSI = 0, IRR_LOCALE_GERMAN = 1 }
| Very simple string class with some useful features. More...

## Functions

template<class T >
T | abs_ (const T &a)
| returns abs of two values. Own implementation to get rid of STL (VS6 problems)
REALINLINE s32 | ceil32 (f32 x)
template<class T >
const T | clamp (const T &value, const T &low, const T &high)
| clamps a value between low and high
REALINLINE void | clearFPUException ()
io::path & | cutFilenameExtension (io::path &dest, const io::path &source)
| cut the filename extension from a source file path and store it in a dest file path
f64 | degToRad (f64 degrees)
| Utility function to convert a degrees value to radians.
f32 | degToRad (f32 degrees)
| Utility function to convert a degrees value to radians.
io::path & | deletePathFromFilename (io::path &filename)
| delete path from filename
io::path & | deletePathFromPath (io::path &filename, s32 pathCount)
| trim paths
bool | equals (const u32 a, const u32 b, const s32 tolerance=ROUNDING_ERROR_S32)
| returns if a equals b, taking an explicit rounding tolerance into account
bool | equals (const s32 a, const s32 b, const s32 tolerance=ROUNDING_ERROR_S32)
| returns if a equals b, taking an explicit rounding tolerance into account
bool | equals (const f32 a, const f32 b, const f32 tolerance=ROUNDING_ERROR_f32)
| returns if a equals b, taking possible rounding errors into account
bool | equals (const f64 a, const f64 b, const f64 tolerance=ROUNDING_ERROR_f64)
| returns if a equals b, taking possible rounding errors into account
f32 | f32_max3 (const f32 a, const f32 b, const f32 c)
f32 | f32_min3 (const f32 a, const f32 b, const f32 c)
float | fast_atof (const char *floatAsString)
const char * | fast_atof_move (const char *in, f32 &out)
REALINLINE s32 | floor32 (f32 x)
f32 | FR (s32 x)
f32 | FR (u32 x)
| Floating-point representation of an integer value.
f32 | fract (f32 x)
io::path & | getFileNameExtension (io::path &dest, const io::path &source)
| get the filename extension from a file path
bool | hasFileExtension (const io::path &filename, const io::path &ext0, const io::path &ext1="", const io::path &ext2="")
| search if a filename has a proper extension
template<class T >
void | heapsink (T *array, s32 element, s32 max)
| Sinks an element into the heap.
template<class T >
void | heapsort (T *array_, s32 size)
| Sorts an array with size 'size' using heapsort.
REALINLINE u32 | if_c_a_else_0 (const s32 condition, const u32 a)
| conditional set based on mask and arithmetic shift
REALINLINE u16 | if_c_a_else_b (const s16 condition, const u16 a, const u16 b)
| conditional set based on mask and arithmetic shift
REALINLINE u32 | if_c_a_else_b (const s32 condition, const u32 a, const u32 b)
| conditional set based on mask and arithmetic shift
u32 | IR (f32 x)
s32 | isdigit (s32 c)
| some standard function ( to remove dependencies )
s32 | isFileExtension (const io::path &filename, const io::path &ext0, const io::path &ext1, const io::path &ext2)
| search if a filename has a proper extension
s32 | isInSameDirectory (const io::path &path, const io::path &file)
bool | isnotzero (const f32 a, const f32 tolerance=ROUNDING_ERROR_f32)
| returns if a equals not zero, taking rounding errors into account
s32 | isspace (s32 c)
s32 | isupper (s32 c)
bool | iszero (const u32 a, const u32 tolerance=0)
| returns if a equals zero, taking rounding errors into account
bool | iszero (const s32 a, const s32 tolerance=0)
| returns if a equals zero, taking rounding errors into account
bool | iszero (const f32 a, const f32 tolerance=ROUNDING_ERROR_f32)
| returns if a equals zero, taking rounding errors into account
bool | iszero (const f64 a, const f64 tolerance=ROUNDING_ERROR_f64)
| returns if a equals zero, taking rounding errors into account
template<class T >
T | lerp (const T &a, const T &b, const f32 t)
template<class T >
const T & | max_ (const T &a, const T &b, const T &c)
| returns maximum of three values. Own implementation to get rid of the STL (VS6 problems)
template<class T >
const T & | max_ (const T &a, const T &b)
| returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)
template<class T >
const T & | min_ (const T &a, const T &b, const T &c)
| returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)
template<class T >
const T & | min_ (const T &a, const T &b)
| returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)
template<class S , class T >
vector3d< T > | operator* (const S scalar, const vector3d< T > &vector)
| Function multiplying a scalar and a vector component-wise.
template<class S , class T >
vector2d< T > | operator* (const S scalar, const vector2d< T > &vector)
template<class T >
CMatrix4< T > | operator* (const T scalar, const CMatrix4< T > &mat)
f64 | radToDeg (f64 radians)
| Utility function to convert a radian value to degrees.
f32 | radToDeg (f32 radians)
| Utility function to convert a radian value to degrees.
REALINLINE f64 | reciprocal (const f64 f)
REALINLINE f32 | reciprocal (const f32 f)
REALINLINE f32 | reciprocal_approxim (const f32 f)
REALINLINE s32 | reciprocal_squareroot (const s32 x)
REALINLINE f32 | reciprocal_squareroot (const f32 f)
REALINLINE f64 | reciprocal_squareroot (const f64 x)
REALINLINE s32 | round32 (f32 x)
f32 | round_ (f32 x)
s32 | s32_clamp (s32 value, s32 low, s32 high)
s32 | s32_max (s32 a, s32 b)
s32 | s32_min (s32 a, s32 b)
REALINLINE void | setbit_cond (u32 &state, s32 condition, u32 mask)
REALINLINE s32 | squareroot (const s32 f)
REALINLINE f64 | squareroot (const f64 f)
REALINLINE f32 | squareroot (const f32 f)
f32 | strtof10 (const char *in, const char **out=0)
s32 | strtol10 (const char *in, const char **out=0)
template<class T >
void | swap (T &a, T &b)
| swaps the content of the passed parameters

## Variables

const f32 | DEGTORAD = PI / 180.0f
| 32bit Constant for converting from degrees to radians
const f64 | DEGTORAD64 = PI64 / 180.0
| 64bit constant for converting from degrees to radians (formally known as GRAD_PI2)
const float | fast_atof_table [17]
const f32 | HALF_PI = PI/2.0f
| Constant for half of PI.
IRRLICHT_API const matrix4 | IdentityMatrix
| global const identity matrix
const f32 | PI = 3.14159265359f
| Constant for PI.
const f64 | PI64 = 3.1415926535897932384626433832795028841971693993751
| Constant for 64bit PI.
const f32 | RADTODEG = 180.0f / PI
| 32bit constant for converting from radians to degrees (formally known as GRAD_PI)
const f64 | RADTODEG64 = 180.0 / PI64
| 64bit constant for converting from radians to degrees
const f32 | RECIPROCAL_PI = 1.0f/PI
| Constant for reciprocal of PI.
const f64 | RECIPROCAL_PI64 = 1.0/PI64
| Constant for 64bit reciprocal of PI.
const f32 | ROUNDING_ERROR_f32 = 0.000001f
const f64 | ROUNDING_ERROR_f64 = 0.00000001
const s32 | ROUNDING_ERROR_S32 = 0
| Rounding error constant often used when comparing f32 values.

## Detailed Description

Basic classes such as vectors, planes, arrays, lists, and so on can be found in this namespace.

## Typedef Documentation

typedef aabbox3d<f32> irr::core::aabbox3df

Typedef for a f32 3d bounding box.

Definition at line 320 of file aabbox3d.h.

typedef aabbox3d<s32> irr::core::aabbox3di

Typedef for an integer 3d bounding box.

Definition at line 322 of file aabbox3d.h.

typedef dimension2d<f32> irr::core::dimension2df

Typedef for an f32 dimension.

Definition at line 205 of file dimension2d.h.

typedef dimension2d<s32> irr::core::dimension2di

Typedef for an integer dimension.

There are few cases where negative dimensions make sense. Please consider using dimension2du instead.

Definition at line 212 of file dimension2d.h.

typedef dimension2d<u32> irr::core::dimension2du

Typedef for an unsigned integer dimension.

Definition at line 207 of file dimension2d.h.

typedef line2d<f32> irr::core::line2df

Typedef for an f32 line.

Definition at line 190 of file line2d.h.

typedef line2d<s32> irr::core::line2di

Typedef for an integer line.

Definition at line 192 of file line2d.h.

typedef line3d<f32> irr::core::line3df

Typedef for an f32 line.

Definition at line 136 of file line3d.h.

typedef line3d<s32> irr::core::line3di

Typedef for an integer line.

Definition at line 138 of file line3d.h.

typedef CMatrix4<f32> irr::core::matrix4

Typedef for f32 matrix.

Definition at line 2122 of file matrix4.h.

typedef plane3d<f32> irr::core::plane3df

Typedef for a f32 3d plane.

Definition at line 231 of file plane3d.h.

typedef plane3d<s32> irr::core::plane3di

Typedef for an integer 3d plane.

Definition at line 234 of file plane3d.h.

typedef vector2d<f32> irr::core::position2df

Deprecated:
  position2d is now a synonym for vector2d, but vector2d should be used directly.

Definition at line 21 of file position2d.h.

typedef vector2d<s32> irr::core::position2di

Deprecated:
  position2d is now a synonym for vector2d, but vector2d should be used directly.

Definition at line 24 of file position2d.h.

typedef rect<f32> irr::core::rectf

Rectangle with float values.

Definition at line 271 of file rect.h.

typedef rect<s32> irr::core::recti

Rectangle with int values.

Definition at line 273 of file rect.h.

typedef string<c8> irr::core::stringc

Typedef for character strings.

Definition at line 1116 of file irrString.h.

typedef string<wchar_t> irr::core::stringw

Typedef for wide character strings.

Definition at line 1119 of file irrString.h.

typedef triangle3d<f32> irr::core::triangle3df

Typedef for a f32 3d triangle.

Definition at line 237 of file triangle3d.h.

typedef triangle3d<s32> irr::core::triangle3di

Typedef for an integer 3d triangle.

Definition at line 240 of file triangle3d.h.

typedef vector2d<f32> irr::core::vector2df

Typedef for f32 2d vector.

Definition at line 320 of file vector2d.h.

typedef vector2d<s32> irr::core::vector2di

Typedef for integer 2d vector.

Definition at line 323 of file vector2d.h.

typedef vector3d<f32> irr::core::vector3df

Typedef for a f32 3d vector.

Definition at line 415 of file vector3d.h.

typedef vector3d<s32> irr::core::vector3di

Typedef for an integer 3d vector.

Definition at line 418 of file vector3d.h.

## Enumeration Type Documentation

enum irr::core::eAllocStrategy

defines an allocation strategy

Enumerator:

  ALLOC_STRATEGY_SAFE |
  ALLOC_STRATEGY_DOUBLE |
  ALLOC_STRATEGY_SQRT |

Definition at line 112 of file irrAllocator.h.

enum irr::core::EIntersectionRelation3D

Enumeration for intersection relations of 3d objects.

Enumerator:

  ISREL3D_FRONT |
  ISREL3D_BACK |
  ISREL3D_PLANAR |
  ISREL3D_SPANNING |
  ISREL3D_CLIPPED |

Definition at line 17 of file plane3d.h.

enum irr::core::eLocaleID

Very simple string class with some useful features.

string<c8> and string<wchar_t> both accept Unicode AND ASCII/Latin-1, so you can assign Unicode to string<c8> and ASCII/Latin-1 to string<wchar_t> (and the other way round) if you want to.

However, note that the conversation between both is not done using any encoding. This means that c8 strings are treated as ASCII/Latin-1, not UTF-8, and are simply expanded to the equivalent wchar_t, while Unicode/wchar_t characters are truncated to 8-bit ASCII/Latin-1 characters, discarding all other information in the wchar_t.

Enumerator:

  IRR_LOCALE_ANSI |
  IRR_LOCALE_GERMAN |

Definition at line 32 of file irrString.h.

## Function Documentation

template<class T >

T irr::core::abs_ | ( | const T & | a | ) | `[inline]`

returns abs of two values. Own implementation to get rid of STL (VS6 problems)

Definition at line 144 of file irrMath.h.

REALINLINE s32 irr::core::ceil32 | ( | f32 | x | ) |

Definition at line 571 of file irrMath.h.

template<class T >

const T irr::core::clamp | ( | const T & | value,
|  | const T & | low,
|  | const T & | high |
| ) |  |  | `[inline]`

clamps a value between low and high

Definition at line 159 of file irrMath.h.

References max_(), and min_().

Referenced by irr::scene::quake3::dumpShader(), irr::core::string< fschar_t >::findLast(), irr::video::SColorf::getInterpolated(), irr::video::SColor::getInterpolated(), irr::video::SColorf::getInterpolated_quadratic(), irr::video::SColor::getInterpolated_quadratic(), irr::scene::SVertexColorScaleManipulator::operator()(), irr::scene::SVertexColorGammaManipulator::operator()(), irr::scene::SVertexColorContrastBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastManipulator::operator()(), irr::scene::SVertexColorBrightnessManipulator::operator()(), and irr::core::quaternion::toEuler().

REALINLINE void irr::core::clearFPUException | ( |  | ) |

Definition at line 387 of file irrMath.h.

io::path& irr::core::cutFilenameExtension | ( | io::path & | dest,
|  | const io::path & | source |
| ) |  |  | `[inline]`

cut the filename extension from a source file path and store it in a dest file path

Definition at line 45 of file coreutil.h.

Referenced by irr::scene::quake3::getTextures().

f64 irr::core::degToRad | ( | f64 | degrees | ) | `[inline]`

Utility function to convert a degrees value to radians.

Provided as it can be clearer to write degToRad(X) than DEGTORAD * X

Parameters:

  | degrees | The degrees value to convert to radians.

Definition at line 109 of file irrMath.h.

References DEGTORAD64.

f32 irr::core::degToRad | ( | f32 | degrees | ) | `[inline]`

Utility function to convert a degrees value to radians.

Provided as it can be clearer to write degToRad(X) than DEGTORAD * X

Parameters:

  | degrees | The degrees value to convert to radians.

Definition at line 100 of file irrMath.h.

References DEGTORAD.

io::path& irr::core::deletePathFromFilename | ( | io::path & | filename | ) | `[inline]`

delete path from filename

Definition at line 64 of file coreutil.h.

io::path& irr::core::deletePathFromPath | ( | io::path & | filename,
|  | s32 | pathCount |
| ) |  |  | `[inline]`

trim paths

Definition at line 83 of file coreutil.h.

bool irr::core::equals | ( | const u32 | a,
|  | const u32 | b,
|  | const s32 | tolerance = `ROUNDING_ERROR_S32` |
| ) |  |  | `[inline]`

returns if a equals b, taking an explicit rounding tolerance into account

Definition at line 204 of file irrMath.h.

bool irr::core::equals | ( | const s32 | a,
|  | const s32 | b,
|  | const s32 | tolerance = `ROUNDING_ERROR_S32` |
| ) |  |  | `[inline]`

returns if a equals b, taking an explicit rounding tolerance into account

Definition at line 198 of file irrMath.h.

bool irr::core::equals | ( | const f32 | a,
|  | const f32 | b,
|  | const f32 | tolerance = `ROUNDING_ERROR_f32` |
| ) |  |  | `[inline]`

returns if a equals b, taking possible rounding errors into account

Definition at line 180 of file irrMath.h.

bool irr::core::equals | ( | const f64 | a,
|  | const f64 | b,
|  | const f64 | tolerance = `ROUNDING_ERROR_f64` |
| ) |  |  | `[inline]`

returns if a equals b, taking possible rounding errors into account

Definition at line 174 of file irrMath.h.

Referenced by irr::core::CMatrix4< T >::equals(), irr::video::SColorHSL::fromRGB(), irr::core::line2d< T >::intersectWith(), irr::core::CMatrix4< T >::isIdentity(), irr::core::vector3d< f32 >::normalize(), irr::core::vector2d< f32 >::normalize(), irr::core::vector3d< f32 >::operator<(), irr::core::vector2d< f32 >::operator<(), irr::core::vector3d< f32 >::operator<=(), irr::core::vector2d< f32 >::operator<=(), irr::core::plane3d< f32 >::operator==(), irr::core::dimension2d< u32 >::operator==(), irr::core::vector3d< f32 >::operator>(), irr::core::vector2d< f32 >::operator>(), irr::core::vector3d< f32 >::operator>=(), and irr::core::vector2d< f32 >::operator>=().

f32 irr::core::f32_max3 | ( | const f32 | a,
|  | const f32 | b,
|  | const f32 | c |
| ) |  |  | `[inline]`

Definition at line 633 of file irrMath.h.

f32 irr::core::f32_min3 | ( | const f32 | a,
|  | const f32 | b,
|  | const f32 | c |
| ) |  |  | `[inline]`

Definition at line 638 of file irrMath.h.

float irr::core::fast_atof | ( | const char * | floatAsString | ) | `[inline]`

Convert a string to a floating point number

Parameters:

  | floatAsString,: | The string to convert.

Definition at line 186 of file fast_atof.h.

References fast_atof_move().

const char* irr::core::fast_atof_move | ( | const char * | in,
|  | f32 & | out |
| ) |  |  | `[inline]`

Provides a fast function for converting a string into a float. This is not guaranteed to be as accurate as atof(), but is approximately 6 to 8 times as fast.

Parameters:

  `[in]` | in,: | The string to convert.
  `[out]` | out,: | The resultant float will be written here.

Returns:
  A pointer to the first character in the string that wasn't use to create the float value.

Definition at line 136 of file fast_atof.h.

References fast_atof_table, strtof10(), and strtol10().

Referenced by fast_atof(), and irr::scene::quake3::getAsFloat().

REALINLINE s32 irr::core::floor32 | ( | f32 | x | ) |

Definition at line 538 of file irrMath.h.

Referenced by irr::video::SColor::getInterpolated_quadratic(), and irr::gui::IGUIElement::setRelativePositionProportional().

f32 irr::core::FR | ( | s32 | x | ) | `[inline]`

Definition at line 297 of file irrMath.h.

References irr::core::inttofloat::f, and irr::core::inttofloat::s.

f32 irr::core::FR | ( | u32 | x | ) | `[inline]`

Floating-point representation of an integer value.

Definition at line 296 of file irrMath.h.

References irr::core::inttofloat::f, and irr::core::inttofloat::u.

Referenced by irr::video::pack_texureBlendFunc().

f32 irr::core::fract | ( | f32 | x | ) | `[inline]`

Definition at line 643 of file irrMath.h.

Referenced by irr::scene::quake3::SModifierFunction::evaluate().

io::path& irr::core::getFileNameExtension | ( | io::path & | dest,
|  | const io::path & | source |
| ) |  |  | `[inline]`

get the filename extension from a file path

Definition at line 53 of file coreutil.h.

bool irr::core::hasFileExtension | ( | const io::path & | filename,
|  | const io::path & | ext0,
|  | const io::path & | ext1 = `""`,
|  | const io::path & | ext2 = `""` |
| ) |  |  | `[inline]`

search if a filename has a proper extension

Definition at line 36 of file coreutil.h.

template<class T >

void irr::core::heapsink | ( | T * | array,
|  | s32 | element,
|  | s32 | max |
| ) |  |  | `[inline]`

Sinks an element into the heap.

Definition at line 17 of file heapsort.h.

Referenced by heapsort().

template<class T >

void irr::core::heapsort | ( | T * | array_,
|  | s32 | size |
| ) |  |  | `[inline]`

Sorts an array with size 'size' using heapsort.

Definition at line 41 of file heapsort.h.

References heapsink().

Referenced by irr::core::array< IMesh * >::sort().

REALINLINE u32 irr::core::if_c_a_else_0 | ( | const s32 | condition,
|  | const u32 | a |
| ) |  |  |

conditional set based on mask and arithmetic shift

Definition at line 366 of file irrMath.h.

REALINLINE u16 irr::core::if_c_a_else_b | ( | const s16 | condition,
|  | const u16 | a,
|  | const u16 | b |
| ) |  |  |

conditional set based on mask and arithmetic shift

Definition at line 360 of file irrMath.h.

REALINLINE u32 irr::core::if_c_a_else_b | ( | const s32 | condition,
|  | const u32 | a,
|  | const u32 | b |
| ) |  |  |

conditional set based on mask and arithmetic shift

Definition at line 354 of file irrMath.h.

u32 irr::core::IR | ( | f32 | x | ) | `[inline]`

code is taken from IceFPU Integer representation of a floating-point value.

Definition at line 286 of file irrMath.h.

References irr::core::inttofloat::f, and irr::core::inttofloat::u.

Referenced by irr::core::CMatrix4< T >::isIdentity_integer_base(), irr::core::triangle3d< T >::isPointInsideFast(), and irr::video::unpack_texureBlendFunc().

s32 irr::core::isdigit | ( | s32 | c | ) | `[inline]`

some standard function ( to remove dependencies )

Definition at line 142 of file coreutil.h.

s32 irr::core::isFileExtension | ( | const io::path & | filename,
|  | const io::path & | ext0,
|  | const io::path & | ext1,
|  | const io::path & | ext2 |
| ) |  |  | `[inline]`

search if a filename has a proper extension

Definition at line 19 of file coreutil.h.

s32 irr::core::isInSameDirectory | ( | const io::path & | path,
|  | const io::path & | file |
| ) |  |  | `[inline]`

looks if file is in the same directory of path. returns offset of directory. 0 means in same directory. 1 means file is direct child of path

Definition at line 111 of file coreutil.h.

bool irr::core::isnotzero | ( | const f32 | a,
|  | const f32 | tolerance = `ROUNDING_ERROR_f32` |
| ) |  |  | `[inline]`

returns if a equals not zero, taking rounding errors into account

Definition at line 223 of file irrMath.h.

s32 irr::core::isspace | ( | s32 | c | ) | `[inline]`

Definition at line 143 of file coreutil.h.

s32 irr::core::isupper | ( | s32 | c | ) | `[inline]`

Definition at line 144 of file coreutil.h.

bool irr::core::iszero | ( | const u32 | a,
|  | const u32 | tolerance = `0` |
| ) |  |  | `[inline]`

returns if a equals zero, taking rounding errors into account

Definition at line 235 of file irrMath.h.

bool irr::core::iszero | ( | const s32 | a,
|  | const s32 | tolerance = `0` |
| ) |  |  | `[inline]`

returns if a equals zero, taking rounding errors into account

Definition at line 229 of file irrMath.h.

bool irr::core::iszero | ( | const f32 | a,
|  | const f32 | tolerance = `ROUNDING_ERROR_f32` |
| ) |  |  | `[inline]`

returns if a equals zero, taking rounding errors into account

Definition at line 217 of file irrMath.h.

bool irr::core::iszero | ( | const f64 | a,
|  | const f64 | tolerance = `ROUNDING_ERROR_f64` |
| ) |  |  | `[inline]`

returns if a equals zero, taking rounding errors into account

Definition at line 211 of file irrMath.h.

Referenced by irr::core::triangle3d< T >::getIntersectionOfPlaneWithLine(), irr::core::CMatrix4< T >::getInverse(), irr::core::CMatrix4< T >::getRotationDegrees(), irr::core::CMatrix4< T >::getScale(), irr::core::CMatrix4< T >::isIdentity(), irr::core::CMatrix4< T >::isOrthogonal(), irr::core::quaternion::toAngleAxis(), and irr::video::SColorHSL::toRGB().

template<class T >

T irr::core::lerp | ( | const T & | a,
|  | const T & | b,
|  | const f32 | t |
| ) |  |  | `[inline]`

returns linear interpolation of a and b with ratio t

Returns:
  : a if t==0, b if t==1, and the linear interpolation else

Definition at line 152 of file irrMath.h.

template<class T >

const T& irr::core::max_ | ( | const T & | a,
|  | const T & | b,
|  | const T & | c |
| ) |  |  | `[inline]`

returns maximum of three values. Own implementation to get rid of the STL (VS6 problems)

Definition at line 137 of file irrMath.h.

References max_().

template<class T >

const T& irr::core::max_ | ( | const T & | a,
|  | const T & | b |
| ) |  |  | `[inline]`

returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)

Definition at line 130 of file irrMath.h.

Referenced by clamp(), irr::video::SColorHSL::fromRGB(), irr::video::SColor::getLightness(), and max_().

template<class T >

const T& irr::core::min_ | ( | const T & | a,
|  | const T & | b,
|  | const T & | c |
| ) |  |  | `[inline]`

returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)

Definition at line 123 of file irrMath.h.

References min_().

template<class T >

const T& irr::core::min_ | ( | const T & | a,
|  | const T & | b |
| ) |  |  | `[inline]`

returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)

Definition at line 116 of file irrMath.h.

Referenced by clamp(), irr::video::SColorHSL::fromRGB(), irr::video::SColor::getLightness(), min_(), and irr::video::SColor::operator+().

template<class S , class T >

vector3d<T> irr::core::operator* | ( | const S | scalar,
|  | const vector3d< T > & | vector |
| ) |  |  | `[inline]`

Function multiplying a scalar and a vector component-wise.

Definition at line 422 of file vector3d.h.

template<class S , class T >

vector2d<T> irr::core::operator* | ( | const S | scalar,
|  | const vector2d< T > & | vector |
| ) |  |  | `[inline]`

Definition at line 326 of file vector2d.h.

template<class T >

CMatrix4<T> irr::core::operator* | ( | const T | scalar,
|  | const CMatrix4< T > & | mat |
| ) |  |  | `[inline]`

Definition at line 2115 of file matrix4.h.

f64 irr::core::radToDeg | ( | f64 | radians | ) | `[inline]`

Utility function to convert a radian value to degrees.

Provided as it can be clearer to write radToDeg(X) than RADTODEG * X

Parameters:

  | radians | The radians value to convert to degrees.

Definition at line 91 of file irrMath.h.

References RADTODEG64.

f32 irr::core::radToDeg | ( | f32 | radians | ) | `[inline]`

Utility function to convert a radian value to degrees.

Provided as it can be clearer to write radToDeg(X) than RADTODEG * X

Parameters:

  | radians | The radians value to convert to degrees.

Definition at line 82 of file irrMath.h.

References RADTODEG.

REALINLINE f64 irr::core::reciprocal | ( | const f64 | f | ) |

Definition at line 493 of file irrMath.h.

REALINLINE f32 irr::core::reciprocal | ( | const f32 | f | ) |

Definition at line 460 of file irrMath.h.

Referenced by irr::core::CMatrix4< T >::buildProjectionMatrixPerspectiveFovLH(), irr::core::CMatrix4< T >::buildProjectionMatrixPerspectiveFovRH(), irr::core::CMatrix4< T >::getInverse(), irr::core::CMatrix4< T >::getRotationDegrees(), irr::core::quaternion::slerp(), and irr::core::quaternion::toAngleAxis().

REALINLINE f32 irr::core::reciprocal_approxim | ( | const f32 | f | ) |

Definition at line 500 of file irrMath.h.

REALINLINE s32 irr::core::reciprocal_squareroot | ( | const s32 | x | ) |

Definition at line 454 of file irrMath.h.

References reciprocal_squareroot().

REALINLINE f32 irr::core::reciprocal_squareroot | ( | const f32 | f | ) |

Definition at line 428 of file irrMath.h.

REALINLINE f64 irr::core::reciprocal_squareroot | ( | const f64 | x | ) |

Definition at line 422 of file irrMath.h.

Referenced by irr::core::vector3d< f32 >::getSphericalCoordinateAngles(), irr::core::vector3d< f32 >::normalize(), irr::core::vector2d< f32 >::normalize(), irr::core::quaternion::normalize(), reciprocal_squareroot(), and irr::scene::SViewFrustum::setFrom().

REALINLINE s32 irr::core::round32 | ( | f32 | x | ) |

Definition at line 605 of file irrMath.h.

References round_().

Referenced by irr::scene::SVertexColorDesaturateToLuminanceManipulator::operator()(), irr::scene::SVertexColorDesaturateToLightnessManipulator::operator()(), irr::scene::SVertexColorScaleManipulator::operator()(), irr::scene::SVertexColorGammaManipulator::operator()(), irr::scene::SVertexColorContrastBrightnessManipulator::operator()(), irr::scene::SVertexColorContrastManipulator::operator()(), and irr::gui::IGUIElement::recalculateAbsolutePosition().

f32 irr::core::round_ | ( | f32 | x | ) | `[inline]`

Definition at line 382 of file irrMath.h.

Referenced by round32().

s32 irr::core::s32_clamp | ( | s32 | value,
|  | s32 | low,
|  | s32 | high |
| ) |  |  | `[inline]`

Definition at line 252 of file irrMath.h.

References s32_max(), and s32_min().

s32 irr::core::s32_max | ( | s32 | a,
|  | s32 | b |
| ) |  |  | `[inline]`

Definition at line 246 of file irrMath.h.

Referenced by s32_clamp().

s32 irr::core::s32_min | ( | s32 | a,
|  | s32 | b |
| ) |  |  | `[inline]`

Definition at line 240 of file irrMath.h.

Referenced by s32_clamp().

REALINLINE void irr::core::setbit_cond | ( | u32 & | state,
|  | s32 | condition,
|  | u32 | mask |
| ) |  |  |

Definition at line 375 of file irrMath.h.

REALINLINE s32 irr::core::squareroot | ( | const s32 | f | ) |

Definition at line 416 of file irrMath.h.

References squareroot().

REALINLINE f64 irr::core::squareroot | ( | const f64 | f | ) |

Definition at line 410 of file irrMath.h.

REALINLINE f32 irr::core::squareroot | ( | const f32 | f | ) |

Definition at line 404 of file irrMath.h.

Referenced by irr::core::vector2d< f32 >::getAngle(), irr::core::vector2d< f32 >::getAngleWith(), irr::core::vector3d< f32 >::getHorizontalAngle(), irr::core::line3d< T >::getIntersectionWithSphere(), irr::core::vector3d< f32 >::getLength(), irr::core::vector2d< f32 >::getLength(), and squareroot().

f32 irr::core::strtof10 | ( | const char * | in,
|  | const char ** | out = `0` |
| ) |  |  | `[inline]`

Converts a sequence of digits into a whole positive floating point value. Only digits 0 to 9 are parsed. Parsing stops at any other character, including sign characters or a decimal point.

Parameters:

  | in,: | the sequence of digits to convert.
  | out,: | (optional) will be set to point at the first non-converted character.

Returns:
  The whole positive floating point representation of the digit sequence.

Definition at line 86 of file fast_atof.h.

Referenced by fast_atof_move().

s32 irr::core::strtol10 | ( | const char * | in,
|  | const char ** | out = `0` |
| ) |  |  | `[inline]`

Convert a simple string of base 10 digits into a signed 32 bit integer.

Parameters:

  `[in]` | in,: | The string of digits to convert. Only a leading - or + followed by digits 0 to 9 will be considered. Parsing stops at the first non-digit.
  `[out]` | out,: | (optional) If provided, it will be set to point at the first character not used in the calculation.

Returns:
  The signed integer value of the digits. If the string specifies too many digits to encode in an s32 then +INT_MAX or -INT_MAX will be returned.

Definition at line 44 of file fast_atof.h.

Referenced by fast_atof_move().

template<class T >

void irr::core::swap | ( | T & | a,
|  | T & | b |
| ) |  |  | `[inline]`

swaps the content of the passed parameters

Definition at line 166 of file irrMath.h.

## Variable Documentation

const f32 irr::core::DEGTORAD = PI / 180.0f

32bit Constant for converting from degrees to radians

Definition at line 67 of file irrMath.h.

Referenced by degToRad(), irr::video::SColorHSL::fromRGB(), irr::core::CMatrix4< T >::setInverseRotationDegrees(), irr::core::CMatrix4< T >::setRotationDegrees(), and irr::video::SColorHSL::toRGB().

const f64 irr::core::DEGTORAD64 = PI64 / 180.0

64bit constant for converting from degrees to radians (formally known as GRAD_PI2)

Definition at line 73 of file irrMath.h.

Referenced by degToRad(), irr::core::vector2d< f32 >::rotateBy(), irr::core::vector3d< f32 >::rotateXYBy(), irr::core::vector3d< f32 >::rotateXZBy(), irr::core::vector3d< f32 >::rotateYZBy(), and irr::core::vector3d< f32 >::rotationToDirection().

const float irr::core::fast_atof_table[17]

Initial value:

     {
            0.f,
            0.1f,
            0.01f,
            0.001f,
            0.0001f,
            0.00001f,
            0.000001f,
            0.0000001f,
            0.00000001f,
            0.000000001f,
            0.0000000001f,
            0.00000000001f,
            0.000000000001f,
            0.0000000000001f,
            0.00000000000001f,
            0.000000000000001f,
            0.0000000000000001f
    }

Definition at line 16 of file fast_atof.h.

Referenced by fast_atof_move().

const f32 irr::core::HALF_PI = PI/2.0f

Constant for half of PI.

Definition at line 55 of file irrMath.h.

IRRLICHT_API const matrix4 irr::core::IdentityMatrix

global const identity matrix

Referenced by irr::video::SMaterialLayer::getTextureMatrix(), and irr::video::SMaterial::getTextureMatrix().

const f32 irr::core::PI = 3.14159265359f

Constant for PI.

Definition at line 49 of file irrMath.h.

Referenced by irr::scene::quake3::SModifierFunction::evaluate(), irr::video::SColorHSL::fromRGB(), irr::scene::quake3::getMD3Normal(), irr::core::quaternion::rotationFromTo(), and irr::core::quaternion::slerp().

const f64 irr::core::PI64 = 3.1415926535897932384626433832795028841971693993751

Constant for 64bit PI.

Definition at line 61 of file irrMath.h.

const f32 irr::core::RADTODEG = 180.0f / PI

32bit constant for converting from radians to degrees (formally known as GRAD_PI)

Definition at line 70 of file irrMath.h.

Referenced by radToDeg().

const f64 irr::core::RADTODEG64 = 180.0 / PI64

64bit constant for converting from radians to degrees

Definition at line 76 of file irrMath.h.

Referenced by irr::core::vector2d< f32 >::getAngle(), irr::core::vector2d< f32 >::getAngleTrig(), irr::core::vector2d< f32 >::getAngleWith(), irr::core::vector3d< f32 >::getHorizontalAngle(), irr::core::CMatrix4< T >::getRotationDegrees(), irr::core::vector3d< f32 >::getSphericalCoordinateAngles(), and radToDeg().

const f32 irr::core::RECIPROCAL_PI = 1.0f/PI

Constant for reciprocal of PI.

Definition at line 52 of file irrMath.h.

const f64 irr::core::RECIPROCAL_PI64 = 1.0/PI64

Constant for 64bit reciprocal of PI.

Definition at line 64 of file irrMath.h.

const f32 irr::core::ROUNDING_ERROR_f32 = 0.000001f

Definition at line 42 of file irrMath.h.

Referenced by irr::core::plane3d< f32 >::classifyPointRelation(), and irr::core::plane3d< f32 >::existsIntersection().

const f64 irr::core::ROUNDING_ERROR_f64 = 0.00000001

Definition at line 43 of file irrMath.h.

Referenced by irr::core::plane3d< f32 >::getIntersectionWithPlane().

const s32 irr::core::ROUNDING_ERROR_S32 = 0

Rounding error constant often used when comparing f32 values.

Definition at line 41 of file irrMath.h.

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Feb 14 13:07:03 2010 by Doxygen (1.6.2)