本文整理汇总了C++中Segments::addPoint方法的典型用法代码示例。如果您正苦于以下问题:C++ Segments::addPoint方法的具体用法?C++ Segments::addPoint怎么用?C++ Segments::addPoint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Segments
的用法示例。
在下文中一共展示了Segments::addPoint方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: intersectLocal
Segments CSGNode::intersectLocal(const ray& r) const{
Segments ret;
if (isLeaf){
SegmentPoint pNear, pFar;
isect i;
ray backR(r.at(-10000), r.getDirection());
if(!item->intersect(backR, i))return ret;
pNear.t = i.t - 10000;
pNear.normal = i.N;
pNear.isRight = false;
ray contiR(r.at(pNear.t+RAY_EPSILON*10),r.getDirection());
if (!item->intersect(contiR, i))pFar = pNear;
else {
pFar.t = i.t + pNear.t;
pFar.normal = i.N;
}
pFar.isRight = true;
ret.addPoint(pNear);
ret.addPoint(pFar);
return ret;
}
else {
if (!lchild || !rchild)return ret;
Segments leftSeg, rightSeg;
leftSeg = lchild->intersectLocal(r);
rightSeg = rchild->intersectLocal(r);
leftSeg.Merge(rightSeg,relation);
return leftSeg;
}
}