Browse Source

Update DXFLoader.cpp

Changed order of operations for insert positioning and scaling. Need to position the inserts before scaling it, otherwise the position ends up up being position*scale
seanth 1 year ago
parent
commit
240fa97fed
1 changed files with 4 additions and 0 deletions
  1. 4 0
      code/AssetLib/DXF/DXFLoader.cpp

+ 4 - 0
code/AssetLib/DXF/DXFLoader.cpp

@@ -372,6 +372,10 @@ void DXFImporter::ExpandBlockReferences(DXF::Block& bl,const DXF::BlockMap& bloc
                 // XXX order
                 aiMatrix4x4 trafo, tmp;
                 aiMatrix4x4::Translation(-bl_src.base,trafo);
+                //Need to translate position before scaling the insert
+                //otherwise the position ends up being the position*scaling
+                //STH 2024.01.17
+                trafo *= aiMatrix4x4::Translation(insert.pos,tmp);
                 trafo *= aiMatrix4x4::Scaling(insert.scale,tmp);
                 //trafo *= aiMatrix4x4::Translation(insert.pos,tmp);