如何在 OpenCASCADE 中检查 gp_Ax1 是否包含 gp_Pnt

OCCUtils 提供了计算两个方向的正交方向的便捷函数:

occutils_example.cpp
#include <occutils/Axis.hxx>
using namespace OCCUtils;

gp_Ax1 axis = /* ... */;
gp_Png point = /* ... */;
bool pointIsOnAxis = Axis::Contains(axis, point);

如果你不能使用 OCCUtils,这里是手动执行的代码:

manual_check.cpp
gp_Lin(axis).Contains(pnt, Precision::Confusion());

Check out similar posts by category: C/C++, OpenCASCADE