#include <matrix4d.h>
Public Types | |
| using | VectorStrideType = typename V::VectorStrideType | 
| using | ValueType = typename V::ValueType | 
| using | ValueTypeParam = typename ByValueParam< ValueType >::type | 
| using | BoolType = typename V::BoolType | 
Public Member Functions | |
| constexpr | SqrMat4 () | 
| constexpr | SqrMat4 (const V &v1_in, const V &v2_in, const V &v3_in, const V &v4_in) | 
| template<typename V2 > | |
| constexpr | SqrMat4 (const SqrMat4< V2 > &m) | 
| template<typename V2 > | |
| constexpr | SqrMat4 (const Mat3< V2 > &m) | 
| constexpr | SqrMat4 (ENUM_DONT_INITIALIZE v) | 
| constexpr void | SetIdentity () | 
| V & | operator[] (Int idx) | 
| const V & | operator[] (Int idx) const | 
| constexpr Mat3< Vec3< ValueType, 1 > > | GetMatrix3d () | 
| template<typename V2 > | |
| constexpr SqrMat4< typename MultiplicativePromotion< V, typename V2::ValueType >::type > | operator* (const SqrMat4< V2 > &m2) const | 
| template<typename T , Int S> | |
| constexpr Vec4< typename MultiplicativePromotion< ValueType, T >::type, 1 > | operator* (const Vec4< T, S > &v) const | 
| template<typename T , Int S> | |
| constexpr Vec3< typename MultiplicativePromotion< ValueType, T >::type, 1 > | operator* (const Vec3< T, S > &v) const | 
| constexpr SqrMat4 | operator* (ValueTypeParam s) const | 
| constexpr SqrMat4 | operator/ (ValueTypeParam s) const | 
| constexpr SqrMat4 | operator+ (const SqrMat4 &m2) const | 
| constexpr SqrMat4 | operator- (const SqrMat4 &m2) const | 
| constexpr BoolType | operator== (const SqrMat4 &other) const | 
| constexpr BoolType | operator!= (const SqrMat4 &other) const | 
| constexpr ValueType | Det () const | 
| constexpr SqrMat4 | operator~ () const | 
| constexpr void | Normalize () | 
| constexpr SqrMat4 | GetNormalized () const | 
| constexpr SqrMat4 | GetTransposed () const | 
| constexpr SqrMat4 & | operator*= (const V &v) | 
| constexpr SqrMat4 & | operator*= (ValueTypeParam r) | 
| String | ToString (const FormatStatement *formatStatement=nullptr) const | 
| constexpr | MAXON_OPERATOR_HASH (SqrMat4, v1, v2, v3, v4) | 
Public Attributes | |
| V | v1 | 
| V | v2 | 
| V | v3 | 
| V | v4 | 
Static Private Member Functions | |
| static constexpr ValueType | Det3 (ValueType a1, ValueType a2, ValueType a3, ValueType b1, ValueType b2, ValueType b3, ValueType c1, ValueType c2, ValueType c3) | 
Friends | |
| constexpr friend SqrMat4 | operator* (ValueTypeParam s, const SqrMat4 &m) | 
| using VectorStrideType = typename V::VectorStrideType | 
| using ValueType = typename V::ValueType | 
| using ValueTypeParam = typename ByValueParam<ValueType>::type | 
| using BoolType = typename V::BoolType | 
The type returned by comparisons. If the template argument for V is a vector of SIMD components, this will be a SIMD type, too, which contains the per-element results.
      
  | 
  constexpr | 
Default constructor, creates an identity matrix.
      
  | 
  constexpr | 
Initializes matrix from individual components.
Initializes matrix from another matrix.
      
  | 
  explicitconstexpr | 
Skips initialization of matrix (for better speed)
      
  | 
  constexpr | 
Sets this matrix to an identity matrix.
| V& operator[] | ( | Int | idx | ) | 
| const V& operator[] | ( | Int | idx | ) | const | 
      
  | 
  constexpr | 
Multiplies two matrices. The rule is m1 AFTER m2 If you transform a vector with the result matrix this is identical to first transforming with m2 and then with m1
      
  | 
  constexpr | 
Multiplies a 4d vector by a matrix.
      
  | 
  constexpr | 
Transforms a 3d vector by a matrix.
      
  | 
  constexpr | 
Scales all matrix components by a scalar value.
      
  | 
  constexpr | 
Divides all matrix components by a scalar value. If s is 0.0 an identity matrix will be returned.
Adds two matrices component-wise.
Subtracts two matrices component-wise.
Equality operator.
| [in] | other | Comparison matrix. | 
Inequality operator.
| [in] | other | Comparison matrix. | 
      
  | 
  constexpr | 
Computes the determinant of this matrix.
      
  | 
  constexpr | 
Calculates the inverse matrix If no inverse can be calculated the result is the Identity matrix
      
  | 
  constexpr | 
Normalizes the length of all four axes.
      
  | 
  constexpr | 
Returns this matrix with all vectors normalized.
      
  | 
  constexpr | 
Returns the transposed matrix.
      
  | 
  constexpr | 
Scales each axis by the respective components of the passed vector.
      
  | 
  constexpr | 
Scales each axis by the scalar.
| String ToString | ( | const FormatStatement * | formatStatement = nullptr | ) | const | 
Returns a readable string of the content.
| [in] | formatStatement | Nullptr or additional formatting instruction. See also Formatting Floating point values. | 
      
  | 
  staticconstexprprivate | 
      
  | 
  friend | 
Scales all matrix components by a scalar value.
| V v1 | 
The X axis.
| V v2 | 
The Y axis.
| V v3 | 
The Z axis.
| V v4 | 
The W axis.