mirror of https://github.com/CGAL/cgal
optimizations about vtuning
This commit is contained in:
parent
44b6c51828
commit
379bb331cf
|
|
@ -161,7 +161,7 @@ protected:
|
|||
const T_3* tr;
|
||||
Compare_vertex_handle(const T_3* tr) : tr(tr) {}
|
||||
bool operator()(const Vertex_handle va, const Vertex_handle vb) const {
|
||||
return tr->compare_xyz(tr->point(va), tr->point(vb)) == SMALLER;
|
||||
return va < vb;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1530,12 +1530,18 @@ private:
|
|||
auto tetrahedron =
|
||||
typename Geom_traits::Tetrahedron_3{tr.point(n_ch->vertex(0)), tr.point(n_ch->vertex(1)),
|
||||
tr.point(n_ch->vertex(2)), tr.point(n_ch->vertex(3))};
|
||||
auto tet_bbox = tetrahedron.bbox();
|
||||
if(std::any_of(fh_region.begin(), fh_region.end(), [&](auto fh) {
|
||||
const auto v0 = fh->vertex(0)->info().vertex_handle_3d;
|
||||
const auto v1 = fh->vertex(1)->info().vertex_handle_3d;
|
||||
const auto v2 = fh->vertex(2)->info().vertex_handle_3d;
|
||||
const auto triangle = typename Geom_traits::Triangle_3{tr.point(v0), tr.point(v1), tr.point(v2)};
|
||||
const auto tri_bbox = triangle.bbox();
|
||||
if(CGAL::do_overlap(tet_bbox, tri_bbox)) {
|
||||
return does_tetrahedron_intersect_triangle_interior(tetrahedron, triangle, tr.geom_traits());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}))
|
||||
{
|
||||
intersecting_cells.insert(n_ch);
|
||||
|
|
|
|||
Loading…
Reference in New Issue