From 5d21d26f2425d965849c8f0e106fb82747251423 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 3 Apr 2020 16:21:16 +0200 Subject: [PATCH] Fix glTF transformation --- src/serializers/GltfSerializer.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/serializers/GltfSerializer.cpp b/src/serializers/GltfSerializer.cpp index 99b702d82b..9f80d5b4f1 100644 --- a/src/serializers/GltfSerializer.cpp +++ b/src/serializers/GltfSerializer.cpp @@ -169,14 +169,12 @@ void GltfSerializer::write(const ifcopenshell::geometry::TriangulationElement* o const double* m = o->transformation().data().components.data(); - // @todo verify - - // nb: note that this contains the Y-UP transform as well. + // nb: note that this applies the Y-UP transform. const std::array matrix_flat = { - m[0], m[ 2], -m[ 1], 0, - m[3], m[ 5], -m[ 4], 0, - m[6], m[ 8], -m[ 7], 0, - m[9], m[11], -m[10], 1 + m[ 0], m[ 2], -m[ 1], m[ 3], + m[ 4], m[ 6], -m[ 5], m[ 7], + m[ 8], m[10], -m[ 9], m[11], + m[12], m[14], -m[13], m[15] }; static const std::array identity_matrix = {1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1};