本文整理汇总了C++中ProgressTimer::GetProgressMessage方法的典型用法代码示例。如果您正苦于以下问题:C++ ProgressTimer::GetProgressMessage方法的具体用法?C++ ProgressTimer::GetProgressMessage怎么用?C++ ProgressTimer::GetProgressMessage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProgressTimer
的用法示例。
在下文中一共展示了ProgressTimer::GetProgressMessage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: brickCoords
void Histogram1DDataBlock::ComputeTemplate(const TOCBlock* source,
uint64_t iLevel) {
// compute histogram by iterating over all bricks of the given level
UINT64VECTOR3 bricksInSourceLevel = source->GetBrickCount(iLevel);
size_t iCompcount = size_t(source->GetComponentCount());
T* pTempBrickData = new T[size_t(source->GetMaxBrickSize().volume())
*iCompcount];
uint32_t iOverlap =source->GetOverlap();
ProgressTimer timer;
timer.Start();
for (uint64_t bz = 0;bz<bricksInSourceLevel.z;bz++) {
for (uint64_t by = 0;by<bricksInSourceLevel.y;by++) {
for (uint64_t bx = 0;bx<bricksInSourceLevel.x;bx++) {
UINT64VECTOR4 brickCoords(bx,by,bz,iLevel);
source->GetData((uint8_t*)pTempBrickData, brickCoords);
UINTVECTOR3 bricksize = UINTVECTOR3(source->GetBrickSize(brickCoords));
for (uint32_t z = iOverlap;z<bricksize.z-iOverlap;z++) {
for (uint32_t y = iOverlap;y<bricksize.y-iOverlap;y++) {
for (uint32_t x = iOverlap;x<bricksize.x-iOverlap;x++) {
// TODO: think about what todo with multi component data
// right now we only pick the first component
size_t val = size_t(pTempBrickData[iCompcount*(x+y*bricksize.x+z*bricksize.x*bricksize.y)]);
m_vHistData[val]++;
}
}
}
}
}
float progress = float(bz)/float(bricksInSourceLevel.z);
MESSAGE("Computing 1D Histogram %5.2f%% (%s)",
progress * 100.0f,
timer.GetProgressMessage(progress).c_str());
}
delete [] pTempBrickData;
}