///////////////////////////////////////////////////////////////////////////////////////////////////
// OpenGL Mathematics Copyright (c) 2005 - 2008 G-Truc Creation (www.g-truc.net)
///////////////////////////////////////////////////////////////////////////////////////////////////
// Created : 2005-12-21
// Updated : 2006-11-13
// Licence : This source is under MIT License
// File    : glm/gtx/matrix_cross_product.h
///////////////////////////////////////////////////////////////////////////////////////////////////
// Dependency:
// - GLM core
///////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef glm_gtx_matrix_cross_product
#define glm_gtx_matrix_cross_product

// Dependency:
#include "../../glm.h"

namespace glm
{
    template <typename T> detail::tmat3x3<T> matrixCross3GTX(const detail::tvec3<T>& x);
    template <typename T> detail::tmat4x4<T> matrixCross4GTX(const detail::tvec3<T>& x);

    namespace gtx
    {
		//! GLM_GTX_matrix_cross_product: Build cross product matrices
        namespace matrix_cross_product
        {
            template <typename T> inline detail::tmat3x3<T> matrixCross3(const detail::tvec3<T>& x){return matrixCross3GTX(x);} //!< \brief Build a cross product matrix (From GLM_GTX_matrix_cross_product extension)
            template <typename T> inline detail::tmat4x4<T> matrixCross4(const detail::tvec3<T>& x){return matrixCross4GTX(x);} //!< \brief Build a cross product matrix (From GLM_GTX_matrix_cross_product extension)
        }
    }
}

#define GLM_GTX_matrix_cross_product namespace gtx::matrix_cross_product

#include "matrix_cross_product.inl"

#endif//glm_gtx_matrix_cross_product
