Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Problems with removing points from a triangulation,Take 3

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Problems with removing points from a triangulation,Take 3


Chronological Thread 
  • From: Nico Kruithof <>
  • To:
  • Subject: Re: [cgal-discuss] Problems with removing points from a triangulation,Take 3
  • Date: Sun, 15 Nov 2009 20:42:17 +0100
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=OH/SKCcB0lSFlylAoP7mAGcg0nGNoWKNckyzAOJOwtkYpf83HRLZxqce37+ZXirQrw pyf8yRMm25zojJ4OAgEvs0mX+OsU+M5QcrqWLA0Do9AVoLhY5t5MuPyi5fHKAXvgSJEX E1U5EtACm9kck+4qV9dRcjfe3t67rDjrduVIc=

Hi Josip,

The assertion says that the vertex is not contained in the Cell. When you remove vertices, cells get removed and added when re-triangulating. Internally, CGAL will reuse the memory of deleted cells for the new cells. This might be the reason you are getting the assertion. 

-- Nico

On Sun, Nov 15, 2009 at 6:26 PM, Josip Dzolonga <> wrote:
Hello everyone,

I am trying to remove some certain points from the Delaunay triangulation. I had some problems even before, and got some advice from here, but the problem still pertains. The problematic code follows

for(Finite_vertices_iterator vit = T.finite_vertices_begin();
            vit != T.finite_vertices_end(); ++vit) {
            if(seen.find(vit->point()) != seen.end()) {
                seen.erase(vit->point());
                T.remove(vit);
           }
}

Where seen is of type std::set<Point> and has been already filled. Later on when I try to use the triangulation, I get the following error

CGAL error: assertion violation!
Expr: v == V[3]
File: /usr/include/CGAL/Triangulation_ds_cell_base_3.h
Line: 98
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct NULL not valid
Aborted

Which comes from the function  int index(const Vertex_handle& v). I can not remove the same vertex twice, since I am iterating over the finite vertices and this is the only place where vertex removal is taking place. Any ideas would be highly appreciated!

Best,
Josip




Archive powered by MHonArc 2.6.16.

Top of Page