From b8027ce9a7f050b95846a668a02f5801331e127f Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Fri, 15 Jun 2012 16:58:04 +0200 Subject: Tests and fixes in math geometry.h module --- src/math/conv.h | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'src/math/conv.h') diff --git a/src/math/conv.h b/src/math/conv.h index 8cfdc6b..bb6700b 100644 --- a/src/math/conv.h +++ b/src/math/conv.h @@ -1,21 +1,39 @@ /* math/conv.h - Temporary conversion functions for D3DVECTOR and FPOINT */ + Temporary conversion functions for D3DVECTOR and D3DMATRIX */ #pragma once -#define STRICT -#define D3D_OVERLOADS #include #include "vector.h" +#include "matrix.h" -inline D3DVECTOR V_TO_D3D(Math::Vector vec) +inline D3DVECTOR VEC_TO_D3DVEC(Math::Vector vec) { return D3DVECTOR(vec.x, vec.y, vec.z); } -inline Math::Vector D3D_TO_V(D3DVECTOR vec) +inline Math::Vector D3DVEC_TO_VEC(D3DVECTOR vec) { return Math::Vector(vec.x, vec.y, vec.z); } + +inline D3DMATRIX MAT_TO_D3DMAT(Math::Matrix mat) +{ + D3DMATRIX result; + mat.Transpose(); + for (int r = 0; r < 4; ++r) + { + for (int c = 0; c < 16; ++c) + result.m[r][c] = mat.m[4*c+r]; + } + return result; +} + +inline Math::Matrix D3DMAT_TO_MAT(D3DMATRIX mat) +{ + Math::Matrix result(mat.m); + result.Transpose(); + return result; +} -- cgit v1.2.3-1-g7c22