本文整理汇总了C++中Manifold::nextPiece方法的典型用法代码示例。如果您正苦于以下问题:C++ Manifold::nextPiece方法的具体用法?C++ Manifold::nextPiece怎么用?C++ Manifold::nextPiece使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Manifold
的用法示例。
在下文中一共展示了Manifold::nextPiece方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
Manifold::GeodesicPtr Compound::PointOfReference::getFinalGeodesic(Vector3d vector) {
/*Manifold* space = pointOfReference->getPosition()->getSpace();
return space->getGeodesic(pointOfReference, vector);*/
//std::cout << "getFinalGeodesic(vector)" << std::endl;
assert(vector == vector);
//This will need to be made more sophisticated when Compound is made to support more than one space.
Manifold* space = pointOfReference->getPosition()->getSpace();
Manifold::GeodesicPtr next = space->getGeodesic(pointOfReference, vector);
//Manifold::GeodesicPtr original = next;
//Vector3d firstVector = next->getEndPoint()->getVector();
Manifold::GeodesicPtr current;
do {
current = next;
space = current->getSpace();
next = space->nextPiece(current);
/*if(next) {
std::cout << "next" << std::endl;
}*/
} while(next);
//assert((current->getEndPoint()->getVector() - firstVector).squaredNorm() < EPSILON*EPSILON); //For portals leading to themselves.
//std::cout << "current->getEndPoint()->getVector():\n" << current->getEndPoint()->getVector() << std::endl;
//std::cout << "firstVector:\n" << firstVector << std::endl;
//return original;
assert(current->getEndPoint()->isInManifold());
return current;
}