Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IceTypes.h File Reference

Go to the source code of this file.

Classes

union  scell
 Union of a float and a sdword. More...
 
union  ucell
 Union of a float and a udword. More...
 

Macros

#define USE_HANDLE_MANAGER
 
#define PI   3.1415926535897932384626433832795028841971693993751f
 PI. More...
 
#define HALFPI   1.57079632679489661923f
 0.5 * PI More...
 
#define TWOPI   6.28318530717958647692f
 2.0 * PI More...
 
#define INVPI   0.31830988618379067154f
 1.0 / PI More...
 
#define RADTODEG   57.2957795130823208768f
 180.0 / PI, convert radians to degrees More...
 
#define DEGTORAD   0.01745329251994329577f
 PI / 180.0, convert degrees to radians. More...
 
#define EXP   2.71828182845904523536f
 e More...
 
#define INVLOG2   3.32192809488736234787f
 1.0 / log10(2) More...
 
#define LN2   0.693147180559945f
 ln(2) More...
 
#define INVLN2   1.44269504089f
 1.0f / ln(2) More...
 
#define INV3   0.33333333333333333333f
 1/3 More...
 
#define INV6   0.16666666666666666666f
 1/6 More...
 
#define INV7   0.14285714285714285714f
 1/7 More...
 
#define INV9   0.11111111111111111111f
 1/9 More...
 
#define INV255   0.00392156862745098039f
 1/255 More...
 
#define SQRT2   1.41421356237f
 sqrt(2) More...
 
#define INVSQRT2   0.707106781188f
 1 / sqrt(2) More...
 
#define SQRT3   1.73205080757f
 sqrt(3) More...
 
#define INVSQRT3   0.577350269189f
 1 / sqrt(3) More...
 
#define null   0
 our own NULL pointer More...
 
#define DECLARE_ICE_HANDLE(name)   struct name##__ { int unused; }; typedef struct name##__ *name
 TO BE DOCUMENTED. More...
 
#define INVALID_ID   0xffffffff
 Invalid dword ID (counterpart of null pointers) More...
 
#define INVALID_KID   0xffffffff
 Invalid Kernel ID. More...
 
#define INVALID_NUMBER   0xDEADBEEF
 Standard junk value. More...
 
#define MAX_SBYTE   0x7f
 max possible sbyte value More...
 
#define MIN_SBYTE   0x80
 min possible sbyte value More...
 
#define MAX_UBYTE   0xff
 max possible ubyte value More...
 
#define MIN_UBYTE   0x00
 min possible ubyte value More...
 
#define MAX_SWORD   0x7fff
 max possible sword value More...
 
#define MIN_SWORD   0x8000
 min possible sword value More...
 
#define MAX_UWORD   0xffff
 max possible uword value More...
 
#define MIN_UWORD   0x0000
 min possible uword value More...
 
#define MAX_SDWORD   0x7fffffff
 max possible sdword value More...
 
#define MIN_SDWORD   0x80000000
 min possible sdword value More...
 
#define MAX_UDWORD   0xffffffff
 max possible udword value More...
 
#define MIN_UDWORD   0x00000000
 min possible udword value More...
 
#define MAX_FLOAT   FLT_MAX
 max possible float value More...
 
#define MIN_FLOAT   (-FLT_MAX)
 min possible loat value More...
 
#define IEEE_1_0   0x3f800000
 integer representation of 1.0 More...
 
#define IEEE_255_0   0x437f0000
 integer representation of 255.0 More...
 
#define IEEE_MAX_FLOAT   0x7f7fffff
 integer representation of MAX_FLOAT More...
 
#define IEEE_MIN_FLOAT   0xff7fffff
 integer representation of MIN_FLOAT More...
 
#define IEEE_UNDERFLOW_LIMIT   0x1a000000
 
#define ONE_OVER_RAND_MAX   (1.0f / float(RAND_MAX))
 Inverse of the max possible value returned by rand() More...
 
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
 Returns the min value between a and b. More...
 
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
 Returns the max value between a and b. More...
 
#define MAXMAX(a, b, c)   ((a) > (b) ? MAX (a,c) : MAX (b,c))
 Returns the max value between a, b and c. More...
 
