35 class TMatrix3 :
public Matrix3Base<T> {
38 static TMatrix3<T>
rotation(T angle) {
return (TMatrix3<T>)Matrix3Base<T>::rotation(Magnum::Math::Rad<T>(angle)); }
41 constexpr static TMatrix3<T>
shearingX(T amount) {
return (TMatrix3<T>)Matrix3Base<T>::shearingX(amount); }
44 constexpr static TMatrix3<T>
shearingY(T amount) {
return (TMatrix3<T>)Matrix3Base<T>::shearingY(amount); }
46 constexpr TMatrix3() noexcept: Matrix3Base<T>() {}
48 constexpr TMatrix3(
const TVector3<T>& first,
const TVector3<T>& second,
const TVector3<T>& third)
noexcept:
49 Matrix3Base<T>(Magnum::Math::Vector3<T>(first), Magnum::Math::Vector3<T>(second), Magnum::Math::Vector3<T>(third)) {}
51 constexpr explicit TMatrix3(T value)
noexcept: Matrix3Base<T>(value) {}
53 template<
class U>
constexpr explicit TMatrix3(
const TMatrix3<U>& other)
noexcept: Matrix3Base<T>((Matrix3Base<U>)other) {}
55 template<std::
size_t otherSize>
constexpr explicit TMatrix3(
const TMatrixS<otherSize, T>& other)
noexcept: Matrix3Base<T>{(TMatrixS<otherSize, T>)other} {}
61 TMatrix3<T>
invertedRigid()
const {
return (TMatrix3<T>)Matrix3Base<T>::invertedRigid(); }
63 TMatrix3(
const std::vector<T> &v1,
const std::vector<T> &v2,
const std::vector<T> &v3) :
66 MAGNUM_BASE_MATRIX_CAST_METHODS(3, TMatrix3, Matrix3Base)
68 REVISED_MAGNUM_MATRIX_SUBCLASS_IMPLEMENTATION(3, TMatrix3, Matrix3Base,
TVector3)
71 SWIGPYTHON_MAGNUM_MATRIX_SUBCLASS_IMPLEMENTATION(3, TMatrix3,
TVector3)