27template<
int C,
int R>
struct MatOp {
34 return *
reinterpret_cast<const ColT *
>(
this);
38 return *
reinterpret_cast<ColT *
>(
this);
81 explicit MatBase(
T,
T,
T,
T,
T,
T,
T,
T,
T,
T,
T,
T,
T,
T,
T,
T) {}
97#define RESHAPE(mat_to, mat_from, ...) \
98 mat_to to_##mat_to(mat_from m) \
100 return mat_to(__VA_ARGS__); \
107RESHAPE(
float3x3,
float2x2, m[0].
x, m[0].
y, 0, m[1].
x, m[1].
y, 0, 0, 0, 1)
108RESHAPE(
float4x4,
float2x2, m[0].
x, m[0].
y, 0, 0, m[1].
x, m[1].
y, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
109RESHAPE(
float4x4,
float3x3, m[0].
x, m[0].
y, m[0].
z, 0, m[1].
x, m[1].
y, m[1].
z, 0, m[2].
x, m[2].
y, m[2].
z, 0, 0, 0, 0, 1)
SIMD_FORCE_INLINE const btScalar & z() const
Return the z value.
#define RESHAPE(mat_to, mat_from,...)
MatBase(const MatBase< OtherC, OtherR > &)
MatBase(T, T, T, T, T, T, T, T, T)
MatBase(ColT, ColT, ColT)
MatBase(const MatBase< OtherC, OtherR > &)
MatBase(ColT, ColT, ColT, ColT)
MatBase(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T)
MatBase(const MatBase< OtherC, OtherR > &)
const ColT & operator[](int) const