Skip to content

Commit 7076d80

Browse files
swahtzmatthewdcong
authored andcommitted
NanoVDB Math Mat classes' member function fix
--------- Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
1 parent 3be744a commit 7076d80

File tree

1 file changed

+46
-46
lines changed

1 file changed

+46
-46
lines changed

nanovdb/nanovdb/math/Math.h

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,40 +1033,40 @@ class Mat2 : public MatBase<T, 2, 2> {
10331033
template<typename Source>
10341034
__hostdev__ Mat2(Source* array) : Base(array) {}
10351035

1036-
__hostdev__ Mat2 operator-() const { return Mat2(-this[0][0], -this[0][1], -this[1][0], -this[1][1]); }
1036+
__hostdev__ Mat2 operator-() const { return Mat2(-(*this)[0][0], -(*this)[0][1], -(*this)[1][0], -(*this)[1][1]); }
10371037

10381038
/// @brief Multiply by 2x2 matrix @a m and return the resulting matrix.
10391039
__hostdev__ Mat2<T> operator*(const Mat2<T>& m) const {
10401040
return Mat2<T>(
1041-
this[0][0] * m[0][0] + this[0][1] * m[1][0],
1042-
this[0][0] * m[0][1] + this[0][1] * m[1][1],
1043-
this[1][0] * m[0][0] + this[1][1] * m[1][0],
1044-
this[1][0] * m[0][1] + this[1][1] * m[1][1]
1041+
(*this)[0][0] * m[0][0] + (*this)[0][1] * m[1][0],
1042+
(*this)[0][0] * m[0][1] + (*this)[0][1] * m[1][1],
1043+
(*this)[1][0] * m[0][0] + (*this)[1][1] * m[1][0],
1044+
(*this)[1][0] * m[0][1] + (*this)[1][1] * m[1][1]
10451045
);
10461046
}
10471047

10481048
/// @brief Add each element of the given matrix to the corresponding element of this matrix.
10491049
__hostdev__ Mat2<T>& operator+=(const Mat2<T>& m) {
1050-
this[0][0] += m[0][0];
1051-
this[0][1] += m[0][1];
1052-
this[1][0] += m[1][0];
1053-
this[1][1] += m[1][1];
1050+
(*this)[0][0] += m[0][0];
1051+
(*this)[0][1] += m[0][1];
1052+
(*this)[1][0] += m[1][0];
1053+
(*this)[1][1] += m[1][1];
10541054
return *this;
10551055
}
10561056

10571057
/// @brief returns transpose of this
10581058
__hostdev__ Mat2<T> transpose() const {
1059-
return Mat2<T>(this[0][0], this[1][0], this[0][1], this[1][1]);
1059+
return Mat2<T>((*this)[0][0], (*this)[1][0], (*this)[0][1], (*this)[1][1]);
10601060
}
10611061

10621062
/// @brief returns inverse of this
10631063
__hostdev__ Mat2<T> inverse() const {
1064-
T det = this[0][0] * this[1][1] - this[0][1] * this[1][0];
1064+
T det = (*this)[0][0] * (*this)[1][1] - (*this)[0][1] * (*this)[1][0];
10651065
if (isApproxZero(det)) {
10661066
return Mat2<T>();
10671067
}
10681068
T invDet = 1.f / det;
1069-
return Mat2<T>(this[1][1] * invDet, -this[0][1] * invDet, -this[1][0] * invDet, this[0][0] * invDet);
1069+
return Mat2<T>((*this)[1][1] * invDet, -(*this)[0][1] * invDet, -(*this)[1][0] * invDet, (*this)[0][0] * invDet);
10701070
}
10711071
};
10721072

