本文整理汇总了C++中PointBuffer::getSchemaLayout方法的典型用法代码示例。如果您正苦于以下问题:C++ PointBuffer::getSchemaLayout方法的具体用法?C++ PointBuffer::getSchemaLayout怎么用?C++ PointBuffer::getSchemaLayout使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PointBuffer
的用法示例。
在下文中一共展示了PointBuffer::getSchemaLayout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: srcData
boost::uint32_t DecimationFilterSequentialIterator::readBufferImpl(PointBuffer& dstData)
{
// The client has asked us for dstData.getCapacity() points.
// We will read from our previous stage until we get that amount (or
// until the previous stage runs out of points).
boost::uint32_t numPointsNeeded = dstData.getCapacity();
assert(dstData.getNumPoints() == 0);
// set up buffer to be filled by prev stage
PointBuffer srcData(dstData.getSchemaLayout(), numPointsNeeded);
while (numPointsNeeded > 0)
{
// read from prev stage
const boost::uint64_t srcStartIndex = getPrevIterator().getIndex();
const boost::uint32_t numSrcPointsRead = getPrevIterator().read(srcData);
assert(numSrcPointsRead <= srcData.getNumPoints());
//assert(numSrcPointsRead <= numPointsNeeded);
// we got no data, and there is no more to get -- exit the loop
if (numSrcPointsRead == 0) break;
// copy points from src (prev stage) into dst (our stage),
// based on the CropFilter's rules (i.e. its bounds)
const boost::uint32_t numPointsAdded = m_filter.processBuffer(dstData, srcData, srcStartIndex);
numPointsNeeded -= numPointsAdded;
//printf(".");fflush(stdout);
}
const boost::uint32_t numPointsAchieved = dstData.getNumPoints();
return numPointsAchieved;
}