00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SGE_MATH_MATRIX_UTIL_HPP_INCLUDED
00022 #define SGE_MATH_MATRIX_UTIL_HPP_INCLUDED
00023
00024 #include "matrix.hpp"
00025 #include "vector.hpp"
00026 #include "../su.hpp"
00027 #include "../export.hpp"
00028
00029 namespace sge
00030 {
00031 namespace math
00032 {
00033
00034 SGE_SYMBOL space_matrix matrix_translation(
00035 const math::basic_vector<space_unit,3>& v);
00036
00037 SGE_SYMBOL space_matrix matrix_translation(
00038 space_unit x,
00039 space_unit y,
00040 space_unit z);
00041
00042 SGE_SYMBOL space_matrix matrix_scaling(
00043 const math::basic_vector<space_unit,3>& v);
00044
00045 SGE_SYMBOL space_matrix matrix_scaling(
00046 space_unit x,
00047 space_unit y,
00048 space_unit z);
00049
00050 SGE_SYMBOL space_matrix matrix_perspective(
00051 space_unit aspect,
00052 space_unit fov,
00053 space_unit near,
00054 space_unit far);
00055
00056 SGE_SYMBOL space_matrix matrix_orthogonal_xy();
00057
00058 SGE_SYMBOL basic_matrix<space_unit,2,2> matrix_rotation_2d(
00059 space_unit angle);
00060
00061 SGE_SYMBOL space_matrix matrix_rotation_z(
00062 space_unit angle);
00063
00064 SGE_SYMBOL space_matrix matrix_rotation_y(
00065 space_unit angle);
00066
00067 SGE_SYMBOL space_matrix matrix_rotation_x(
00068 space_unit angle);
00069
00070 SGE_SYMBOL space_matrix matrix_identity();
00071
00072 SGE_SYMBOL space_matrix matrix_orthogonal_xy(
00073 space_unit left,
00074 space_unit right,
00075 space_unit top,
00076 space_unit bottom,
00077 space_unit near,
00078 space_unit far);
00079 }
00080 }
00081
00082 #endif