summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorZhehang Ding <zhehangd@gmail.com>2022-08-30 21:28:36 -0700
committerZhehang Ding <zhehangd@gmail.com>2022-08-31 21:20:25 -0700
commit69fe6336f16ec2c889532d36ff7b87fd8a4800f2 (patch)
tree840b991932dae1375974e6dd4015ff42e47a5f16 /core
parent8fa9d1ae467632daa5f12b278eb616fd580a94ec (diff)
Basis constructor: row vectors -> column vectors
Diffstat (limited to 'core')
-rw-r--r--core/math/basis.h6
-rw-r--r--core/math/vector3.cpp10
2 files changed, 7 insertions, 9 deletions
diff --git a/core/math/basis.h b/core/math/basis.h
index 2853947ba7..cc2924f5ff 100644
--- a/core/math/basis.h
+++ b/core/math/basis.h
@@ -238,10 +238,8 @@ struct _NO_DISCARD_ Basis {
Basis(const Vector3 &p_axis, real_t p_angle, const Vector3 &p_scale) { set_axis_angle_scale(p_axis, p_angle, p_scale); }
static Basis from_scale(const Vector3 &p_scale);
- _FORCE_INLINE_ Basis(const Vector3 &row0, const Vector3 &row1, const Vector3 &row2) {
- rows[0] = row0;
- rows[1] = row1;
- rows[2] = row2;
+ _FORCE_INLINE_ Basis(const Vector3 &p_x_axis, const Vector3 &p_y_axis, const Vector3 &p_z_axis) {
+ set_columns(p_x_axis, p_y_axis, p_z_axis);
}
_FORCE_INLINE_ Basis() {}
diff --git a/core/math/vector3.cpp b/core/math/vector3.cpp
index fdbbb8cb5c..f8eefa4f18 100644
--- a/core/math/vector3.cpp
+++ b/core/math/vector3.cpp
@@ -134,11 +134,11 @@ Vector3 Vector3::octahedron_tangent_decode(const Vector2 &p_oct, float *sign) {
}
Basis Vector3::outer(const Vector3 &p_with) const {
- Vector3 row0(x * p_with.x, x * p_with.y, x * p_with.z);
- Vector3 row1(y * p_with.x, y * p_with.y, y * p_with.z);
- Vector3 row2(z * p_with.x, z * p_with.y, z * p_with.z);
-
- return Basis(row0, row1, row2);
+ Basis basis;
+ basis.rows[0] = Vector3(x * p_with.x, x * p_with.y, x * p_with.z);
+ basis.rows[1] = Vector3(y * p_with.x, y * p_with.y, y * p_with.z);
+ basis.rows[2] = Vector3(z * p_with.x, z * p_with.y, z * p_with.z);
+ return basis;
}
bool Vector3::is_equal_approx(const Vector3 &p_v) const {