Implement GetRow, GetColumn, At methods for Mat2x2
This commit is contained in:
@@ -6,12 +6,19 @@
|
||||
namespace LinearAlgebra {
|
||||
class Matrix2x2 {
|
||||
public:
|
||||
enum { Rows = 3 };
|
||||
enum { Cols = 3 };
|
||||
static const Matrix2x2 Zero;
|
||||
static const Matrix2x2 Identity;
|
||||
static const Matrix2x2 NaN;
|
||||
|
||||
Vector2 GetRow() const;
|
||||
Vector2 GetColumn() const;
|
||||
Vector2 GetRow(int index) const;
|
||||
Vector2 GetColumn(int index) const;
|
||||
float At(int x, int y) const;
|
||||
|
||||
|
||||
Vector2 operator * (const Vector2& rhs) const;
|
||||
Matrix2x2 operator * (const Matrix2x2 &rhs) const;
|
||||
|
||||
protected:
|
||||
float elems[2][2];
|
||||
|
@@ -2,4 +2,20 @@
|
||||
|
||||
namespace LinearAlgebra {
|
||||
|
||||
Vector2 Matrix2x2::GetRow(int index) const {
|
||||
float x = this->elems[index][0];
|
||||
float y = this->elems[index][1];
|
||||
|
||||
return {x, y};
|
||||
}
|
||||
|
||||
Vector2 Matrix2x2::GetColumn(int index) const {
|
||||
float x = this->elems[0][index];
|
||||
float y = this->elems[1][index];
|
||||
return {x, y};
|
||||
}
|
||||
|
||||
float Matrix2x2::At(int x, int y) const {
|
||||
return this->elems[x][y];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user