41 static const Dir NORTH = 0;
42 static const Dir NORTHEAST = 1;
43 static const Dir EAST = 2;
44 static const Dir SOUTHEAST = 3;
45 static const Dir SOUTH = 4;
46 static const Dir SOUTHWEST = 5;
47 static const Dir WEST = 6;
48 static const Dir NORTHWEST = 7;
49 static const Dir DIR_COUNT = 8;
58 case NORTH:
return "North";
59 case EAST:
return "East";
60 case SOUTH:
return "South";
61 case WEST:
return "West";
62 case NORTHEAST:
return "Northeast";
63 case SOUTHEAST:
return "Southeast";
64 case SOUTHWEST:
return "Southwest";
65 case NORTHWEST:
return "Northwest";
66 default:
return "INVALID DIRECTION";
73 static bool IsCorner(Dir dir) {
return dir&1; }
84 static Dir
CWDir(Dir dir) {
return (dir+1)%DIR_COUNT; }
92 {
return (dir + (DIR_COUNT / 2)) % DIR_COUNT; }
98 static Dir
CCWDir(Dir dir) {
return (dir+DIR_COUNT-1)%DIR_COUNT; }
110 {
return mask | (1 << dir); }
122 {
return mask & (~(1 << dir)); }
134 {
return mask & (1 << dir); }
static bool IsCorner(Dir dir)
Definition: Dirs.h:73
static SPoint & FlipXAxis(SPoint &pt)
Definition: Dirs.h:173
static Dir FromOffset(SPoint &pt)
Definition: Dirs.cpp:39
static Dir OppositeDir(Dir dir)
Definition: Dirs.h:91
T GetY() const
Definition: Point.tcc:40
static Dir CWDir(Dir dir)
Definition: Dirs.h:84
static Dir CCWDir(Dir dir)
Definition: Dirs.h:98
void SetX(T x)
Definition: Point.tcc:164
static bool IsFace(Dir dir)
Definition: Dirs.h:78
static bool TestDirInMask(u32 mask, Dir dir)
Definition: Dirs.h:133
static const char * GetName(Dir dir)
Definition: Dirs.h:54
static u32 RemoveDirInMask(u32 mask, Dir dir)
Definition: Dirs.h:121
void SetY(T y)
Definition: Point.tcc:170
static void FillDir(SPoint &pt, Dir dir)
Definition: Dirs.cpp:22
static SPoint FlipSEPointToCorner(const SPoint &pt, const Dir corner)
Definition: Dirs.cpp:7
static SPoint & FlipYAxis(SPoint &pt)
Definition: Dirs.h:186
static u32 AddDirToMask(u32 mask, Dir dir)
Definition: Dirs.h:109
T GetX() const
Definition: Point.tcc:34