本文整理汇总了C++中HalfEdge::getStop方法的典型用法代码示例。如果您正苦于以下问题:C++ HalfEdge::getStop方法的具体用法?C++ HalfEdge::getStop怎么用?C++ HalfEdge::getStop使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HalfEdge
的用法示例。
在下文中一共展示了HalfEdge::getStop方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: linePLaneIntersection
QVector3D Slice::linePLaneIntersection(HalfEdge edge, QVector3D planeOrigin, QVector3D planeNormal){
QVector3D u=edge.getStart()->toVector3D()-edge.getStop()->toVector3D();
QVector3D w=edge.getStop()->toVector3D()-planeOrigin;
QVector3D normal=planeNormal;
float d=QVector3D::dotProduct(normal,u);
float n=-QVector3D::dotProduct(normal,w);
//line is parallel to plane
if(fabs(d)<0.00000001){
if(n==0){
qDebug() << "line is on plane";
return QVector3D(edge.getStart()->toVector3D());
}
else{
qDebug() << "no intersection";
return QVector3D();
}
}
//line croses plane
float sI = n/d;
if(sI<0 || sI>1){
qDebug() << "no intersection";
return QVector3D();
}
return edge.getStop()->toVector3D() + u*sI;
}