Base: Use nested std::array for Matrix4D class
This commit is contained in:
@@ -35,30 +35,30 @@ using namespace Base;
|
||||
|
||||
// clang-format off
|
||||
Matrix4D::Matrix4D()
|
||||
: dMtrx4D {{1., 0., 0., 0.},
|
||||
{0., 1., 0., 0.},
|
||||
{0., 0., 1., 0.},
|
||||
{0., 0., 0., 1.}}
|
||||
: dMtrx4D {{{1., 0., 0., 0.},
|
||||
{0., 1., 0., 0.},
|
||||
{0., 0., 1., 0.},
|
||||
{0., 0., 0., 1.}}}
|
||||
{}
|
||||
|
||||
Matrix4D::Matrix4D(float a11, float a12, float a13, float a14,
|
||||
float a21, float a22, float a23, float a24,
|
||||
float a31, float a32, float a33, float a34,
|
||||
float a41, float a42, float a43, float a44)
|
||||
: dMtrx4D {{a11, a12, a13, a14},
|
||||
{a21, a22, a23, a24},
|
||||
{a31, a32, a33, a34},
|
||||
{a41, a42, a43, a44}}
|
||||
: dMtrx4D {{{a11, a12, a13, a14},
|
||||
{a21, a22, a23, a24},
|
||||
{a31, a32, a33, a34},
|
||||
{a41, a42, a43, a44}}}
|
||||
{}
|
||||
|
||||
Matrix4D::Matrix4D(double a11, double a12, double a13, double a14,
|
||||
double a21, double a22, double a23, double a24,
|
||||
double a31, double a32, double a33, double a34,
|
||||
double a41, double a42, double a43, double a44)
|
||||
: dMtrx4D {{a11, a12, a13, a14},
|
||||
{a21, a22, a23, a24},
|
||||
{a31, a32, a33, a34},
|
||||
{a41, a42, a43, a44}}
|
||||
: dMtrx4D {{{a11, a12, a13, a14},
|
||||
{a21, a22, a23, a24},
|
||||
{a31, a32, a33, a34},
|
||||
{a41, a42, a43, a44}}}
|
||||
{}
|
||||
// clang-format on
|
||||
|
||||
@@ -700,15 +700,12 @@ void Matrix4D::Print() const
|
||||
|
||||
void Matrix4D::transpose()
|
||||
{
|
||||
double dNew[4][4];
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
for (int j = 0; j < 4; j++) {
|
||||
dNew[j][i] = dMtrx4D[i][j];
|
||||
}
|
||||
}
|
||||
|
||||
memcpy(dMtrx4D, dNew, sizeof(dMtrx4D));
|
||||
std::swap(dMtrx4D[0][1], dMtrx4D[1][0]);
|
||||
std::swap(dMtrx4D[0][2], dMtrx4D[2][0]);
|
||||
std::swap(dMtrx4D[0][3], dMtrx4D[3][0]);
|
||||
std::swap(dMtrx4D[1][2], dMtrx4D[2][1]);
|
||||
std::swap(dMtrx4D[1][3], dMtrx4D[3][1]);
|
||||
std::swap(dMtrx4D[2][3], dMtrx4D[3][2]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user