如何为我的 cgal 三角形添加公差?

How to add tolerance to my cgal triangle?

我正在使用 cgal 的相交方法来查找线与线之间的交点 和一个三角形。

double tolerance = 1e-6; 
auto result = intersection(segment1, triangle1); 

现在我想在三角形中添加公差(类似于扩大 给定公差量的三角形)。

那么,如何为我的三角形 1 添加公差?

ps : 我看到 Bbox_3.h 有拨号功能。

更新:

之前我有

typedef CGAL::Simple_cartesian<double> IK;

IK::Triangle_3 first_triangle(IK::Point_3(0, 0, 0), IK::Point_3(2, 0, 0),
                                IK::Point_3(1, 1, 0));

现在我做到了:

typedef CGAL::Simple_cartesian<CGAL::Interval_nt<false>> IK;

IK::Triangle_3 first_triangle(IK::Point_3(0, 0, 0), IK::Point_3(2, 0, 0),
                                    IK::Point_3(1, 1, 0));

我仍然不知道如何为这些点添加间隔(我的容忍度)。如果有一些关于这方面的例子就太好了。

CGAL 中没有这种容忍度。您可以做的是使用具有间隔 (say CGAL::Simple_cartesian<CGAL::Interval_nt<> >) 的内核,并使三角形点的坐标为间隔而不是单个值。那么所有的谓词都是return Uncertain objects that you can query using free functions (like is_certain()). There is also some pseudo code on that page.