summaryrefslogtreecommitdiff
path: root/core/math/basis.h
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2022-05-03 19:36:07 +0200
committerGitHub <noreply@github.com>2022-05-03 19:36:07 +0200
commit1b2992799b324479b3fba9e05ae6226a46cb4143 (patch)
treedec0fb56da26538c10fb41824715c357b917e296 /core/math/basis.h
parent7d2e38d709834b3b880f9d17b591147b7976974a (diff)
parentfa7a7795f09688b1c71ddad40243e46909989054 (diff)
Merge pull request #60727 from aaronfranke/basis-axis-column
Diffstat (limited to 'core/math/basis.h')
-rw-r--r--core/math/basis.h39
1 files changed, 14 insertions, 25 deletions
diff --git a/core/math/basis.h b/core/math/basis.h
index 7bd75be091..f9b13072ad 100644
--- a/core/math/basis.h
+++ b/core/math/basis.h
@@ -58,17 +58,6 @@ struct _NO_DISCARD_ Basis {
void from_z(const Vector3 &p_z);
- _FORCE_INLINE_ Vector3 get_axis(int p_axis) const {
- // get actual basis axis column (we store transposed as rows for performance)
- return Vector3(rows[0][p_axis], rows[1][p_axis], rows[2][p_axis]);
- }
- _FORCE_INLINE_ void set_axis(int p_axis, const Vector3 &p_value) {
- // get actual basis axis column (we store transposed as rows for performance)
- rows[0][p_axis] = p_value.x;
- rows[1][p_axis] = p_value.y;
- rows[2][p_axis] = p_value.z;
- }
-
void rotate(const Vector3 &p_axis, real_t p_phi);
Basis rotated(const Vector3 &p_axis, real_t p_phi) const;
@@ -186,28 +175,28 @@ struct _NO_DISCARD_ Basis {
rows[2][1] = zy;
rows[2][2] = zz;
}
- _FORCE_INLINE_ void set(const Vector3 &p_x, const Vector3 &p_y, const Vector3 &p_z) {
- set_axis(0, p_x);
- set_axis(1, p_y);
- set_axis(2, p_z);
+ _FORCE_INLINE_ void set_columns(const Vector3 &p_x, const Vector3 &p_y, const Vector3 &p_z) {
+ set_column(0, p_x);
+ set_column(1, p_y);
+ set_column(2, p_z);
}
- _FORCE_INLINE_ Vector3 get_column(int i) const {
- return Vector3(rows[0][i], rows[1][i], rows[2][i]);
+
+ _FORCE_INLINE_ Vector3 get_column(int p_index) const {
+ // Get actual basis axis column (we store transposed as rows for performance).
+ return Vector3(rows[0][p_index], rows[1][p_index], rows[2][p_index]);
}
- _FORCE_INLINE_ Vector3 get_row(int i) const {
- return Vector3(rows[i][0], rows[i][1], rows[i][2]);
+ _FORCE_INLINE_ void set_column(int p_index, const Vector3 &p_value) {
+ // Set actual basis axis column (we store transposed as rows for performance).
+ rows[0][p_index] = p_value.x;
+ rows[1][p_index] = p_value.y;
+ rows[2][p_index] = p_value.z;
}
+
_FORCE_INLINE_ Vector3 get_main_diagonal() const {
return Vector3(rows[0][0], rows[1][1], rows[2][2]);
}
- _FORCE_INLINE_ void set_row(int i, const Vector3 &p_row) {
- rows[i][0] = p_row.x;
- rows[i][1] = p_row.y;
- rows[i][2] = p_row.z;
- }
-
_FORCE_INLINE_ void set_zero() {
rows[0].zero();
rows[1].zero();