4 #include "../Matrix/MatrixImpl.hpp" 5 #include "../Vector.hpp" 14 ShearBuilder(T slope,
int principalAxis,
int modulatorAxis) : slope(slope), principalAxis(principalAxis), modulatorAxis(modulatorAxis) {}
17 template <
class U,
int Rows,
int Columns, eMatrixOrder Order, eMatrixLayout Layout,
bool MPacked>
25 template <
class U,
int Rows,
int Columns, eMatrixOrder Order, eMatrixLayout Layout,
bool MPacked>
27 assert(principalAxis != modulatorAxis);
30 assert(modulatorAxis < Rows);
31 assert(principalAxis < Columns);
32 m(modulatorAxis, principalAxis) = slope;
35 assert(principalAxis < Rows);
36 assert(modulatorAxis < Columns);
37 m(principalAxis, modulatorAxis) = slope;
42 const int principalAxis;
43 const int modulatorAxis;
54 auto Shear(T slope,
int principalAxis,
int modulatorAxis) {
55 return ShearBuilder(slope, principalAxis, modulatorAxis);
auto Identity()
Creates an identity matrix or identity quaternion.
Definition: IdentityBuilder.hpp:42
ShearBuilder(T slope, int principalAxis, int modulatorAxis)
Definition: ShearBuilder.hpp:14
auto Shear(T slope, int principalAxis, int modulatorAxis)
Creates a shear matrix.
Definition: ShearBuilder.hpp:54
Definition: ShearBuilder.hpp:12
ShearBuilder & operator=(const ShearBuilder &)=delete
Definition: Approx.hpp:11
Definition: Definitions.hpp:63