#define SQR(x)   ((x)*(x))
 Returns x square. More...
 
#define CUBE(x)   ((x)*(x)*(x))
 Returns x cube. More...
 
#define AND   &
 ... More...
 
#define OR   |
 ... More...
 
#define XOR   ^
 ... More...
 
#define QUADRAT(x)   ((x)*(x))
 Returns x square. More...
 

Typedefs

typedef signed char sbyte
 sizeof(sbyte) must be 1 More...
 
typedef unsigned char ubyte
 sizeof(ubyte) must be 1 More...
 
typedef signed short sword
 sizeof(sword) must be 2 More...
 
typedef unsigned short uword
 sizeof(uword) must be 2 More...
 
typedef signed int sdword
 sizeof(sdword) must be 4 More...
 
typedef unsigned int udword
 sizeof(udword) must be 4 More...
 
typedef int64 sqword
 sizeof(sqword) must be 8 More...
 
typedef uint64 uqword
 sizeof(uqword) must be 8 More...
 
typedef float float32
 sizeof(float32) must be 4 More...
 
typedef double float64
 sizeof(float64) must be 4 More...
 
typedef udword DynID
 Dynamic identifier. More...
 
typedef udword KID
 Kernel ID. More...
 
typedef udword RTYPE
 Relationship-type (!) between owners and references. More...
 
typedef int BOOL
 Another boolean type. More...
 
typedef bool(* ENUMERATION )(udword value, udword param, udword context)
 ICE standard enumeration call. More...
 
typedef void ** VTABLE
 A V-Table. More...
 

Functions

 ICE_COMPILE_TIME_ASSERT (sizeof(ubyte)==1)
 
 ICE_COMPILE_TIME_ASSERT (sizeof(sbyte)==1)
 
 ICE_COMPILE_TIME_ASSERT (sizeof(sword)==2)
 
 ICE_COMPILE_TIME_ASSERT (sizeof(uword)==2)
 
 ICE_COMPILE_TIME_ASSERT (sizeof(udword)==4)
 
 ICE_COMPILE_TIME_ASSERT (sizeof(sdword)==4)
 
 ICE_COMPILE_TIME_ASSERT (sizeof(uqword)==8)
 
 ICE_COMPILE_TIME_ASSERT (sizeof(sqword)==8)
 
template<class T >
inline_ const T & TMin (const T &a, const T &b)
 
template<class T >
inline_ const T & TMax (const T &a, const T &b)
 
template<class T >
inline_ void TSetMin (T &a, const T &b)
 
template<class T >
inline_ void TSetMax (T &a, const T &b)
 

Detailed Description

Contains custom types.

Author
Pierre Terdiman
Date
April, 4, 2000

Definition in file IceTypes.h.

Macro Definition Documentation

#define AND   &

...

Definition at line 145 of file IceTypes.h.

#define CUBE (   x)    ((x)*(x)*(x))

Returns x cube.

Definition at line 143 of file IceTypes.h.

#define DECLARE_ICE_HANDLE (   name)    struct name##__ { int unused; }; typedef struct name##__ *name

TO BE DOCUMENTED.

Definition at line 70 of file IceTypes.h.

#define DEGTORAD   0.01745329251994329577f

PI / 180.0, convert degrees to radians.

Definition at line 26 of file IceTypes.h.

#define EXP   2.71828182845904523536f

e

Definition at line 28 of file IceTypes.h.

#define HALFPI   1.57079632679489661923f

0.5 * PI

Definition at line 21 of file IceTypes.h.

#define IEEE_1_0   0x3f800000

integer representation of 1.0

Definition at line 120 of file IceTypes.h.

Referenced by Matrix3x3::IsIdentity(), and Matrix4x4::IsIdentity().

#define IEEE_255_0   0x437f0000

integer representation of 255.0

Definition at line 121 of file IceTypes.h.

#define IEEE_MAX_FLOAT   0x7f7fffff

integer representation of MAX_FLOAT

Definition at line 122 of file IceTypes.h.

#define IEEE_MIN_FLOAT   0xff7fffff

