supertux
src
math
aatriangle.hpp
1
// SuperTux
2
// Copyright (C) 2006 Matthias Braun <matze@braunis.de>
3
//
4
// This program is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// This program is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17
#ifndef HEADER_SUPERTUX_MATH_AATRIANGLE_HPP
18
#define HEADER_SUPERTUX_MATH_AATRIANGLE_HPP
19
20
#include "math/rectf.hpp"
21
26
class
AATriangle
final
27
{
28
public
:
39
enum
Direction
{
40
SOUTHWEST = 0,
41
NORTHEAST,
42
SOUTHEAST,
43
NORTHWEST,
44
DIRECTION_MASK = 0x0003,
45
DEFORM_BOTTOM = 0x0010,
46
DEFORM_TOP = 0x0020,
47
DEFORM_LEFT = 0x0030,
48
DEFORM_RIGHT = 0x0040,
49
DEFORM_MASK = 0x0070
50
};
51
52
static
int
vertical_flip(
int
dir);
53
54
public
:
55
AATriangle
() :
56
bbox(),
57
dir(SOUTHWEST)
58
{
59
}
60
AATriangle
(
const
Rectf
& newbbox,
int
newdir) :
61
bbox(newbbox),
62
dir(newdir)
63
{
64
}
65
66
public
:
67
Rectf
bbox;
68
int
dir;
69
};
70
71
#endif
72
73
/* EOF */
AATriangle::Direction
Direction
Directions:
Definition:
aatriangle.hpp:39
Rectf
Definition:
rectf.hpp:31
AATriangle
An axis-aligned triangle (ie.
Definition:
aatriangle.hpp:26
Generated by
1.8.13