flatten 20260225
This commit is contained in:
102
tjp/core/math/MathGlmC.h
Executable file
102
tjp/core/math/MathGlmC.h
Executable file
@@ -0,0 +1,102 @@
|
||||
//
|
||||
// Math.hpp
|
||||
// amoeba
|
||||
//
|
||||
// Created by Timothy Prepscius on 12/30/16.
|
||||
// Copyright © 2016 Timothy Prepscius. All rights reserved.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "HPoint.hpp"
|
||||
#include "HMatrix.hpp"
|
||||
#include "Vector3.hpp"
|
||||
#include "Vector4.hpp"
|
||||
|
||||
#include <tjp/core/graphics/glm.h>
|
||||
|
||||
namespace tjp {
|
||||
namespace core {
|
||||
namespace math {
|
||||
|
||||
template<typename T>
|
||||
glm::vec<3, T> glm_c(const math::Vector3<T> &v)
|
||||
{
|
||||
return { v[0], v[1], v[2] };
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
math::Vector3<T> glm_c(const glm::vec<3, T> &v)
|
||||
{
|
||||
return { v[0], v[1], v[2] };
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
glm::qua<T> glm_c(const math::Vector4<T> &v)
|
||||
{
|
||||
return { v[0], v[1], v[2], v[3] };
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
math::Vector4<T> glm_c(const glm::qua<T> &v)
|
||||
{
|
||||
return { v[0], v[1], v[2], v[3] };
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
glm::vec<4, T> glm_c(const math::HPoint<T> &v)
|
||||
{
|
||||
return { v[0], v[1], v[2], v[3] };
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
math::HPoint<T> glm_c(const glm::vec<4, T> &v)
|
||||
{
|
||||
return { v[0], v[1], v[2], v[3] };
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
glm::mat<3, 3, T> glm_c(const math::Matrix3<T> &m)
|
||||
{
|
||||
return {
|
||||
m[0][0], m[0][1], m[0][2],
|
||||
m[1][0], m[1][1], m[1][2],
|
||||
m[2][0], m[2][1], m[2][2]
|
||||
} ;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
math::Matrix3<T> glm_c(const glm::mat<3, 3, T> &m)
|
||||
{
|
||||
return {
|
||||
m[0][0], m[0][1], m[0][2],
|
||||
m[1][0], m[1][1], m[1][2],
|
||||
m[2][0], m[2][1], m[2][2]
|
||||
} ;
|
||||
}
|
||||
template<typename T>
|
||||
glm::mat<4, 4, T> glm_c(const math::HMatrix<T> &m)
|
||||
{
|
||||
return {
|
||||
m[0][0], m[0][1], m[0][2], m[0][3],
|
||||
m[1][0], m[1][1], m[1][2], m[1][3],
|
||||
m[2][0], m[2][1], m[2][2], m[2][3],
|
||||
m[3][0], m[3][1], m[3][2], m[3][3]
|
||||
} ;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
math::HMatrix<T> glm_c(const glm::mat<4, 4, T> &m)
|
||||
{
|
||||
return {
|
||||
m[0][0], m[0][1], m[0][2], m[0][3],
|
||||
m[1][0], m[1][1], m[1][2], m[1][3],
|
||||
m[2][0], m[2][1], m[2][2], m[2][3],
|
||||
m[3][0], m[3][1], m[3][2], m[3][3]
|
||||
} ;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user