integer representation of MIN_FLOAT

Definition at line 123 of file IceTypes.h.

#define IEEE_UNDERFLOW_LIMIT   0x1a000000

Definition at line 124 of file IceTypes.h.

#define INV255   0.00392156862745098039f

1/255

Definition at line 37 of file IceTypes.h.

#define INV3   0.33333333333333333333f

1/3

Definition at line 33 of file IceTypes.h.

#define INV6   0.16666666666666666666f

1/6

Definition at line 34 of file IceTypes.h.

#define INV7   0.14285714285714285714f

1/7

Definition at line 35 of file IceTypes.h.

#define INV9   0.11111111111111111111f

1/9

Definition at line 36 of file IceTypes.h.

#define INVALID_ID   0xffffffff

Invalid dword ID (counterpart of null pointers)

Definition at line 80 of file IceTypes.h.

Referenced by Opcode::Picking().

#define INVALID_KID   0xffffffff

Invalid Kernel ID.

Definition at line 82 of file IceTypes.h.

#define INVALID_NUMBER   0xDEADBEEF

Standard junk value.

Definition at line 86 of file IceTypes.h.

#define INVLN2   1.44269504089f

1.0f / ln(2)

Definition at line 31 of file IceTypes.h.

#define INVLOG2   3.32192809488736234787f

1.0 / log10(2)

Definition at line 29 of file IceTypes.h.

#define INVPI   0.31830988618379067154f

1.0 / PI

Definition at line 23 of file IceTypes.h.

#define INVSQRT2   0.707106781188f

1 / sqrt(2)

Definition at line 40 of file IceTypes.h.

#define INVSQRT3   0.577350269189f

1 / sqrt(3)

Definition at line 43 of file IceTypes.h.

#define LN2   0.693147180559945f

ln(2)

Definition at line 30 of file IceTypes.h.

#define MAX (   a,
  b 
)    ((a) > (b) ? (a) : (b))

Returns the max value between a and b.

Definition at line 134 of file IceTypes.h.

#define MAX_FLOAT   FLT_MAX
#define MAX_SBYTE   0x7f

max possible sbyte value

Definition at line 106 of file IceTypes.h.

#define MAX_SDWORD   0x7fffffff

max possible sdword value

Definition at line 114 of file IceTypes.h.

#define MAX_SWORD   0x7fff

max possible sword value

Definition at line 110 of file IceTypes.h.

#define MAX_UBYTE   0xff

max possible ubyte value

Definition at line 108 of file IceTypes.h.

#define MAX_UDWORD   0xffffffff

max possible udword value

Definition at line 116 of file IceTypes.h.

#define MAX_UWORD   0xffff

max possible uword value

Definition at line 112 of file IceTypes.h.

#define MAXMAX (   a,
  b,
  c 
)    ((a) > (b) ? MAX (a,c) : MAX (b,c))

Returns the max value between a, b and c.

Definition at line 135 of file IceTypes.h.

#define MIN (   a,
  b 
)    ((a) < (b) ? (a) : (b))

Returns the min value between a and b.

Definition at line 133 of file IceTypes.h.

#define MIN_FLOAT   (-FLT_MAX)

min possible loat value

Definition at line 119 of file IceTypes.h.

Referenced by ComputeAABB(), and Point::SetMinusInfinity().

#define MIN_SBYTE   0x80

min possible sbyte value

Definition at line 107 of file IceTypes.h.

#define MIN_SDWORD   0x80000000

min possible sdword value

Definition at line 115 of file IceTypes.h.

#define MIN_SWORD   0x8000

min possible sword value

Definition at line 111 of file IceTypes.h.

#define MIN_UBYTE   0x00

min possible ubyte value

Definition at line 109 of file IceTypes.h.

#define MIN_UDWORD   0x00000000

min possible udword value

Definition at line 117 of file IceTypes.h.

#define MIN_UWORD   0x0000

min possible uword value

Definition at line 113 of file IceTypes.h.

#define ONE_OVER_RAND_MAX   (1.0f / float(RAND_MAX))

Inverse of the max possible value returned by rand()

Definition at line 126 of file IceTypes.h.

