[Bf-blender-cvs] [e7c92f1] master: Freestyle: Progress bar updates during mesh loading.
Tamito Kajiyama
noreply at git.blender.org
Tue Jun 24 10:25:27 CEST 2014
Commit: e7c92f11453e58a3a0a455d14f011671987bddc2
Author: Tamito Kajiyama
Date: Tue Jun 24 17:12:38 2014 +0900
https://developer.blender.org/rBe7c92f11453e58a3a0a455d14f011671987bddc2
Freestyle: Progress bar updates during mesh loading.
===================================================================
M source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
===================================================================
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
index 72baea1..b504d2c 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
@@ -28,6 +28,8 @@
#include "BKE_global.h"
+#include <sstream>
+
namespace Freestyle {
BlenderFileLoader::BlenderFileLoader(Render *re, SceneRenderLayer *srl)
@@ -38,6 +40,7 @@ BlenderFileLoader::BlenderFileLoader(Render *re, SceneRenderLayer *srl)
_numFacesRead = 0;
_minEdgeSize = DBL_MAX;
_smooth = (srl->freestyleConfig.flags & FREESTYLE_FACE_SMOOTHNESS_FLAG) != 0;
+ _pRenderMonitor = NULL;
}
BlenderFileLoader::~BlenderFileLoader()
@@ -86,9 +89,21 @@ NodeGroup *BlenderFileLoader::Load()
#endif
int id = 0;
+ unsigned cnt = 1;
+ unsigned cntStep = (unsigned)ceil(0.01f * _re->totinstance);
for (obi = (ObjectInstanceRen *)_re->instancetable.first; obi; obi = obi->next) {
- if (_pRenderMonitor && _pRenderMonitor->testBreak())
- break;
+ if (_pRenderMonitor) {
+ if (_pRenderMonitor->testBreak())
+ 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))
continue;
char *name = obi->ob->id.name;
More information about the Bf-blender-cvs
mailing list