本文整理汇总了C++中ImportParameter::GetAreaWayIndexCellSizeMax方法的典型用法代码示例。如果您正苦于以下问题:C++ ImportParameter::GetAreaWayIndexCellSizeMax方法的具体用法?C++ ImportParameter::GetAreaWayIndexCellSizeMax怎么用?C++ ImportParameter::GetAreaWayIndexCellSizeMax使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ImportParameter
的用法示例。
在下文中一共展示了ImportParameter::GetAreaWayIndexCellSizeMax方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FitsIndexCriteria
bool AreaWayIndexGenerator::FitsIndexCriteria(const ImportParameter& parameter,
Progress& progress,
const TypeInfo& typeInfo,
const TypeData& typeData,
const CoordCountMap& cellFillCount)
{
if (typeData.indexCells==0) {
return true;
}
size_t entryCount=0;
size_t max=0;
for (CoordCountMap::const_iterator cell=cellFillCount.begin();
cell!=cellFillCount.end();
++cell) {
entryCount+=cell->second;
max=std::max(max,cell->second);
}
// Average number of entries per tile cell
double average=entryCount*1.0/cellFillCount.size();
// If the fill rate of the index is too low, we use this index level anyway
if (typeData.indexCells/(1.0*typeData.cellXCount*typeData.cellYCount)<=
parameter.GetAreaWayIndexMinFillRate()) {
progress.Warning(typeInfo.GetName()+" ("+NumberToString(typeInfo.GetId())+") is not well distributed");
return true;
}
// If average fill size and max fill size for tile cells
// is within limits, store it now.
if (max<=parameter.GetAreaWayIndexCellSizeMax() &&
average<=parameter.GetAreaWayIndexCellSizeAverage()) {
return true;
}
return false;
}