Opérations basiques sur des matrices 4x4. Plus de détails...
Fonctions membres publiques statiques | |
| template<typename TypeA , typename TypeB > | |
| static void | rotate (SquareMatrix< TypeA, 4 > &p_matrix, Angle const &p_angle, Point< TypeB, 3 > const &p_axis) |
| Fonction de rotation, construit une matrice de rotation a partir d'un angle et d'un axe. | |
| template<typename TypeA > | |
| static void | rotate (SquareMatrix< TypeA, 4 > &p_matrix, Quaternion const &p_quat) |
| Fonction de rotation, construit une matrice de rotation a partir d'un quaternion. | |
| template<typename TypeA , typename TypeB > | |
| static void | set_rotate (SquareMatrix< TypeA, 4 > &p_matrix, Angle const &p_angle, Point< TypeB, 3 > const &p_axis) |
| Fonction de rotation, construit une matrice de rotation a partir d'un angle et d'un axe. | |
| template<typename TypeA > | |
| static void | set_rotate (SquareMatrix< TypeA, 4 > &p_matrix, Quaternion const &p_quat) |
| Fonction de rotation, construit une matrice de rotation a partir d'un quaternion. | |
| template<typename TypeA > | |
| static void | yaw (SquareMatrix< TypeA, 4 > &p_matrix, Angle const &p_angle) |
| Fonction de rotation autour de l'axe Y, construit une matrice de rotation a partir d'un angle. | |
| template<typename TypeA > | |
| static void | pitch (SquareMatrix< TypeA, 4 > &p_matrix, Angle const &p_angle) |
| Fonction de rotation autour de l'axe X, construit une matrice de rotation a partir d'un angle. | |
| template<typename TypeA > | |
| static void | roll (SquareMatrix< TypeA, 4 > &p_matrix, Angle const &p_angle) |
| Fonction de rotation autour de l'axe Z, construit une matrice de rotation a partir d'un angle. | |
| template<typename TypeA , typename TypeB > | |
| static void | scale (SquareMatrix< TypeA, 4 > &p_matrix, TypeB p_hx, TypeB p_hy, TypeB p_hz) |
| Fonction de mise a l'echelle. | |
| template<typename TypeA , typename TypeB > | |
| static void | scale (SquareMatrix< TypeA, 4 > &p_matrix, Point< TypeB, 3 > const &p_scale) |
| Fonction de mise a l'echelle. | |
| template<typename TypeA , typename TypeB > | |
| static void | set_scale (SquareMatrix< TypeA, 4 > &p_matrix, TypeB p_hx, TypeB p_hy, TypeB p_hz) |
| Fonction de mise a l'echelle. | |
| template<typename TypeA , typename TypeB > | |
| static void | set_scale (SquareMatrix< TypeA, 4 > &p_matrix, Point< TypeB, 3 > const &p_scale) |
| Fonction de mise a l'echelle. | |
| template<typename TypeA , typename TypeB > | |
| static void | translate (SquareMatrix< TypeA, 4 > &p_matrix, TypeB p_tx, TypeB p_ty, TypeB p_tz) |
| Fonction de construction de matrice de translation. | |
| template<typename TypeA , typename TypeB > | |
| static void | translate (SquareMatrix< TypeA, 4 > &p_matrix, Point< TypeB, 3 > const &p_translation) |
| Fonction de construction de matrice de translation. | |
| template<typename TypeA , typename TypeB > | |
| static void | set_translate (SquareMatrix< TypeA, 4 > &p_matrix, TypeB p_tx, TypeB p_ty, TypeB p_tz) |
| Fonction de construction de matrice de translation. | |
| template<typename TypeA , typename TypeB > | |
| static void | set_translate (SquareMatrix< TypeA, 4 > &p_matrix, Point< TypeB, 3 > const &p_translation) |
| Fonction de construction de matrice de translation. | |
| template<typename TypeA , typename TypeB > | |
| static void | perspective (SquareMatrix< TypeA, 4 > &p_matrix, Angle const &p_aFOVY, TypeB aspect, TypeB zNear, TypeB zFar) |
| Construit une matrice de projection en perspective centree. | |
| template<typename TypeA , typename TypeB > | |
| static void | frustum (SquareMatrix< TypeA, 4 > &p_matrix, TypeB left, TypeB right, TypeB bottom, TypeB top, TypeB nearVal, TypeB farVal) |
| Construit une matrice de projection en perspective non centree. | |
| template<typename TypeA , typename TypeB > | |
| static void | ortho (SquareMatrix< TypeA, 4 > &p_matrix, TypeB left, TypeB right, TypeB top, TypeB bottom) |
| Construit une matrice de projection orthographique centree. | |
| template<typename TypeA , typename TypeB > | |
| static void | ortho (SquareMatrix< TypeA, 4 > &p_matrix, TypeB left, TypeB right, TypeB bottom, TypeB top, TypeB zNear, TypeB zFar) |
| Construit une matrice de projection orthographique non centree. | |
| template<typename TypeA , typename TypeB , std::size_t Count> | |
| static Point< TypeB, Count > | mult (SquareMatrix< TypeA, 4 > const &p_matrix, Point< TypeB, Count > const &p_vertex) |
| Transforme un vecteur par une matrice de transformation. | |
| template<typename TypeA , typename TypeB > | |
| static SquareMatrix< TypeA, 4 > | mult (SquareMatrix< TypeA, 4 > const &p_matrixA, SquareMatrix< TypeB, 4 > const &p_matrixB) |
| Multiplie 2 matrices. | |
| template<typename TypeA > | |
| static SquareMatrix< TypeA, 4 > | switch_hand (SquareMatrix< TypeA, 4 > const &p_matrix) |
| Change la main de la matrice (de main gauche a droite et inversement). | |
Opérations basiques sur des matrices 4x4.
| static void Castor::MtxUtils::frustum | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| TypeB | left, | |||
| TypeB | right, | |||
| TypeB | bottom, | |||
| TypeB | top, | |||
| TypeB | nearVal, | |||
| TypeB | farVal | |||
| ) | [static] |
Construit une matrice de projection en perspective non centree.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | left | Position du plan gauche |
| [in] | right | Position du plan droit |
| [in] | bottom | Position du plan bas |
| [in] | top | Position du plan haut |
| [in] | nearVal | Position du plan proche |
| [in] | farVal | Position du plan lointain |
| static Point<TypeB, Count> Castor::MtxUtils::mult | ( | SquareMatrix< TypeA, 4 > const & | p_matrix, | |
| Point< TypeB, Count > const & | p_vertex | |||
| ) | [static] |
Transforme un vecteur par une matrice de transformation.
| [in] | p_matrix | La matrice |
| [in] | p_vertex | Le vecteur |
| static SquareMatrix<TypeA, 4> Castor::MtxUtils::mult | ( | SquareMatrix< TypeA, 4 > const & | p_matrixA, | |
| SquareMatrix< TypeB, 4 > const & | p_matrixB | |||
| ) | [static] |
Multiplie 2 matrices.
| [in] | p_matrixA | La premiere matrice |
| [in] | p_matrixB | La seconde matrice |
| static void Castor::MtxUtils::ortho | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| TypeB | left, | |||
| TypeB | right, | |||
| TypeB | bottom, | |||
| TypeB | top, | |||
| TypeB | zNear, | |||
| TypeB | zFar | |||
| ) | [static] |
Construit une matrice de projection orthographique non centree.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | left | Position du plan gauche |
| [in] | right | Position du plan droit |
| [in] | bottom | Position du plan bas |
| [in] | top | Position du plan haut |
| [in] | zNear | Position du plan proche |
| [in] | zFar | Position du plan lointain |
| static void Castor::MtxUtils::ortho | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| TypeB | left, | |||
| TypeB | right, | |||
| TypeB | top, | |||
| TypeB | bottom | |||
| ) | [static] |
Construit une matrice de projection orthographique centree.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | left | Position du plan gauche |
| [in] | right | Position du plan droit |
| [in] | bottom | Position du plan bas |
| [in] | top | Position du plan haut |
| static void Castor::MtxUtils::perspective | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Angle const & | p_aFOVY, | |||
| TypeB | aspect, | |||
| TypeB | zNear, | |||
| TypeB | zFar | |||
| ) | [static] |
Construit une matrice de projection en perspective centree.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_aFOVY | Angle de vision Y |
| [in] | aspect | Ratio Largeur / Hauteur |
| [in] | zNear | Position du plan proche |
| [in] | zFar | Position du plan lointain |
| static void Castor::MtxUtils::pitch | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Angle const & | p_angle | |||
| ) | [static] |
Fonction de rotation autour de l'axe X, construit une matrice de rotation a partir d'un angle.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_angle | L'angle de rotation |
| static void Castor::MtxUtils::roll | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Angle const & | p_angle | |||
| ) | [static] |
Fonction de rotation autour de l'axe Z, construit une matrice de rotation a partir d'un angle.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_angle | L'angle de rotation |
| static void Castor::MtxUtils::rotate | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Quaternion const & | p_quat | |||
| ) | [static] |
Fonction de rotation, construit une matrice de rotation a partir d'un quaternion.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_quat | Le quaternion contenant la rotation |
| static void Castor::MtxUtils::rotate | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Angle const & | p_angle, | |||
| Point< TypeB, 3 > const & | p_axis | |||
| ) | [static] |
Fonction de rotation, construit une matrice de rotation a partir d'un angle et d'un axe.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_angle | L'angle de rotation |
| [in] | p_axis | L'axe autour duquel l'angle est defini |
| static void Castor::MtxUtils::scale | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| TypeB | p_hx, | |||
| TypeB | p_hy, | |||
| TypeB | p_hz | |||
| ) | [static] |
Fonction de mise a l'echelle.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_hx,p_hy,p_hz | Les valeurs d'echelle sur les 3 axes |
| static void Castor::MtxUtils::scale | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Point< TypeB, 3 > const & | p_scale | |||
| ) | [static] |
Fonction de mise a l'echelle.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_scale | Les valeurs d'echelle sur les 3 axes |
| static void Castor::MtxUtils::set_rotate | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Quaternion const & | p_quat | |||
| ) | [static] |
Fonction de rotation, construit une matrice de rotation a partir d'un quaternion.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_quat | Le quaternion contenant la rotation |
| static void Castor::MtxUtils::set_rotate | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Angle const & | p_angle, | |||
| Point< TypeB, 3 > const & | p_axis | |||
| ) | [static] |
Fonction de rotation, construit une matrice de rotation a partir d'un angle et d'un axe.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_angle | L'angle de rotation |
| [in] | p_axis | L'axe autour duquel l'angle est defini |
| static void Castor::MtxUtils::set_scale | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Point< TypeB, 3 > const & | p_scale | |||
| ) | [static] |
Fonction de mise a l'echelle.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_scale | Les valeurs d'echelle sur les 3 axes |
| static void Castor::MtxUtils::set_scale | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| TypeB | p_hx, | |||
| TypeB | p_hy, | |||
| TypeB | p_hz | |||
| ) | [static] |
Fonction de mise a l'echelle.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_hx,p_hy,p_hz | Les valeurs d'echelle sur les 3 axes |
| static void Castor::MtxUtils::set_translate | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Point< TypeB, 3 > const & | p_translation | |||
| ) | [static] |
Fonction de construction de matrice de translation.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_translation | Les valeurs de translation sur les 3 axes |
| static void Castor::MtxUtils::set_translate | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| TypeB | p_tx, | |||
| TypeB | p_ty, | |||
| TypeB | p_tz | |||
| ) | [static] |
Fonction de construction de matrice de translation.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_tx,p_ty,p_tz | Les valeurs de translation sur les 3 axes |
| static SquareMatrix<TypeA, 4> Castor::MtxUtils::switch_hand | ( | SquareMatrix< TypeA, 4 > const & | p_matrix | ) | [static] |
Change la main de la matrice (de main gauche a droite et inversement).
| [in] | p_matrix | La matrice a changer |
| static void Castor::MtxUtils::translate | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Point< TypeB, 3 > const & | p_translation | |||
| ) | [static] |
Fonction de construction de matrice de translation.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_translation | Les valeurs de translation sur les 3 axes |
| static void Castor::MtxUtils::translate | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| TypeB | p_tx, | |||
| TypeB | p_ty, | |||
| TypeB | p_tz | |||
| ) | [static] |
Fonction de construction de matrice de translation.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_tx,p_ty,p_tz | Les valeurs de translation sur les 3 axes |
| static void Castor::MtxUtils::yaw | ( | SquareMatrix< TypeA, 4 > & | p_matrix, | |
| Angle const & | p_angle | |||
| ) | [static] |
Fonction de rotation autour de l'axe Y, construit une matrice de rotation a partir d'un angle.
| [out] | p_matrix | La matrice qui contiendra le resultat |
| [in] | p_angle | L'angle de rotation |
1.7.1