Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] Determine whether or not a Point is inside a 2D triangulation
Chronological Thread
- From: Bob Bill <>
- To: "" <>
- Subject: Re: [cgal-discuss] Determine whether or not a Point is inside a 2D triangulation
- Date: Fri, 17 Feb 2023 10:14:20 +0000 (UTC)
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23: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 PovgJ6tnmCr
- Ironport-hdrordr: A9a23:5VVnD65yEg2LJ17WoAPXwAHXdLJyesId70hD6mlaTxtJfsuE0+ Wjm/oH1HbP+U4ssRAb6La90cy7Kk80mqQa3WB8B9aftUzdyQmVxeJZnOzfKl/bak7DH4dmvM 8OT0E9MqyUMbEQt7ef3ODXKbYdKaG8gdmVrNab9VFLbSsvRoNBy0NCKii9e3cdeCB2QaA+E5 qXou5pzgDNRZxCBv7XOkU4
- Ironport-phdr: A9a23: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
- Ironport-sdr: 63ef5390_gr556nezHueH9yRKSOfXXE8YbJ1NOAYdP5UAcNfDnuk3c0v oF+v9T3IAOd9BVc/DaX45O/R3+8g1VNOcl7Ec4g==
Thanks a lot Andreas for your quick reply! Even if I add:
cdt.insert_constraint(va,vb);
for all the couples as done in this example (https://doc.cgal.org/latest/Mesh_2/Mesh_2_2conforming_8cpp-example.html#a3) I still get as result 0. I don't see what I'm doing wrong.
Best,
Bob
Il venerdì 17 febbraio 2023, 11:07:07 CET, Andreas Fabri <> ha scritto:
You only insert points.
For a domain you have to insert polygons or segments that spit up
the plane.
On 2/17/2023 10:59 AM, Bob Bill
( via cgal-discuss Mailing List) wrote:
Hi,
I need to determine if a Point is inside or outside a 2D
mesh (in particular a constrained Delaunay triangulation).
I’ve found the answer to this question
(https://stackoverflow.com/questions/22448060/how-to-determine-a-point-is-inside-2d-mesh-or-not-cgal)
on SO, but I can’t understand why this query is always
negative in my particular application. Please see the
following MWE, where the origin is not recognised as an
internal point.
I don't see what is the
problem, any hint is highly appreciated.
Best,
Bob
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Delaunay_mesh_face_base_2.h>
#include <CGAL/Delaunay_mesh_size_criteria_2.h>
#include <CGAL/Delaunay_mesher_2.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Triangulation_conformer_2.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 CDT::Point Point_2;
typedef CDT::Vertex_handle Vertex_handle;
int main() {
CDT cdt;
// construct a constrained triangulation
Vertex_handle va = cdt.insert(Point_2(5., 5.));
Vertex_handle vb = cdt.insert(Point_2(-5., 5.));
Vertex_handle vc = cdt.insert(Point_2(4., 3.));
Vertex_handle vd = cdt.insert(Point_2(5., -5.));
Vertex_handle ve = cdt.insert(Point_2(6., 6.));
Vertex_handle vf = cdt.insert(Point_2(-6., 6.));
Vertex_handle vg = cdt.insert(Point_2(-6., -6.));
Vertex_handle vh = cdt.insert(Point_2(6., -6.));
std::cout << "Number of vertices before: " << cdt.number_of_vertices()
<< std::endl;
typename CDT::Face_handle fh = cdt.locate(Point_2{0., 0.});
std::cout << fh->is_in_domain() << std::endl;
}
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
-- Andreas Fabri, PhD Chief Officer, GeometryFactory Editor, The CGAL Project
--
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] Determine whether or not a Point is inside a 2D triangulation, Bob Bill, 02/17/2023
- Re: [cgal-discuss] Determine whether or not a Point is inside a 2D triangulation, Andreas Fabri, 02/17/2023
- Re: [cgal-discuss] Determine whether or not a Point is inside a 2D triangulation, Bob Bill, 02/17/2023
- Re: [cgal-discuss] Determine whether or not a Point is inside a 2D triangulation, Andreas Fabri, 02/17/2023
- Re: [cgal-discuss] Determine whether or not a Point is inside a 2D triangulation, Andreas Fabri, 02/17/2023
- Re: [cgal-discuss] Determine whether or not a Point is inside a 2D triangulation, Andreas Fabri, 02/17/2023
- Re: [cgal-discuss] Determine whether or not a Point is inside a 2D triangulation, Bob Bill, 02/17/2023
- Re: [cgal-discuss] Determine whether or not a Point is inside a 2D triangulation, Andreas Fabri, 02/17/2023
Archive powered by MHonArc 2.6.19+.