Browse Source

Merge pull request #412 from Zylann/direction_to

Add missing Vector3::direction_to() and Vector2::direction_to()
Bastiaan Olij 5 years ago
parent
commit
2bb3a7e19c
2 changed files with 12 additions and 0 deletions
  1. 6 0
      include/core/Vector2.hpp
  2. 6 0
      include/core/Vector3.hpp

+ 6 - 0
include/core/Vector2.hpp

@@ -138,6 +138,12 @@ struct Vector2 {
 		return atan2(y - p_vector2.y, x - p_vector2.x);
 	}
 
+	inline Vector2 direction_to(const Vector2 &p_b) const {
+		Vector2 ret(p_b.x - x, p_b.y - y);
+		ret.normalize();
+		return ret;
+	}
+
 	inline real_t dot(const Vector2 &p_other) const {
 		return x * p_other.x + y * p_other.y;
 	}

+ 6 - 0
include/core/Vector3.hpp

@@ -203,6 +203,12 @@ struct Vector3 {
 		return std::atan2(cross(b).length(), dot(b));
 	}
 
+	inline Vector3 direction_to(const Vector3 &p_b) const {
+		Vector3 ret(p_b.x - x, p_b.y - y, p_b.z - z);
+		ret.normalize();
+		return ret;
+	}
+
 	inline Vector3 floor() const {
 		return Vector3(::floor(x), ::floor(y), ::floor(z));
 	}