Steeriously  0.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Pages
VectorMath.hpp
1 #ifndef VECTORMATH_HPP
2 #define VECTORMATH_HPP
3 
4 #include <steeriously/SphereObstacle.hpp>
5 #include <steeriously/Vector2.hpp>
6 
7 namespace steer //steeriously namespace
8 {
9 
16 {
17  public:
19  VectorMath();
21  ~VectorMath();
22 
24 
30 
32 
37  static Vector2 truncate(Vector2 v, float max);
38 
40 
45  static float dotProduct(Vector2 a, Vector2 b);
46 
48 
52  static Vector2 perpendicular(Vector2 a);
53 
55 
60  static Vector2 direction(Vector2 a, Vector2 b);
61 
63 
68  static float distance(Vector2 a, Vector2 b);
69 
71 
76  static float distanceSquared(Vector2 a, Vector2 b);
77 
79 
83  static float findAngle(Vector2 v);
84 
86 
90  static float length(Vector2 v);
91 
93 
97  static float lengthSquared(Vector2 v);
98 
100 
104  static Vector2 normalize(Vector2 v);
105 
107 
113  static bool lineIntersectsCircle(Vector2 ahead, Vector2 ahead2, SphereObstacle obstacle, Vector2 agentPosition);
114 };
115 
116 } //steeriously namespace
117 
118 #endif // VECTORMATH_HPP