4 #include "../Matrix/MatrixImpl.hpp" 5 #include "../Vector.hpp" 12 template <
class T,
int Dim,
bool Packed>
18 template <
class U, eMatrixOrder Order, eMatrixLayout Layout,
bool MPacked>
25 template <
class U, eMatrixOrder Order, eMatrixLayout Layout,
bool MPacked>
32 template <
class U, eMatrixLayout Layout,
bool MPacked>
39 template <
class U, eMatrixLayout Layout,
bool MPacked>
48 template <
class U,
int Rows,
int Columns, eMatrixOrder Order, eMatrixLayout Layout,
bool MPacked>
52 for (i = 0; i < scale.Dimension(); ++i) {
53 m(i, i) = std::move(scale(i));
55 for (; i < std::min(Rows, Columns); ++i) {
67 template <
class Vt,
int Vdim,
bool Vpacked>
76 template <
class... Args,
typename std::enable_if<(traits::All<traits::IsScalar, typename std::decay<Args>::type...>::value),
int>::type = 0>
78 using PromotedT = decltype((0 + ... + scales));
auto Identity()
Creates an identity matrix or identity quaternion.
Definition: IdentityBuilder.hpp:42
Represents a vector in N-dimensional space.
Definition: Definitions.hpp:57
Definition: ScaleBuilder.hpp:13
Definition: Approx.hpp:11
Definition: Definitions.hpp:63
ScaleBuilder & operator=(const ScaleBuilder &)=delete
auto Scale(const Vector< Vt, Vdim, Vpacked > &scale)
Creates a scaling matrix.
Definition: ScaleBuilder.hpp:68
ScaleBuilder(const Vector< T, Dim, Packed > &scale)
Definition: ScaleBuilder.hpp:15