Go to the documentation of this file.00001
00002
00008
00009
00011
00012 #ifndef __ICEAXES_H__
00013 #define __ICEAXES_H__
00014
00015 enum PointComponent
00016 {
00017 _X = 0,
00018 _Y = 1,
00019 _Z = 2,
00020 _W = 3,
00021
00022 _FORCE_DWORD = 0x7fffffff
00023 };
00024
00025 enum AxisOrder
00026 {
00027 AXES_XYZ = (_X)|(_Y<<2)|(_Z<<4),
00028 AXES_XZY = (_X)|(_Z<<2)|(_Y<<4),
00029 AXES_YXZ = (_Y)|(_X<<2)|(_Z<<4),
00030 AXES_YZX = (_Y)|(_Z<<2)|(_X<<4),
00031 AXES_ZXY = (_Z)|(_X<<2)|(_Y<<4),
00032 AXES_ZYX = (_Z)|(_Y<<2)|(_X<<4),
00033
00034 AXES_FORCE_DWORD = 0x7fffffff
00035 };
00036
00037 class ICEMATHS_API Axes
00038 {
00039 public:
00040
00041 inline_ Axes(AxisOrder order)
00042 {
00043 mAxis0 = (order ) & 3;
00044 mAxis1 = (order>>2) & 3;
00045 mAxis2 = (order>>4) & 3;
00046 }
00047 inline_ ~Axes() {}
00048
00049 udword mAxis0;
00050 udword mAxis1;
00051 udword mAxis2;
00052 };
00053
00054 #endif // __ICEAXES_H__