Add advanced cfg to force reloading memory cached 3d models
This commit is contained in:
parent
7cb0f8f808
commit
9162013132
|
@ -238,7 +238,7 @@ SCENEGRAPH* S3D_CACHE::load( const wxString& aModelFile, S3D_CACHE_ENTRY** aCach
|
||||||
|
|
||||||
if( fname.FileExists() ) // Only check if file exists. If not, it will
|
if( fname.FileExists() ) // Only check if file exists. If not, it will
|
||||||
{ // use the same model in cache.
|
{ // use the same model in cache.
|
||||||
bool reload = ADVANCED_CFG::GetCfg().m_Skip3DMemoryCache;
|
bool reload = ADVANCED_CFG::GetCfg().m_Skip3DModelMemoryCache;
|
||||||
wxDateTime fmdate = fname.GetModificationTime();
|
wxDateTime fmdate = fname.GetModificationTime();
|
||||||
|
|
||||||
if( fmdate != mi->second->modTime )
|
if( fmdate != mi->second->modTime )
|
||||||
|
@ -341,13 +341,13 @@ SCENEGRAPH* S3D_CACHE::checkCache( const wxString& aFileName, S3D_CACHE_ENTRY**
|
||||||
wxString bname = ep->GetCacheBaseName();
|
wxString bname = ep->GetCacheBaseName();
|
||||||
wxString cachename = m_CacheDir + bname + wxT( ".3dc" );
|
wxString cachename = m_CacheDir + bname + wxT( ".3dc" );
|
||||||
|
|
||||||
if( !ADVANCED_CFG::GetCfg().m_Skip3DFileCache && wxFileName::FileExists( cachename )
|
if( !ADVANCED_CFG::GetCfg().m_Skip3DModelFileCache && wxFileName::FileExists( cachename )
|
||||||
&& loadCacheData( ep ) )
|
&& loadCacheData( ep ) )
|
||||||
return ep->sceneData;
|
return ep->sceneData;
|
||||||
|
|
||||||
ep->sceneData = m_Plugins->Load3DModel( aFileName, ep->pluginInfo );
|
ep->sceneData = m_Plugins->Load3DModel( aFileName, ep->pluginInfo );
|
||||||
|
|
||||||
if( !ADVANCED_CFG::GetCfg().m_Skip3DFileCache && nullptr != ep->sceneData )
|
if( !ADVANCED_CFG::GetCfg().m_Skip3DModelFileCache && nullptr != ep->sceneData )
|
||||||
saveCacheData( ep );
|
saveCacheData( ep );
|
||||||
|
|
||||||
return ep->sceneData;
|
return ep->sceneData;
|
||||||
|
|
|
@ -162,9 +162,9 @@ static const wxChar DrawBoundingBoxes[] = wxT( "DrawBoundingBoxes" );
|
||||||
|
|
||||||
static const wxChar ShowPcbnewExportNetlist[] = wxT( "ShowPcbnewExportNetlist" );
|
static const wxChar ShowPcbnewExportNetlist[] = wxT( "ShowPcbnewExportNetlist" );
|
||||||
|
|
||||||
static const wxChar Skip3DFileCache[] = wxT( "Skip3DFileCache" );
|
static const wxChar Skip3DModelFileCache[] = wxT( "Skip3DModelFileCache" );
|
||||||
|
|
||||||
static const wxChar Skip3DMemoryCache[] = wxT( "Skip3DMemoryCache" );
|
static const wxChar Skip3DModelMemoryCache[] = wxT( "Skip3DModelMemoryCache" );
|
||||||
|
|
||||||
} // namespace KEYS
|
} // namespace KEYS
|
||||||
|
|
||||||
|
@ -268,7 +268,8 @@ ADVANCED_CFG::ADVANCED_CFG()
|
||||||
m_HotkeysDumper = false;
|
m_HotkeysDumper = false;
|
||||||
m_DrawBoundingBoxes = false;
|
m_DrawBoundingBoxes = false;
|
||||||
m_ShowPcbnewExportNetlist = false;
|
m_ShowPcbnewExportNetlist = false;
|
||||||
m_Skip3DFileCache = false;
|
m_Skip3DModelFileCache = false;
|
||||||
|
m_Skip3DModelMemoryCache = false;
|
||||||
|
|
||||||
loadFromConfigFile();
|
loadFromConfigFile();
|
||||||
}
|
}
|
||||||
|
@ -369,11 +370,11 @@ void ADVANCED_CFG::loadSettings( wxConfigBase& aCfg )
|
||||||
configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::ShowPcbnewExportNetlist,
|
configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::ShowPcbnewExportNetlist,
|
||||||
&m_ShowPcbnewExportNetlist, false ) );
|
&m_ShowPcbnewExportNetlist, false ) );
|
||||||
|
|
||||||
configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::Skip3DFileCache,
|
configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::Skip3DModelFileCache,
|
||||||
&m_Skip3DFileCache, false ) );
|
&m_Skip3DModelFileCache, false ) );
|
||||||
|
|
||||||
configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::Skip3DMemoryCache,
|
configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::Skip3DModelMemoryCache,
|
||||||
&m_Skip3DMemoryCache, false ) );
|
&m_Skip3DModelMemoryCache, false ) );
|
||||||
|
|
||||||
wxConfigLoadSetups( &aCfg, configParams );
|
wxConfigLoadSetups( &aCfg, configParams );
|
||||||
|
|
||||||
|
|
|
@ -172,13 +172,16 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Skip reading/writing 3d model file caches
|
* Skip reading/writing 3d model file caches
|
||||||
|
* This does not prevent the models from being cached in memory meaning reopening the 3d viewer
|
||||||
|
* in the same project session will not reload model data from disk again.
|
||||||
*/
|
*/
|
||||||
bool m_Skip3DFileCache;
|
bool m_Skip3DModelFileCache;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Skip reading/writing 3d model memory caches
|
* Skip reading/writing 3d model memory caches
|
||||||
|
* This ensures 3d models are always reloaded from disk even if we previously opened the 3d viewer.
|
||||||
*/
|
*/
|
||||||
bool m_Skip3DMemoryCache;
|
bool m_Skip3DModelMemoryCache;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ADVANCED_CFG();
|
ADVANCED_CFG();
|
||||||
|
|
Loading…
Reference in New Issue