From 27b9d013fdffc47fe4dbdfd91cac95fd8b5a0544 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Sun, 24 Aug 2014 15:29:59 +0200 Subject: [PATCH] 3D-viewer: fix Bug #1360784 (3D viewer displays only first wrl shape) --- 3d-viewer/3d_draw.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/3d-viewer/3d_draw.cpp b/3d-viewer/3d_draw.cpp index 061ac2f6b5..d7fef89ab3 100644 --- a/3d-viewer/3d_draw.cpp +++ b/3d-viewer/3d_draw.cpp @@ -1421,7 +1421,6 @@ void MODULE::ReadAndInsert3DComponentShape( EDA_3D_CANVAS* glcanvas, { // Read from disk and draws the footprint 3D shapes if exists - S3D_MASTER* shape3D = m_3D_Drawings; double zpos = glcanvas->GetPrm3DVisu().GetModulesZcoord3DIU( IsFlipped() ); glPushMatrix(); @@ -1439,13 +1438,18 @@ void MODULE::ReadAndInsert3DComponentShape( EDA_3D_CANVAS* glcanvas, glRotatef( 180.0, 0.0, 0.0, 1.0 ); } + S3D_MASTER* shape3D = Models(); for( ; shape3D; shape3D = shape3D->Next() ) { shape3D->SetLoadNonTransparentObjects( aAllowNonTransparentObjects ); shape3D->SetLoadTransparentObjects( aAllowTransparentObjects ); if( shape3D->Is3DType( S3D_MASTER::FILE3D_VRML ) ) + { + glPushMatrix(); shape3D->ReadData(); + glPopMatrix(); + } } glPopMatrix();