forked from bartvdbraak/blender
Freestyle: Progress bar updates during mesh loading.
This commit is contained in:
parent
dd96be356d
commit
e7c92f1145
@ -28,6 +28,8 @@
|
|||||||
|
|
||||||
#include "BKE_global.h"
|
#include "BKE_global.h"
|
||||||
|
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
namespace Freestyle {
|
namespace Freestyle {
|
||||||
|
|
||||||
BlenderFileLoader::BlenderFileLoader(Render *re, SceneRenderLayer *srl)
|
BlenderFileLoader::BlenderFileLoader(Render *re, SceneRenderLayer *srl)
|
||||||
@ -38,6 +40,7 @@ BlenderFileLoader::BlenderFileLoader(Render *re, SceneRenderLayer *srl)
|
|||||||
_numFacesRead = 0;
|
_numFacesRead = 0;
|
||||||
_minEdgeSize = DBL_MAX;
|
_minEdgeSize = DBL_MAX;
|
||||||
_smooth = (srl->freestyleConfig.flags & FREESTYLE_FACE_SMOOTHNESS_FLAG) != 0;
|
_smooth = (srl->freestyleConfig.flags & FREESTYLE_FACE_SMOOTHNESS_FLAG) != 0;
|
||||||
|
_pRenderMonitor = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
BlenderFileLoader::~BlenderFileLoader()
|
BlenderFileLoader::~BlenderFileLoader()
|
||||||
@ -86,9 +89,21 @@ NodeGroup *BlenderFileLoader::Load()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int id = 0;
|
int id = 0;
|
||||||
|
unsigned cnt = 1;
|
||||||
|
unsigned cntStep = (unsigned)ceil(0.01f * _re->totinstance);
|
||||||
for (obi = (ObjectInstanceRen *)_re->instancetable.first; obi; obi = obi->next) {
|
for (obi = (ObjectInstanceRen *)_re->instancetable.first; obi; obi = obi->next) {
|
||||||
if (_pRenderMonitor && _pRenderMonitor->testBreak())
|
if (_pRenderMonitor) {
|
||||||
|
if (_pRenderMonitor->testBreak())
|
||||||
break;
|
break;
|
||||||
|
if (cnt % cntStep == 0) {
|
||||||
|
stringstream ss;
|
||||||
|
ss << "Freestyle: Mesh loading " << (100 * cnt / _re->totinstance) << "%";
|
||||||
|
_pRenderMonitor->setInfo(ss.str());
|
||||||
|
_pRenderMonitor->progress((float)cnt / _re->totinstance);
|
||||||
|
}
|
||||||
|
cnt++;
|
||||||
|
}
|
||||||
|
|
||||||
if (!(obi->lay & _srl->lay))
|
if (!(obi->lay & _srl->lay))
|
||||||
continue;
|
continue;
|
||||||
char *name = obi->ob->id.name;
|
char *name = obi->ob->id.name;
|
||||||
|
Loading…
Reference in New Issue
Block a user