- Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
Description
Description
Revision of the matrix4x4 for more efficiency and less susceptibility to errors.
Details
Projekt: "ecm.math"
Datei: "matrix4x4.hpp" "matrix4x4.inl"
Namespace: "ecm::math"
Tasks
- Add generic type
Tand renameMatrix4x4toMatrix4x4_Base - Add typedefs for the vector types
- Constructors:
-
mat() -
mat(mat<T> m) -
mat(T s) -
mat(T x/y/z/w 1-4) -
mat(vec4 v 1-4) -
mat(X/Y/Z/W 1-4 x/y/z/w 1-4) -
mat(V 1-4 v 1-4) -
mat(mat<U> m)
-
- Access operators:
-
column_type& operator[](uint8 i) -
column_type const& operator[](uint8 i) const
-
- Unary arithmetic operators:
-
operator=(mat<U> const& m) -
operator+=(U s) -
operator+=(mat<U> const& m) -
operator-=(U s) -
operator-=(mat<U> const& m) -
operator*=(U s) -
operator*=(mat<U> const& m) -
operator/=(U s) -
operator/=(mat<U> const& m)
-
- Increment and decrement operators:
-
operator++() -
operator--() -
operator++(int) -
operator--(int)
-
- Boolean operators (analog):
-
operator==(mat<T> const& m1, mat<T> const& m2) -
operator!=(mat<T> const& m1, mat<T> const& m2)
-
- Unary operators (analog):
-
operator+(mat<T> const& m) -
operator-(mat<T> const& m)
-
- Binary operators (analog):
-
mat<T> operator+(mat<T> const& m, U scalar) -
mat<T> operator+(T scalar, mat<U> const& m) -
mat<T> operator+(mat<T> const& m1, mat<U> const& m2) -
mat<T> operator-(mat<T> const& m, U scalar) -
mat<T> operator-(T scalar, mat<U> const& m) -
mat<T> operator-(mat<T> const& m1, mat<U> const& m2) -
mat<T> operator*(mat<T> const& m, U scalar) -
mat<T> operator*(T scalar, mat<U> const& m) -
typename mat<T>::column_type operator*(mat<T> const& m, typename mat<U>::row_type const& v) -
typename mat<T>::row_type operator*(typename mat<T>::column_type const& v, mat<U> const& m) -
mat<T> operator*(mat<T> const& m1, mat<U> const& m2) -
mat<T> operator/(mat<T> const& m, U scalar) -
mat<T> operator/(T scalar, mat<U> const& m) -
typename mat<T>::column_type operator/(mat<T> const& m, typename mat<U>::row_type const& v) -
typename mat<T>::row_type operator/(typename mat<T>::column_type const& v, mat<U> const& m) -
mat<T> operator/(mat<T> const& m1, mat<U> const& m2)
-
- Add all comments
- Add new type definitions (e.g.
Matrix4x4,Matrix4x4i, ...)