Inserting constraints in Constrained_triangulation_plus


Re: Inserting constraints in Constrained_triangulation_plus

Please provide a small selfcontained example showing the pb.
I just gave a try with inserting already inserted constraints and it worked without issues with the Exact_predicates_tag tag. Are you sure you are always using this tag? Sebastien. On 11/07/2018 10:39 AM, marin wrote: > Hello, > > I have two questions about inserting constraints in > Constrained_triangulation_plus_2 triangulation. > > I'm using triangulation defined like this > typedef CGAL::Exact_predicates_inexact_constructions_kernel K; > typedef CGAL::Projection_traits_xy_3<K> Gt; > typedef CGAL::Triangulation_vertex_base_with_info_2<FaceInfo2, Gt> Vbb; > typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vbb> Vb; > typedef CGAL::Constrained_triangulation_face_base_2<Gt> Fb_base; > typedef CGAL::Triangulation_face_base_with_info_2<FaceInfo2, Gt, Fb_base> > Fb; > typedef CGAL::Triangulation_data_structure_2<Vb, Fb> TDS; > typedef CGAL::Exact_predicates_tag Itag; > typedef CGAL::Constrained_Delaunay_triangulation_2<Gt, TDS, Itag> > Delaunay_base; > typedef CGAL::Triangulation_hierarchy_2<Delaunay_base> Triangulation; > typedef CGAL::Constrained_triangulation_plus_2<Triangulation> Delaunay; > > 1. insert_constraint sometimes throws an exception > I am using function Constraint_id CGAL::Constrained_triangulation_plus_2< > Tr >::insert_constraint( PointIterator first, PointIterator last, bool close > = false ) > >  it throws exception every time if I try to insert the same polyline > twice. >  sometimes it throws exception inserting not already inserted constraints. > > Since Constrained_triangulation_plus_2 should support any polylines layout > as constraints including those intersecting each other, please I'm wondering > what are preconditions for the Insert_constraint function in order to work > without exception? > > 2. In reference manual I've found the function Insert_constraints (plural) > that allows inserting many polyline constraints at once using optimized > algorithm with spatial indexes but I haven't found any examples how to use > it. Please if there are some examples available I would be very grateful. > insert_constraints ( ConstraintIterator first, ConstraintIterator last ) > > Thank you very much for answers. > > Best regards, > Marin > > > >  > Sent from: http://cgaldiscuss.949826.n4.nabble.com/ >  You are currently subscribed to cgaldiscuss. To unsubscribe or access the archives, go to https://sympa.inria.fr/sympa/info/cgaldiscuss 
This post was updated on .
Thank you for quick replay Sebastien.
Strange. I can reproduce it every time. Have you used exactly the same templates as I am? Also triangulation points and constraints are 3D points. Could it be the issue if I'm inserting constraint aligned with vertices and edges? Yes I'm using Exact_predicates_tag itag. I will make example but I thought that maybe my problem is trivial so wanted to check first. I will need a little time to create example. maybe you could get a clue from where the cgal exception occurs. First is exact place and next image is few steps before in a call stack. Thank you, Marin  Sent from: http://cgaldiscuss.949826.n4.nabble.com/  You are currently subscribed to cgaldiscuss. To unsubscribe or access the archives, go to https://sympa.inria.fr/sympa/info/cgaldiscuss 
On 11/07/2018 01:03 PM, marin wrote:
> > Thank you for quick replay Sebastien. > > Strange. I can reproduce it every time. Have you used exactly the same > templates as I am? Also triangulation points and constraints are 3D points. I used the same types but for the traits but it shouldn't be an issue. Sebastien. > Could it be the issue if I'm inserting constraint aligned with vertices and > edges? > > Yes I'm using Exact_predicates_tag itag. > > I will make example but I thought that maybe my problem is trivial so wanted > to check first. I will need a little time to create example. > > Thank you, > Marin > > > >  > Sent from: http://cgaldiscuss.949826.n4.nabble.com/ >  You are currently subscribed to cgaldiscuss. To unsubscribe or access the archives, go to https://sympa.inria.fr/sympa/info/cgaldiscuss 
This post was updated on .
Hello,
I've made sample that shows exception I get. Here is full Visual studio solution along with example.xyz points file. cgal_constraints.7z <http://cgaldiscuss.949826.n4.nabble.com/file/t376044/cgal_constraints.7z> This is main function: Delaunay dt; //load points std::ifstream in("example.xyz"); std::istream_iterator<Point_3> begin(in), end; dt.insert(begin, end); //poly constraint std::vector<Point_3> vec_constraint; vec_constraint.push_back(Point_3(5473710.1302, 5016278.5325, 765.)); vec_constraint.push_back(Point_3(5473690.8656, 5016268.1857, 765.)); vec_constraint.push_back(Point_3(5473678.2141, 5016247.2048, 765.)); vec_constraint.push_back(Point_3(5473647.1607, 5016221.9126, 765.)); vec_constraint.push_back(Point_3(5473638.2472, 5016199.2072, 765.)); Constraint_id cid = dt.insert_constraint(vec_constraint.begin(), vec_constraint.end()); //I'm getting exception on this command cid = dt.insert_constraint(vec_constraint.begin(), vec_constraint.end()); When calling dt.insert_constraint second time I'm getting exception in CGAL. Thank you very much! Marin  Sent from: http://cgaldiscuss.949826.n4.nabble.com/  You are currently subscribed to cgaldiscuss. To unsubscribe or access the archives, go to https://sympa.inria.fr/sympa/info/cgaldiscuss 
Hi,
I can reproduce the issue. I opened a ticket here: https://github.com/CGAL/cgal/issues/3447 It has to do with the insertion of polylines in a CDT+. We will update the issue when the bug is fixed. Thanks for the report, Sebastien. On 11/08/2018 02:21 PM, marin wrote: > Hello, > > I've made sample that shows exception I get. > > Here is full Visual studio solution along with example.xyz points file. > cgal_constraints.7z > <http://cgaldiscuss.949826.n4.nabble.com/file/t376044/cgal_constraints.7z> > > This is main function: > > > When calling dt.insert_constraint second time I'm getting exception in CGAL. > > Thank you very much! > Marin > > > > >  > Sent from: http://cgaldiscuss.949826.n4.nabble.com/ >  You are currently subscribed to cgaldiscuss. To unsubscribe or access the archives, go to https://sympa.inria.fr/sympa/info/cgaldiscuss 
Hi,
You're welcome. Many thanks. I will follow the ticket. Regards, Marin  Sent from: http://cgaldiscuss.949826.n4.nabble.com/  You are currently subscribed to cgaldiscuss. To unsubscribe or access the archives, go to https://sympa.inria.fr/sympa/info/cgaldiscuss 
Free forum by Nabble  Edit this page 