summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/Basis.cpp9
-rw-r--r--src/core/Vector2.cpp152
-rw-r--r--src/core/Vector3.cpp217
3 files changed, 0 insertions, 378 deletions
diff --git a/src/core/Basis.cpp b/src/core/Basis.cpp
index 73d9cd5..466f309 100644
--- a/src/core/Basis.cpp
+++ b/src/core/Basis.cpp
@@ -31,15 +31,6 @@ Basis::Basis() {
elements[2][2] = 1;
}
-const Vector3 &Basis::operator[](int axis) const {
-
- return elements[axis];
-}
-Vector3 &Basis::operator[](int axis) {
-
- return elements[axis];
-}
-
#define cofac(row1, col1, row2, col2) \
(elements[row1][col1] * elements[row2][col2] - elements[row1][col2] * elements[row2][col1])
diff --git a/src/core/Vector2.cpp b/src/core/Vector2.cpp
index 66f6bdd..2da6f47 100644
--- a/src/core/Vector2.cpp
+++ b/src/core/Vector2.cpp
@@ -1,61 +1,11 @@
#include "Vector2.hpp"
-#include <cmath>
-
#include <gdnative/vector2.h>
#include "String.hpp"
namespace godot {
-Vector2 Vector2::operator+(const Vector2 &p_v) const {
- return Vector2(x + p_v.x, y + p_v.y);
-}
-
-void Vector2::operator+=(const Vector2 &p_v) {
- x += p_v.x;
- y += p_v.y;
-}
-
-Vector2 Vector2::operator-(const Vector2 &p_v) const {
- return Vector2(x - p_v.x, y - p_v.y);
-}
-
-void Vector2::operator-=(const Vector2 &p_v) {
- x -= p_v.x;
- y -= p_v.y;
-}
-
-Vector2 Vector2::operator*(const Vector2 &p_v1) const {
- return Vector2(x * p_v1.x, y * p_v1.y);
-}
-
-Vector2 Vector2::operator*(const real_t &rvalue) const {
- return Vector2(x * rvalue, y * rvalue);
-}
-
-void Vector2::operator*=(const real_t &rvalue) {
- x *= rvalue;
- y *= rvalue;
-}
-
-Vector2 Vector2::operator/(const Vector2 &p_v1) const {
- return Vector2(x / p_v1.x, y / p_v1.y);
-}
-
-Vector2 Vector2::operator/(const real_t &rvalue) const {
- return Vector2(x / rvalue, y / rvalue);
-}
-
-void Vector2::operator/=(const real_t &rvalue) {
- x /= rvalue;
- y /= rvalue;
-}
-
-Vector2 Vector2::operator-() const {
- return Vector2(-x, -y);
-}
-
bool Vector2::operator==(const Vector2 &p_vec2) const {
return x == p_vec2.x && y == p_vec2.y;
}
@@ -64,56 +14,6 @@ bool Vector2::operator!=(const Vector2 &p_vec2) const {
return x != p_vec2.x || y != p_vec2.y;
}
-void Vector2::normalize() {
- real_t l = x * x + y * y;
- if (l != 0) {
- l = sqrt(l);
- x /= l;
- y /= l;
- }
-}
-
-Vector2 Vector2::normalized() const {
- Vector2 v = *this;
- v.normalize();
- return v;
-}
-
-real_t Vector2::length() const {
- return sqrt(x * x + y * y);
-}
-real_t Vector2::length_squared() const {
- return x * x + y * y;
-}
-
-real_t Vector2::distance_to(const Vector2 &p_vector2) const {
- return sqrt((x - p_vector2.x) * (x - p_vector2.x) + (y - p_vector2.y) * (y - p_vector2.y));
-}
-
-real_t Vector2::distance_squared_to(const Vector2 &p_vector2) const {
- return (x - p_vector2.x) * (x - p_vector2.x) + (y - p_vector2.y) * (y - p_vector2.y);
-}
-
-real_t Vector2::angle_to(const Vector2 &p_vector2) const {
- return atan2(cross(p_vector2), dot(p_vector2));
-}
-
-real_t Vector2::angle_to_point(const Vector2 &p_vector2) const {
- return atan2(y - p_vector2.y, x - p_vector2.x);
-}
-
-real_t Vector2::dot(const Vector2 &p_other) const {
- return x * p_other.x + y * p_other.y;
-}
-
-real_t Vector2::cross(const Vector2 &p_other) const {
- return x * p_other.y - y * p_other.x;
-}
-
-Vector2 Vector2::cross(real_t p_other) const {
- return Vector2(p_other * y, -p_other * x);
-}
-
Vector2 Vector2::project(const Vector2 &p_vec) const {
Vector2 v1 = p_vec;
Vector2 v2 = *this;
@@ -134,19 +34,6 @@ Vector2 Vector2::clamped(real_t p_len) const {
return v;
}
-Vector2 Vector2::linear_interpolate(const Vector2 &p_a, const Vector2 &p_b, real_t p_t) {
- Vector2 res = p_a;
- res.x += (p_t * (p_b.x - p_a.x));
- res.y += (p_t * (p_b.y - p_a.y));
- return res;
-}
-
-Vector2 Vector2::linear_interpolate(const Vector2 &p_b, real_t p_t) const {
- Vector2 res = *this;
- res.x += (p_t * (p_b.x - x));
- res.y += (p_t * (p_b.y - y));
- return res;
-}
Vector2 Vector2::cubic_interpolate(const Vector2 &p_b, const Vector2 &p_pre_a, const Vector2 &p_post_b, real_t p_t) const {
Vector2 p0 = p_pre_a;
Vector2 p1 = *this;
@@ -167,45 +54,6 @@ Vector2 Vector2::cubic_interpolate(const Vector2 &p_b, const Vector2 &p_pre_a, c
return out;
}
-Vector2 Vector2::slide(const Vector2 &p_vec) const {
- return p_vec - *this * this->dot(p_vec);
-}
-
-Vector2 Vector2::reflect(const Vector2 &p_vec) const {
- return p_vec - *this * this->dot(p_vec) * 2.0;
-}
-
-real_t Vector2::angle() const {
- return atan2(y, x);
-}
-
-void Vector2::set_rotation(real_t p_radians) {
-
- x = cosf(p_radians);
- y = sinf(p_radians);
-}
-
-Vector2 Vector2::abs() const {
-
- return Vector2(fabs(x), fabs(y));
-}
-
-Vector2 Vector2::rotated(real_t p_by) const {
- Vector2 v;
- v.set_rotation(angle() + p_by);
- v *= length();
- return v;
-}
-
-Vector2 Vector2::tangent() const {
-
- return Vector2(y, -x);
-}
-
-Vector2 Vector2::floor() const {
- return Vector2(::floor(x), ::floor(y));
-}
-
Vector2 Vector2::snapped(const Vector2 &p_by) const {
return Vector2(
p_by.x != 0 ? ::floor(x / p_by.x + 0.5) * p_by.x : x,
diff --git a/src/core/Vector3.cpp b/src/core/Vector3.cpp
index a15fb78..cf95792 100644
--- a/src/core/Vector3.cpp
+++ b/src/core/Vector3.cpp
@@ -4,118 +4,10 @@
#include <stdlib.h>
-#include <cmath>
-
#include "Basis.hpp"
namespace godot {
-Vector3::Vector3(real_t x, real_t y, real_t z) {
- this->x = x;
- this->y = y;
- this->z = z;
-}
-
-Vector3::Vector3() {
- this->x = 0;
- this->y = 0;
- this->z = 0;
-}
-
-const real_t &Vector3::operator[](int p_axis) const {
- return coord[p_axis];
-}
-
-real_t &Vector3::operator[](int p_axis) {
- return coord[p_axis];
-}
-
-Vector3 &Vector3::operator+=(const Vector3 &p_v) {
- x += p_v.x;
- y += p_v.y;
- z += p_v.z;
- return *this;
-}
-
-Vector3 Vector3::operator+(const Vector3 &p_v) const {
- Vector3 v = *this;
- v += p_v;
- return v;
-}
-
-Vector3 &Vector3::operator-=(const Vector3 &p_v) {
- x -= p_v.x;
- y -= p_v.y;
- z -= p_v.z;
- return *this;
-}
-
-Vector3 Vector3::operator-(const Vector3 &p_v) const {
- Vector3 v = *this;
- v -= p_v;
- return v;
-}
-
-Vector3 &Vector3::operator*=(const Vector3 &p_v) {
- x *= p_v.x;
- y *= p_v.y;
- z *= p_v.z;
- return *this;
-}
-
-Vector3 Vector3::operator*(const Vector3 &p_v) const {
- Vector3 v = *this;
- v *= p_v;
- return v;
-}
-
-Vector3 &Vector3::operator/=(const Vector3 &p_v) {
- x /= p_v.x;
- y /= p_v.y;
- z /= p_v.z;
- return *this;
-}
-
-Vector3 Vector3::operator/(const Vector3 &p_v) const {
- Vector3 v = *this;
- v /= p_v;
- return v;
-}
-
-Vector3 &Vector3::operator*=(real_t p_scalar) {
- *this *= Vector3(p_scalar, p_scalar, p_scalar);
- return *this;
-}
-
-Vector3 Vector3::operator*(real_t p_scalar) const {
- Vector3 v = *this;
- v *= p_scalar;
- return v;
-}
-
-Vector3 &Vector3::operator/=(real_t p_scalar) {
- *this /= Vector3(p_scalar, p_scalar, p_scalar);
- return *this;
-}
-
-Vector3 Vector3::operator/(real_t p_scalar) const {
- Vector3 v = *this;
- v /= p_scalar;
- return v;
-}
-
-Vector3 Vector3::operator-() const {
- return Vector3(-x, -y, -z);
-}
-
-bool Vector3::operator==(const Vector3 &p_v) const {
- return (x == p_v.x && y == p_v.y && z == p_v.z);
-}
-
-bool Vector3::operator!=(const Vector3 &p_v) const {
- return (x != p_v.x || y != p_v.y || z != p_v.z);
-}
-
bool Vector3::operator<(const Vector3 &p_v) const {
if (x == p_v.x) {
if (y == p_v.y)
@@ -138,30 +30,6 @@ bool Vector3::operator<=(const Vector3 &p_v) const {
}
}
-Vector3 Vector3::abs() const {
- return Vector3(::fabs(x), ::fabs(y), ::fabs(z));
-}
-
-Vector3 Vector3::ceil() const {
- return Vector3(::ceil(x), ::ceil(y), ::ceil(z));
-}
-
-Vector3 Vector3::cross(const Vector3 &b) const {
- Vector3 ret(
- (y * b.z) - (z * b.y),
- (z * b.x) - (x * b.z),
- (x * b.y) - (y * b.x));
-
- return ret;
-}
-
-Vector3 Vector3::linear_interpolate(const Vector3 &p_b, real_t p_t) const {
- return Vector3(
- x + (p_t * (p_b.x - x)),
- y + (p_t * (p_b.y - y)),
- z + (p_t * (p_b.z - z)));
-}
-
Vector3 Vector3::cubic_interpolate(const Vector3 &b, const Vector3 &pre_a, const Vector3 &post_b, const real_t t) const {
Vector3 p0 = pre_a;
Vector3 p1 = *this;
@@ -180,54 +48,6 @@ Vector3 Vector3::cubic_interpolate(const Vector3 &b, const Vector3 &pre_a, const
return out;
}
-Vector3 Vector3::bounce(const Vector3 &p_normal) const {
- return -reflect(p_normal);
-}
-
-real_t Vector3::length() const {
- real_t x2 = x * x;
- real_t y2 = y * y;
- real_t z2 = z * z;
-
- return ::sqrt(x2 + y2 + z2);
-}
-
-real_t Vector3::length_squared() const {
- real_t x2 = x * x;
- real_t y2 = y * y;
- real_t z2 = z * z;
-
- return x2 + y2 + z2;
-}
-
-real_t Vector3::distance_squared_to(const Vector3 &b) const {
- return (b - *this).length_squared();
-}
-
-real_t Vector3::distance_to(const Vector3 &b) const {
- return (b - *this).length();
-}
-
-real_t Vector3::dot(const Vector3 &b) const {
- return x * b.x + y * b.y + z * b.z;
-}
-
-real_t Vector3::angle_to(const Vector3 &b) const {
- return std::atan2(cross(b).length(), dot(b));
-}
-
-Vector3 Vector3::floor() const {
- return Vector3(::floor(x), ::floor(y), ::floor(z));
-}
-
-Vector3 Vector3::inverse() const {
- return Vector3(1.0 / x, 1.0 / y, 1.0 / z);
-}
-
-bool Vector3::is_normalized() const {
- return std::abs(length_squared() - 1.0) < 0.00001;
-}
-
Basis Vector3::outer(const Vector3 &b) const {
Vector3 row0(x * b.x, x * b.y, x * b.z);
Vector3 row1(y * b.x, y * b.y, y * b.z);
@@ -243,41 +63,10 @@ int Vector3::min_axis() const {
return x < y ? (x < z ? 0 : 2) : (y < z ? 1 : 2);
}
-void Vector3::normalize() {
- real_t l = length();
- if (l == 0) {
- x = y = z = 0;
- } else {
- x /= l;
- y /= l;
- z /= l;
- }
-}
-
-Vector3 Vector3::normalized() const {
- Vector3 v = *this;
- v.normalize();
- return v;
-}
-
-Vector3 Vector3::reflect(const Vector3 &by) const {
- return by - *this * this->dot(by) * 2.0;
-}
-
-Vector3 Vector3::rotated(const Vector3 &axis, const real_t phi) const {
- Vector3 v = *this;
- v.rotate(axis, phi);
- return v;
-}
-
void Vector3::rotate(const Vector3 &p_axis, real_t p_phi) {
*this = Basis(p_axis, p_phi).xform(*this);
}
-Vector3 Vector3::slide(const Vector3 &by) const {
- return by - *this * this->dot(by);
-}
-
// this is ugly as well, but hey, I'm a simple man
#define _ugly_stepify(val, step) (step != 0 ? ::floor(val / step + 0.5) * step : val)
@@ -289,12 +78,6 @@ void Vector3::snap(real_t p_val) {
#undef _ugly_stepify
-Vector3 Vector3::snapped(const float by) {
- Vector3 v = *this;
- v.snap(by);
- return v;
-}
-
Vector3::operator String() const {
return String::num(x) + ", " + String::num(y) + ", " + String::num(z);
}