HatchitMath
ht_matrix3.h
1 
28 #pragma once
29 
30 #include <ht_platform.h>
31 #include <ht_vector3.h>
32 
33 namespace Hatchit
34 {
35  namespace Math
36  {
37  class HT_API Matrix3
38  {
39  friend class Matrix4;
40  public:
41  //Constructors
43  Matrix3();
45  Matrix3(float rawArray[]);
47  Matrix3(float x0, float y0, float z0,
48  float x1, float y1, float z1,
49  float x2, float y2, float z2);
51  Matrix3(Vector3 one, Vector3 two, Vector3 three);
52 
53 
54  //Accessors
58  Matrix3 getTranspose();
62  Matrix3 getInverse();
68  float* getAsArray();
69 
70  //Operators
76  Matrix3 operator* (Matrix3 mat);
82  Vector3 operator* (Vector3 vec);
91  operator Matrix4();
100  float* operator[] (int i);
101 
102  private:
103  float matrix[3][3];
104  __m128 m_rows[3];
105  };
106  }
107 }
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_intrin.h:33
Definition: ht_matrix3.h:37
Definition: ht_math.h:280
Definition: ht_math.h:155