refactored mathw
[physics.git] / src / mathw.h
CommitLineData
e68f847b
PG
1/*
2 * Copyright (C) 2008 Patrik Gornicz, Gornicz_P (at) hotmail (dot) com.
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
ad9f1fb6
PG
18#ifndef MATHW_H
19#define MATHW_H
20
21#include <math.h>
22#include "Vector2.h"
23
24
617dcc71
PG
25/// ***** Public Variables *****
26
27static const float PI = 3.1415926535897;
28
ad9f1fb6
PG
29/// ***** Header Methods *****
30
81fc4f04 31int mod(int, int);
ad9f1fb6 32
ad9f1fb6
PG
33/// Vector2 Math
34
aa2791cf
PG
35Vector2 vectorToLine
36(
37 const Vector2& vec,
38 float x1,
39 float y1,
40 float x2,
41 float y2
42);
43
ad9f1fb6
PG
44//Vector2 lineIntersection(Vector2&, Vector2&, Vector2&, Vector2&) const;
45
46//void Rotate(float rads);
47
48float dot(const Vector2&, const Vector2&);
49Vector2 perp(const Vector2&);
50
51//TODO float projectionCoeff(const Vector2&, const Vector2&) const;
52//TODO void projection(const Vector2&, const Vector2&);
53
54#endif // MATHW_H