Subject: CGAL users discussion list
List archive
- From: Sebastien Loriot <>
- To:
- Subject: Re: [cgal-discuss] Is the following CDT buggy?
- Date: Mon, 14 Mar 2022 08:40:16 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:UYxpnK85r1vh2ujqEwcHDrUDtHiTJUtcMsCJ2f8bNWPcYEJGY0x3x zFKUGCEM/zYZGD0e40na4iyoUoBu5LTz9VnSwY/qitEQiMRo6IpJ/zJdxaqZ3v6wu7rFR88s Z1GMrEsCOhuExcwcz/0auCJQUFUjP3OHvylYAL9EngZqTVMEU/Nsjo+3b9h6mJUqYLhWVnV4 oqu+5S31GKNglaYDEpEs8pvlzs05JweiBtA1rDpTa0jUPf2zhH5PbpHTU2DByOQrrp8QoZWc 93+IISRpQs1yfuC5uSNyd4XemVSKlLb0JPnZnB+A8BOiTAazsA+PzpS2Pc0MS9qZzu1c99Z8 dR9sYaydTwTGYbTxu8QXBlKAXFYMvgTkFPHCSDXXc27ykTHdz7z2awrAh1se4If/elzDCdF8 vlwxDIlNEjSwbLrhujhE68w3KzPL+GzVG8bkmpkyivYCupgRJTrTKDD5Nse1zA17ixLNaaCP JdJMmIHgBLoZzMeOwkGJLYEssyYvVDcbxZ1tQ+Tuv9ii4TU5FUpjOKF3MDuUteFTMEQkkeDr X/d5EziExQCPZqezyCE+zSinIfycTjTXYsTEPin7KcvjgHJgGMUDxISWB2wpvzRZlOCt8x3E k0k/jAskZMI02e0ENLwUB2qsi6isUtJMzZPKNES5AaIw6vSxg+WAGkYUzJMAODKUudmG1TGM XfZz7vU6SxTXK69Ei3Cq+/Fxd+mEW1Ecj9YPH5soR4tuoG7+OkOYgTzosGP+ZNZY/XwEDD0h i+Q9W0w2+9VgskM2KG2u1vAhlpAR6QlrCZlt207vUr/tmuVgbJJgaT2szA3Ct4ecO6koqGp5 iRspiRnxLlm4WuxvCKMWv4RO7qi+uyINjbR6XY2QcV+rmXzoSb7Jt8JiN2bGKuPGpZaEdMOS B+D0T69GLcOVJdXRfMvM9PoU5pCIVbITI25B6G8giVyjmhZLVfbpkmClGaf2GfilEVErE3ME cbzTCpYNl5DUf4P5GPuGY81iOZ3rghjmz67bc2kl3yPjOvGDFbIGOxtGAbfPogRsvjfyC2Lq IY3Cid/408AOAEISnKHr9B7wJFjBSRTOK0aXOQML7/deFU6QD99YxITqJt4E7FYc21uvr+g1 hmAtoVwkTITXFXLdleHbG5NcrTqUcotpH43J31+MlOh2nxlaoGqtf9Ne5wydLgh1epi0f8kF 6lfK5vcWqxCGmbd5jAQTZjht4g9JhmmgAS5OSD6MjUyephXQRPEp43/dQz1+ShSVSe67JNso 7Cp2g7Bb4AEQgBuUJTfZP61ngG+uHEcnKR5WE6Reotff0Dl8Y5LLS3tj69vc5tcd0mbnjbDj lSYGxYVo+XJsrQZytiRiPDWtZqtHst/AlFeQDvW4LOwAi/QoTiuzIpGZ+CXJGyPWW7x/pKiU uVb1fTLNvMKwQRRuI1mHrc3lK8z6oe9p7JeyQg4TnzHY07xUeFlK3iCmNZV7+hDmuUftgyxV UaCvNJdPOzRas/iFVcQIisjb/iCha5IwGiMtaxtLRWo/jJz8ZqGTV5WY0uGhhtbIeYnK4gi2 +og5JMb5lDtkBYsKdra3ClY+37WdS4FWqQj844AWcrl1lBtxVZFbpjRTCTx5cjXOdlLN0ArJ B6ShbbD1+sAnBucKyJrGCifx/dZiLQPpAtOkA0IKWOPl4eXnfQwxhBQrWk6Qwk9Is+rCA6v1 rWH9nGZJJliOx9tjclHGn+2QkRPWEff9Uv2xF8E0mbeSiFEk4ALwHIVYY6wEIIxqgqwvQS3O JmXzW/kVXDhe8SZMu4aRxt+s/K6JTBu3lSqpS1kdvhp27E1ZDPkhumlYm9gR94Lxy8urBWvm NSGN9qcpUE22eD8bkH750SnOWwsdS25
- Ironport-hdrordr: A9a23:W6IMQ6mGbOj8ds2XIgK2VkDhJw3pDfIP3DAbv31ZSRFFG/Fw5P re+sjzsiWE9Ar5OUtQ5OxoXZPrfZqyz+8W3WB8B8bYYOCighrTEGgA1/qG/9SDIVycygc178 4JGMhD4Z/LfCBHZK7BgTVQeOxQp+VvnprY/Ns2g00dKT2CqJsN0+66MGum+4FNKzWuzKBWKK ah
- Ironport-phdr: A9a23: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 hEzgwp6J+8q8WW0i2o=
- Ironport-sdr: T++aH4Gbyl0cehTe+9JxVHQLUKEy6rLje5vPhrl4t+LkyB1HAVjgk/ryVX7x35gWlxo2OeO83b soRFm07s4HhCURSR8IPVzp012ERoZUUq/FFz5a33U8Vt2YX+fmU6Geb336Zvogfmxnu/yMnEAA raZpBKX3JO5JzqwbIkiWXTlwStcsBSq8+IncfLGkGpcqFnl5a8zFHuEGTuxAzUGUFhzFK0MnKH BPGwt6YekcLtCJ/ZgOjF+ZE7wFDyPQP+grbNKeIQsHdm2rxcIYWGdxnKYq4jqXwF75gimYSk2m HDBSTJLo17ja4OVXspZ2cbuq
A triangulation of a point set is a triangulation of the convex hull of the points. If some constrain edges are added, you then have the guarantee that those edges will be present in the triangulation of the
convex hull of your points.
If your constraints define a closed shape then you need a flooding like
algorithm to only pick the triangles that are inside the shape, like in
this example:
https://doc.cgal.org/latest/Triangulation_2/Triangulation_2_2polygon_triangulation_8cpp-example.html
Best,
Sebastien.
On 3/13/22 02:46, Bob Bill ( via cgal-discuss Mailing List) wrote:
I am given the vertices of a polygon, and I need to mesh it. I am following one of the first examples in the CDT package documentation.
The code is the following:
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Delaunay_mesher_2.h>
#include <CGAL/Delaunay_mesh_face_base_2.h>
#include <CGAL/Delaunay_mesh_size_criteria_2.h>
#include <CGAL/IO/write_VTU.h>
#include <iostream>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Triangulation_vertex_base_2<K> Vb;
typedef CGAL::Delaunay_mesh_face_base_2<K> Fb;
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
typedef CGAL::Constrained_Delaunay_triangulation_2<K, Tds> CDT;
typedef CGAL::Delaunay_mesh_size_criteria_2<CDT> Criteria;
typedef CDT::Vertex_handle Vertex_handle;
typedef CDT::Point Point;
int main()
{
CDT cdt;
Vertex_handle va = cdt.insert(Point(-1,-1));
Vertex_handle vb = cdt.insert(Point(-1,-0.25714));
Vertex_handle vc = cdt.insert(Point(-1.5,-1.4));
Vertex_handle vd = cdt.insert(Point(1.3,-1.2));
Vertex_handle ve = cdt.insert(Point(1.3,0.5));
Vertex_handle vf = cdt.insert(Point(1, 0.45714));
Vertex_handle vg = cdt.insert(Point(1, -1));
cdt.insert_constraint(va, vb);
cdt.insert_constraint(vb, vc);
cdt.insert_constraint(vc, vd);
cdt.insert_constraint(vd, ve);
cdt.insert_constraint(ve,vf);
cdt.insert_constraint(vf,vg);
cdt.insert_constraint(vg,va);
std::cout << "Number of vertices: " << cdt.number_of_vertices() << std::endl;
std::cout << "Meshing the triangulation..." << std::endl;
// CGAL::refine_Delaunay_mesh_2(cdt, Criteria(0.125, 0.5));
std::cout << "Number of vertices: " << cdt.number_of_vertices() << std::endl;
std::ofstream output("intersected_mesh.vtu");
CGAL::write_vtu(output, cdt);
//Show the vertices of the triangulation
for(auto it = cdt.finite_faces_begin();it!=cdt.finite_faces_end();++it){
std::cout << cdt.triangle(it) <<'\n';
}
}
If I look at the .vtu file, it seems to have the correct shape (see attached image). However, after I printed the vertices for each triangle, it appears that one element of the triangulation is also the one with vertices
(-1, -0.25714)
(1, -1)
(1, 0.45714)
which should not be there since is not inside that polygon. Isn't this a bug? If not, how can I create a mesh for which this is avoided? I mean, I'd like to have all the triangles inside the domain.
Best regards,
Bob
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
- [cgal-discuss] Is the following CDT buggy?, Bob Bill, 03/13/2022
- Re: [cgal-discuss] Is the following CDT buggy?, Sebastien Loriot, 03/14/2022
- Re: [cgal-discuss] Is the following CDT buggy?, Andreas Fabri, 03/14/2022
- Re: [cgal-discuss] Is the following CDT buggy?, Bob Bill, 03/14/2022
- Re: [cgal-discuss] Is the following CDT buggy?, Andreas Fabri, 03/14/2022
- Re: [cgal-discuss] Is the following CDT buggy?, Andreas Fabri, 03/15/2022
- Re: [cgal-discuss] Is the following CDT buggy?, Andreas Fabri, 03/14/2022
- Re: [cgal-discuss] Is the following CDT buggy?, Bob Bill, 03/14/2022
- Re: [cgal-discuss] Is the following CDT buggy?, Andreas Fabri, 03/14/2022
- Re: [cgal-discuss] Is the following CDT buggy?, Sebastien Loriot, 03/14/2022
Archive powered by MHonArc 2.6.19+.