00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef HEADER_SUPERTUX_MATH_AATRIANGLE_HPP
00018 #define HEADER_SUPERTUX_MATH_AATRIANGLE_HPP
00019
00020 #include "math/rectf.hpp"
00021
00026 class AATriangle
00027 {
00028 public:
00039 enum Direction {
00040 SOUTHWEST = 0,
00041 NORTHEAST,
00042 SOUTHEAST,
00043 NORTHWEST,
00044 DIRECTION_MASK = 0x0003,
00045 DEFORM_BOTTOM = 0x0010,
00046 DEFORM_TOP = 0x0020,
00047 DEFORM_LEFT = 0x0030,
00048 DEFORM_RIGHT = 0x0040,
00049 DEFORM_MASK = 0x0070
00050 };
00051
00052 static int vertical_flip(int dir);
00053
00054 public:
00055 AATriangle() :
00056 bbox(),
00057 dir(SOUTHWEST)
00058 {
00059 }
00060 AATriangle(const Rectf& newbbox, int newdir) :
00061 bbox(newbbox),
00062 dir(newdir)
00063 {
00064 }
00065
00066 public:
00067 Rectf bbox;
00068 int dir;
00069 };
00070
00071 #endif
00072
00073