diff --git a/3d-viewer/3d_cache/3d_filename_resolver.cpp b/3d-viewer/3d_cache/3d_filename_resolver.cpp index ad04cf6588..b4a885045c 100644 --- a/3d-viewer/3d_cache/3d_filename_resolver.cpp +++ b/3d-viewer/3d_cache/3d_filename_resolver.cpp @@ -182,7 +182,23 @@ wxString S3D_FILENAME_RESOLVER::ResolvePath( const wxString& aFileName ) // first attempt to use the name as specified: wxString aResolvedName; - wxString fname = aFileName; + wxString fname; + + // normalize paths with "${VARNAME}" to support legacy behavior + if( aFileName.StartsWith( wxT( "${" ) ) ) + { + wxFileName tmp( aFileName ); + + if( tmp.Normalize() ) + fname = tmp.GetFullPath(); + else + fname = aFileName; + + } + else + { + fname = aFileName; + } #ifdef _WIN32 // translate from KiCad's internal UNIX-like path to MSWin paths diff --git a/3d-viewer/3d_cache/sg/sg_node.cpp b/3d-viewer/3d_cache/sg/sg_node.cpp index 27eaaf3a15..198433322d 100644 --- a/3d-viewer/3d_cache/sg/sg_node.cpp +++ b/3d-viewer/3d_cache/sg/sg_node.cpp @@ -30,7 +30,7 @@ #include "3d_cache/sg/sg_node.h" #include "plugins/3dapi/c3dmodel.h" -static const std::string node_names[V2_END + 1] = { +static const std::string node_names[S3D::SGTYPE_END + 1] = { "TXFM", "APP", "COL", diff --git a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_createscene_ogl_legacy.cpp b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_createscene_ogl_legacy.cpp index fec8dbda51..e7ae88cfd6 100644 --- a/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_createscene_ogl_legacy.cpp +++ b/3d-viewer/3d_rendering/3d_render_ogl_legacy/c3d_render_createscene_ogl_legacy.cpp @@ -28,8 +28,8 @@ */ #include "c3d_render_ogl_legacy.h" - #include "ogl_legacy_utils.h" +#include "geometry/shape_poly_set.h" #include "../3d_render_raytracing/shapes2D/cpolygon2d.h" #include "../3d_render_raytracing/shapes2D/ctriangle2d.h" @@ -98,7 +98,7 @@ void C3D_RENDER_OGL_LEGACY::reload() const SHAPE_POLY_SET boardPoly = m_settings.GetBoardPoly(); SHAPE_POLY_SET boardPolyCopy = boardPoly; - boardPolyCopy.Simplify( true ); + boardPolyCopy.Simplify( SHAPE_POLY_SET::PM_FAST ); if( boardPolyCopy.OutlineCount() == 1 ) {