如何增加我的Cgal三角形公差?

时间:2019-01-21 19:11:04

标签: cgal

我正在使用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));

我仍然不知道如何在这些点上增加间隔(我的宽容)。如果有一些关于此的示例,那将是很好的。

1 个答案:

答案 0 :(得分:2)

CGAL中没有这样的容忍度。您可以做的是使用具有间隔(say CGAL::Simple_cartesian<CGAL::Interval_nt<> >)的内核,并使三角形的点的坐标为间隔而不是单个值。然后,所有带有返回Uncertain对象的谓词,您都可以使用自由函数(例如is_certain())进行查询。 that page上还有一些伪代码。