Referenced by UnitRandomFloat().

#define OR   |

...

Definition at line 146 of file IceTypes.h.

#define QUADRAT (   x)    ((x)*(x))

Returns x square.

Definition at line 149 of file IceTypes.h.

#define RADTODEG   57.2957795130823208768f

180.0 / PI, convert radians to degrees

Definition at line 25 of file IceTypes.h.

#define SQR (   x)    ((x)*(x))

Returns x square.

Definition at line 142 of file IceTypes.h.

#define SQRT2   1.41421356237f

sqrt(2)

Definition at line 39 of file IceTypes.h.

#define SQRT3   1.73205080757f

sqrt(3)

Definition at line 42 of file IceTypes.h.

#define TWOPI   6.28318530717958647692f

2.0 * PI

Definition at line 22 of file IceTypes.h.

#define USE_HANDLE_MANAGER

Definition at line 15 of file IceTypes.h.

#define XOR   ^

...

Definition at line 147 of file IceTypes.h.

Typedef Documentation

typedef int BOOL

Another boolean type.

Definition at line 90 of file IceTypes.h.

typedef udword DynID

Dynamic identifier.

Definition at line 72 of file IceTypes.h.

typedef bool(* ENUMERATION)(udword value, udword param, udword context)

ICE standard enumeration call.

Definition at line 128 of file IceTypes.h.

typedef float float32

sizeof(float32) must be 4

Definition at line 56 of file IceTypes.h.

typedef double float64

sizeof(float64) must be 4

Definition at line 57 of file IceTypes.h.

typedef udword KID

Kernel ID.

Definition at line 74 of file IceTypes.h.

typedef udword RTYPE

Relationship-type (!) between owners and references.

Definition at line 79 of file IceTypes.h.

typedef signed char sbyte

sizeof(sbyte) must be 1

Definition at line 48 of file IceTypes.h.

typedef signed int sdword

sizeof(sdword) must be 4

Definition at line 52 of file IceTypes.h.

typedef int64 sqword

sizeof(sqword) must be 8

Definition at line 54 of file IceTypes.h.

typedef signed short sword

sizeof(sword) must be 2

Definition at line 50 of file IceTypes.h.

typedef unsigned char ubyte

sizeof(ubyte) must be 1

Definition at line 49 of file IceTypes.h.

typedef unsigned int udword

sizeof(udword) must be 4

Definition at line 53 of file IceTypes.h.

typedef uint64 uqword

sizeof(uqword) must be 8

Definition at line 55 of file IceTypes.h.

typedef unsigned short uword

sizeof(uword) must be 2

Definition at line 51 of file IceTypes.h.

typedef void** VTABLE

A V-Table.

Definition at line 129 of file IceTypes.h.

Function Documentation

ICE_COMPILE_TIME_ASSERT ( sizeof(ubyte = =1)
ICE_COMPILE_TIME_ASSERT ( sizeof(sbyte = =1)
ICE_COMPILE_TIME_ASSERT ( sizeof(sword = =2)
ICE_COMPILE_TIME_ASSERT ( sizeof(uword = =2)
ICE_COMPILE_TIME_ASSERT ( sizeof(udword = =4)
ICE_COMPILE_TIME_ASSERT ( sizeof(sdword = =4)
ICE_COMPILE_TIME_ASSERT ( sizeof(uqword = =8)
ICE_COMPILE_TIME_ASSERT ( sizeof(sqword = =8)
template<class T >
inline_ const T& TMax ( const T &  a,
const T &  b 
)

Definition at line 138 of file IceTypes.h.

References a.

138 { return a < b ? b : a; }
template<class T >
inline_ const T& TMin ( const T &  a,
const T &  b 
)

Definition at line 137 of file IceTypes.h.

References a.

137 { return b < a ? b : a; }
template<class T >
inline_ void TSetMax ( T &  a,
const T &  b 
)

Definition at line 140 of file IceTypes.h.

References b.

140 { if(a<b) a = b; }
template<class T >
inline_ void TSetMin ( T &  a,
const T &  b 
)

Definition at line 139 of file IceTypes.h.

References b.

139 { if(a>b) a = b; }