{ \
curTickD = osg::Timer::instance()->tick(); \
if (osg::Timer::instance()->delta_s(lastTickD, curTickD) > 1.0) { \
float remS = osg::Timer::instance()->delta_s(startTimeD, curTickD); \
float fpass = (float)pass; \
float fnumPasses = (float)numPasses; \
float timeSpend = osg::Timer::instance()->delta_s(startTimeD, curTickD); \
float remIterations = fnumPasses - fpass; \
float timeperIteration = fpass / timeSpend; \
float remTime = remIterations / timeperIteration ; \
float remTimeH = (int)remTime / 3600; \
float remTimeM = ((int)remTime % 3600) / 60; \
float remTimeS = ((int)remTime % 60 );\
logger.debugLog("Done: %d/%d (%.1f%%) est. rem. time: %.0f h %.0f m %.0f s",pass, numPasses, ((100.0f*fpass)/fnumPasses) ,remTimeH, remTimeM, remTimeS); \
lastTickD = curTickD; \
} \
}