diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-09-01 09:36:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-01 09:36:11 +0200 |
commit | 0c221f0284909a1156a1c98de5104e07c1cce0b9 (patch) | |
tree | 99d40ef40bc7a762a69ed8a7dfe2585ae6ece2c3 /core | |
parent | 73021d491ae1bc5a39b988666d94f5453f8fe230 (diff) | |
parent | 69fe6336f16ec2c889532d36ff7b87fd8a4800f2 (diff) |
Merge pull request #65124 from zhehangd/fix_basis
Diffstat (limited to 'core')
-rw-r--r-- | core/math/basis.h | 6 | ||||
-rw-r--r-- | core/math/vector3.cpp | 10 |
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 { |