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

#ifndef glm_gtx_handed_coordinate_space
#define glm_gtx_handed_coordinate_space

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

namespace glm
{
    template <typename T> bool rightHandedGTX(const detail::tvec3<T>& tangent, const detail::tvec3<T>& binormal, const detail::tvec3<T>& normal);
    template <typename T> bool leftHandedGTX(const detail::tvec3<T>& tangent, const detail::tvec3<T>& binormal, const detail::tvec3<T>& normal);

    namespace gtx
    {
		//! GLM_GTX_handed_coordinate_space extension: To know if a triedron is right or left handed
		namespace handed_coordinate_space
        {
            template <typename T> inline bool rightHanded(const detail::tvec3<T>& tangent, const detail::tvec3<T>& binormal, const detail::tvec3<T>& normal){return rightHandedGTX(tangent, binormal, normal);}  //!< \brief Return if a trihedron right handed or not (From GLM_GTX_handed_coordinate_space extension)
            template <typename T> inline bool leftHanded(const detail::tvec3<T>& tangent, const detail::tvec3<T>& binormal, const detail::tvec3<T>& normal){return leftHandedGTX(tangent, binormal, normal);}    //!< \brief Return if a trihedron left handed or not (From GLM_GTX_handed_coordinate_space extension)
        }
    }
}

#define GLM_GTX_handed_coordinate_space namespace gtx::handed_coordinate_space

#include "handed_coordinate_space.inl"

#endif//glm_gtx_handed_coordinate_space
