Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Regular Triangulation : infinite faces

Subject: CGAL users discussion list

List archive

[cgal-discuss] Regular Triangulation : infinite faces


Chronological Thread 
  • From: David Arken <>
  • To:
  • Subject: [cgal-discuss] Regular Triangulation : infinite faces
  • Date: Sun, 30 Sep 2012 11:16:58 -0400

With the following typedefs:

typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Regular_triangulation_euclidean_traits_3<K> Traits;
typedef Traits::RT rWeight;
typedef Traits::Bare_point rPoint;
typedef Traits::Weighted_point rWeighted_point;
typedef CGAL::Regular_triangulation_3<Traits> Rt;

When I create a regular triangulation by insertion of points
(.insert( point_list.begin(), point_list.end()) and then output the
triangulation using "<<" to a std::ofstream, I see a extra vertex
index in the cells. The points seem to be the input points. So if I
filter all the tetrahedrons with this extra index, I was hoping to get
the finite cells, but that does not seem to work.

.number_of_finite_cells = 130949
.number_of_cells = 140303

I read the output of "<<" and I get 140303 tetrahedrons (as expected).
Now I remove all tetrahedrons where there is this extra vertex and I
only get 140281 tetrahedrons. Why this anomaly? What am I missing?

A shorter version of my question: What is exactly the definition of
infinite cells for a regular triangulation? Given all cells, how can i
tell a cell is inifinite?

Also: How do i enumerate the finite cells:
(the following code gives compilation errors)

for( Finite_cells_iterator cit = rt.finite_cells_begin();
cit != rt.finite_cells_end();
++cit)
{
for (int i=0; i<4; i++)
oFileT << cit->vertex(i) << " ";
// This does not work either: --> oFileT << *cit;
oFileT << std::endl;
}

Thanks,
--Ram


  • [cgal-discuss] Regular Triangulation : infinite faces, David Arken, 09/30/2012

Archive powered by MHonArc 2.6.18.

Top of Page