@@ -1093,24 +1093,24 @@ class Mat2x3 : public MatBase<T, 2, 3> {
10931093
/// @brief Add two matrices and return the resulting matrix.
10941094
__hostdev__ Mat2x3<T> operator+(const Mat2x3<T>& m) const {
10951095
return Mat2x3<T>(
1096-
this[0][0] + m[0][0], this[0][1] + m[0][1], this[0][2] + m[0][2],
1097-
this[1][0] + m[1][0], this[1][1] + m[1][1], this[1][2] + m[1][2]
1096+
(*this)[0][0] + m[0][0], (*this)[0][1] + m[0][1], (*this)[0][2] + m[0][2],
1097+
(*this)[1][0] + m[1][0], (*this)[1][1] + m[1][1], (*this)[1][2] + m[1][2]
10981098
);
10991099
}
11001100

11011101
/// @brief Add a 2x3 matrix to this matrix.
11021102
__hostdev__ Mat2x3<T>& operator+=(const Mat2x3<T>& m) {
1103-
this[0][0] += m[0][0]; this[0][1] += m[0][1]; this[0][2] += m[0][2];
1104-
this[1][0] += m[1][0]; this[1][1] += m[1][1]; this[1][2] += m[1][2];
1103+
(*this)[0][0] += m[0][0]; (*this)[0][1] += m[0][1]; (*this)[0][2] += m[0][2];
1104+
(*this)[1][0] += m[1][0]; (*this)[1][1] += m[1][1]; (*this)[1][2] += m[1][2];
11051105
return *this;
11061106
}
11071107

11081108
/// @brief returns transpose of this
11091109
__hostdev__ Mat3x2<T> transpose() const {
11101110
return Mat3x2<T>(
1111-
this[0][0], this[1][0], // First row
1112-
this[0][1], this[1][1], // Second row
1113-
this[0][2], this[1][2] // Third row
1111+
(*this)[0][0], (*this)[1][0], // First row
1112+
(*this)[0][1], (*this)[1][1], // Second row
1113+
(*this)[0][2], (*this)[1][2] // Third row
11141114
);
11151115
}
11161116
};
@@ -1141,8 +1141,8 @@ class Mat3x2: public MatBase<T, 3, 2> {
11411141

11421142
/// @brief returns transpose of this
11431143
__hostdev__ Mat2x3<T> transpose() const {
1144-
return Mat2x3<T>(this[0][0], this[1][0], this[2][0], // First row
1145-
this[0][1], this[1][1], this[2][1]); // Second row
1144+
return Mat2x3<T>((*this)[0][0], (*this)[1][0], (*this)[2][0], // First row
1145+
(*this)[0][1], (*this)[1][1], (*this)[2][1]); // Second row
11461146
}
11471147

11481148
};
@@ -1177,49 +1177,49 @@ class Mat3 : public MatBase<T, 3, 3> {
11771177
/// @brief Add two matrices and return the resulting matrix.
11781178
__hostdev__ Mat3<T> operator+(const Mat3<T>& m) const {
11791179
return Mat3<T>(
1180-
this[0][0] + m[0][0], this[0][1] + m[0][1], this[0][2] + m[0][2],
1181-
this[1][0] + m[1][0], this[1][1] + m[1][1], this[1][2] + m[1][2],
1182-
this[2][0] + m[2][0], this[2][1] + m[2][1], this[2][2] + m[2][2]
1180+
(*this)[0][0] + m[0][0], (*this)[0][1] + m[0][1], (*this)[0][2] + m[0][2],
1181+
(*this)[1][0] + m[1][0], (*this)[1][1] + m[1][1], (*this)[1][2] + m[1][2],
1182+
(*this)[2][0] + m[2][0], (*this)[2][1] + m[2][1], (*this)[2][2] + m[2][2]
11831183
);
11841184
}
11851185

11861186
/// @brief Multiply by @a v and return the resulting vector.
11871187
__hostdev__ Vec3<T> operator*(const Vec3<T>& v) const {
11881188
return Vec3<T>(
1189-
this[0][0] * v[0] + this[0][1] * v[1] + this[0][2] * v[2],
1190-
this[1][0] * v[0] + this[1][1] * v[1] + this[1][2] * v[2],
1191-
this[2][0] * v[0] + this[2][1] * v[1] + this[2][2] * v[2]
1189+
(*this)[0][0] * v[0] + (*this)[0][1] * v[1] + (*this)[0][2] * v[2],
1190+
(*this)[1][0] * v[0] + (*this)[1][1] * v[1] + (*this)[1][2] * v[2],
1191+
(*this)[2][0] * v[0] + (*this)[2][1] * v[1] + (*this)[2][2] * v[2]
11921192
);
11931193
}
11941194

11951195
/// @brief Multiply by 3x3 matrix @a m and return the resulting matrix.
11961196
__hostdev__ Mat3<T> operator*(const Mat3<T>& m) const {
11971197
return Mat3<T>(
1198-
this[0][0] * m[0][0] + this[0][1] * m[1][0] + this[0][2] * m[2][0],
1199-
this[0][0] * m[0][1] + this[0][1] * m[1][1] + this[0][2] * m[2][1],
1200-
this[0][0] * m[0][2] + this[0][1] * m[1][2] + this[0][2] * m[2][2],
1201-
this[1][0] * m[0][0] + this[1][1] * m[1][0] + this[1][2] * m[2][0],
1202-
this[1][0] * m[0][1] + this[1][1] * m[1][1] + this[1][2] * m[2][1],
1203-
this[1][0] * m[0][2] + this[1][1] * m[1][2] + this[1][2] * m[2][2],
1204-
this[2][0] * m[0][0] + this[2][1] * m[1][0] + this[2][2] * m[2][0],
1205-
this[2][0] * m[0][1] + this[2][1] * m[1][1] + this[2][2] * m[2][1],
1206-
this[2][0] * m[0][2] + this[2][1] * m[1][2] + this[2][2] * m[2][2]
1198+
(*this)[0][0] * m[0][0] + (*this)[0][1] * m[1][0] + (*this)[0][2] * m[2][0],
1199+
(*this)[0][0] * m[0][1] + (*this)[0][1] * m[1][1] + (*this)[0][2] * m[2][1],
1200+
(*this)[0][0] * m[0][2] + (*this)[0][1] * m[1][2] + (*this)[0][2] * m[2][2],
1201+
(*this)[1][0] * m[0][0] + (*this)[1][1] * m[1][0] + (*this)[1][2] * m[2][0],
1202+
(*this)[1][0] * m[0][1] + (*this)[1][1] * m[1][1] + (*this)[1][2] * m[2][1],
1203+
(*this)[1][0] * m[0][2] + (*this)[1][1] * m[1][2] + (*this)[1][2] * m[2][2],
1204+
(*this)[2][0] * m[0][0] + (*this)[2][1] * m[1][0] + (*this)[2][2] * m[2][0],
1205+
(*this)[2][0] * m[0][1] + (*this)[2][1] * m[1][1] + (*this)[2][2] * m[2][1],
1206+
(*this)[2][0] * m[0][2] + (*this)[2][1] * m[1][2] + (*this)[2][2] * m[2][2]
12071207
);
12081208
}
12091209

12101210
/// @brief Add each element of the given matrix to the corresponding element of this matrix.
12111211
__hostdev__ Mat3<T>& operator+=(const Mat3<T>& m) {
1212-
this[0][0] += m[0][0]; this[0][1] += m[0][1]; this[0][2] += m[0][2];
1213-
this[1][0] += m[1][0]; this[1][1] += m[1][1]; this[1][2] += m[1][2];
1214-
this[2][0] += m[2][0]; this[2][1] += m[2][1]; this[2][2] += m[2][2];
1212+
(*this)[0][0] += m[0][0]; (*this)[0][1] += m[0][1]; (*this)[0][2] += m[0][2];
1213+
(*this)[1][0] += m[1][0]; (*this)[1][1] += m[1][1]; (*this)[1][2] += m[1][2];
1214+
(*this)[2][0] += m[2][0]; (*this)[2][1] += m[2][1]; (*this)[2][2] += m[2][2];
12151215
return *this;
12161216
}
12171217

12181218
/// @brief returns transpose of this
12191219
__hostdev__ Mat3 transpose() const {
1220-
return Mat3(this[0][0], this[1][0], this[2][0],
1221-
this[0][1], this[1][1], this[2][1],
1222-
this[0][2], this[1][2], this[2][2]);
1220+
return Mat3((*this)[0][0], (*this)[1][0], (*this)[2][0],
1221+
(*this)[0][1], (*this)[1][1], (*this)[2][1],
1222+
(*this)[0][2], (*this)[1][2], (*this)[2][2]);
12231223
}
12241224
};
12251225

@@ -1254,10 +1254,10 @@ class Mat4 : public MatBase<T, 4, 4> {
12541254

12551255
/// @brief returns transpose of this
12561256
__hostdev__ Mat4 transpose() const {
1257-
return Mat4(this[0][0], this[1][0], this[2][0], this[3][0],
1258-
this[0][1], this[1][1], this[2][1], this[3][1],
1259-
this[0][2], this[1][2], this[2][2], this[3][2],
1260-
this[0][3], this[1][3], this[2][3], this[3][3]);
1257+
return Mat4((*this)[0][0], (*this)[1][0], (*this)[2][0], (*this)[3][0],
1258+
(*this)[0][1], (*this)[1][1], (*this)[2][1], (*this)[3][1],
1259+
(*this)[0][2], (*this)[1][2], (*this)[2][2], (*this)[3][2],
1260+
(*this)[0][3], (*this)[1][3], (*this)[2][3], (*this)[3][3]);
12611261
}
12621262
};
12631263

0 commit comments

Comments
 (0)