Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Problems with Delaunay_triangulation_2 when compiling as DLL

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Problems with Delaunay_triangulation_2 when compiling as DLL


Chronological Thread 
  • From: Claus Volko <>
  • To:
  • Subject: Re: [cgal-discuss] Problems with Delaunay_triangulation_2 when compiling as DLL
  • Date: Fri, 13 Oct 2023 08:39:16 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:dhEFC6HP1TtAJ6uGpLqE0ceALOsnbusQ8zAXPiFKOGVom6mj/f xG885rsCMc5AxhOk3I3OrwW5VoIkm8yXcW2/h0AV7KZmCP01dAbrsD0WKI+UyGJ8SRzJ866U 6iScRD4R/LYGSSQfyU3OBwKbgd/OU=
  • Ironport-phdr: A9a23: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 PIz
  • Ironport-sdr: 6528e621_gXeYKCyTEk7Z/C9SLFOjqdwto4NgG22iYmiru6EOhkP6zv2 UwiUmuw/Pcs8TPA29F0bJl1qISsdrsXgKl0hZ2g==

It seems I found the solution to the problem: gmp-10.dll was missing.

Am Fr., 13. Okt. 2023 um 06:40 Uhr schrieb Claus Volko <>:
I'm now trying this variant:

CGAL::Surface_mesh<Point_3> create_tree()
{
    using Mesh = CGAL::Surface_mesh<Point_3>;
    Mesh mesh;
    CGAL::copy_face_graph(polygon_mesh, mesh);
    Tree tree(faces(mesh).first, faces(mesh).second, mesh);
        std::vector<Point_3> points;
        for (auto x = -1000; x < +1000; x++)
            for (auto z = -1000; z < +1000; z++)
            {
                Point_3 point(x, +20, z);
                points.push_back(point);
                Point_3 point1(x, -10, z);
                Line_3 line(point, point1);
                Ray ray(point, line);
                auto intersection = tree.first_intersection(ray);
                if (intersection)
                {
                    const Point_3* p = boost::get<Point_3>(&(intersection->first));
                    if (p) points.push_back(*p);
                }
            }

        CGAL::Surface_mesh<Point_3> output_mesh;

        std::string fname = "c:\\temp\\newmesh.xyz";
        CGAL::IO::write_XYZ(fname, points);

        Point_set points1;
        std::ifstream stream(fname, std::ios_base::binary);
        stream >> points1;

        std::cout << "Reconstructing surface" << std::endl;

        typedef std::array<std::size_t, 3> Facet; // Triple of indices
        std::vector<Facet> facets;
        // The function is called using directly the points raw iterators
        CGAL::advancing_front_surface_reconstruction(points1.points().begin(),
            points1.points().end(),
            std::back_inserter(facets));
        std::cout << facets.size()
            << " facet(s) generated by reconstruction." << std::endl;
        // copy points for random access
        std::vector<Point_3> vertices;
        vertices.reserve(points1.size());
        std::copy(points1.points().begin(), points1.points().end(), std::back_inserter(vertices));
        CGAL::Polygon_mesh_processing::polygon_soup_to_polygon_mesh(vertices, facets, output_mesh);

        std::cout << "Returning output mesh" << std::endl;
    return output_mesh;
}

It seems that these two lines are not working if I compile as DLL:

auto intersection = tree.first_intersection(ray);

CGAL::advancing_front_surface_reconstruction(points1.points().begin(), points1.points().end(), std::back_inserter(facets));

Am Do., 12. Okt. 2023 um 09:14 Uhr schrieb Claus Volko <>:
I also tried this instead of Delaunay_triangulation_2, but it seems to hang (no progress for more than 20 minutes).

Polyhedron create_tree()
{
    using Mesh = CGAL::Surface_mesh<Point_3>;
    Mesh mesh;
    CGAL::copy_face_graph(polygon_mesh, mesh);
    Tree tree(faces(mesh).first, faces(mesh).second, mesh);

    std::vector<Point_3> points;
    for (double x = -1000; x < +1000; x++)
        for (double z = -1000; z < +1000; z++)
        {
            Point_3 point(x, +20, z);
            Point_3 point1(x, -10, z);
            Line_3 line(point, point1);
            Ray ray(point, line);
            auto intersection = tree.first_intersection(ray);
            if (intersection)
            {
                const Point_3* p = boost::get<Point_3>(&(intersection->first));
                if (p) points.push_back(*p);
            }
        }

    CGAL::IO::write_XYZ("c:\\temp\\newmesh.xyz", points);

    std::vector<Pwn> points1;
    CGAL::IO::read_points("c:\\temp\\newmesh.xyz", std::back_inserter(points1),
        CGAL::parameters::point_map(CGAL::First_of_pair_property_map<Pwn>())
        .normal_map(CGAL::Second_of_pair_property_map<Pwn>()));
    double average_spacing = CGAL::compute_average_spacing<CGAL::Sequential_tag>
        (points1, 6, CGAL::parameters::point_map(CGAL::First_of_pair_property_map<Pwn>()));

    std::cout << "Reconstructing poisson surface" << std::endl;

    Polyhedron output_mesh;
    CGAL::poisson_surface_reconstruction_delaunay
    (points1.begin(), points1.end(),
        CGAL::First_of_pair_property_map<Pwn>(),
        CGAL::Second_of_pair_property_map<Pwn>(),
        output_mesh, average_spacing);

    std::cout << "Returning output mesh" << std::endl;

    return output_mesh;
}

Am Do., 12. Okt. 2023 um 06:42 Uhr schrieb Claus Volko <>:
I attached the code I am trying to compile. When compiling it as EXE it works but not as DLL. The problem seems to be related to the code line where I define a TIN (using Delaunay_triangulation_2). When I include the DLL in a C# project and call region_growing_algorithm from there, I get the error message "Module not found". This does not happen when I outcomment USE_TREE. What's wrong with TIN?

--
Dipl.-Ing. Dr. Claus D. Volko, BSc
http://www.cdvolko.net/





--
Dipl.-Ing. Dr. Claus D. Volko, BSc
http://www.cdvolko.net/





--
Dipl.-Ing. Dr. Claus D. Volko, BSc
http://www.cdvolko.net/





--
Dipl.-Ing. Dr. Claus D. Volko, BSc
http://www.cdvolko.net/






Archive powered by MHonArc 2.6.19+.

Top of Page