本文整理汇总了C++中cclib::ReferenceCloud::placeIteratorAtBegining方法的典型用法代码示例。如果您正苦于以下问题:C++ ReferenceCloud::placeIteratorAtBegining方法的具体用法?C++ ReferenceCloud::placeIteratorAtBegining怎么用?C++ ReferenceCloud::placeIteratorAtBegining使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cclib::ReferenceCloud
的用法示例。
在下文中一共展示了ReferenceCloud::placeIteratorAtBegining方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateResolvedTable
int ccFastMarchingForNormsDirection::updateResolvedTable(ccGenericPointCloud* theCloud,
GenericChunkedArray<1,uchar> &resolved,
NormsIndexesTableType* theNorms)
{
if (!initialized)
return -1;
int count=0;
for (unsigned i=0;i<activeCells.size();++i)
{
DirectionCell* aCell = (DirectionCell*)theGrid[activeCells[i]];
CCLib::ReferenceCloud* Yk = theOctree->getPointsInCell(aCell->cellCode,gridLevel,true);
if (!Yk)
continue;
Yk->placeIteratorAtBegining();
for (unsigned k=0;k<Yk->size();++k)
{
unsigned index = Yk->getCurrentPointGlobalIndex();
resolved.setValue(index,1); //resolvedValue=1
const normsType& norm = theNorms->getValue(index);
if (CCVector3::vdot(ccNormalVectors::GetNormal(norm),aCell->N)<0.0)
{
PointCoordinateType newN[3];
const PointCoordinateType* N = ccNormalVectors::GetNormal(norm);
newN[0]=-N[0];
newN[1]=-N[1];
newN[2]=-N[2];
theNorms->setValue(index,ccNormalVectors::GetNormIndex(newN));
}
//norm = NormalVectors::getNormIndex(aCell->N);
//theNorms->setValue(index,&norm);
theCloud->setPointScalarValue(index,aCell->T);
//theCloud->setPointScalarValue(index,aCell->v);
Yk->forwardIterator();
++count;
}
}
return count;
}