Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Issue with computing volume of a surface mesh

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Issue with computing volume of a surface mesh


Chronological Thread 
  • From: Bob Bill <>
  • To: "Bob Bill\" ( via cgal-discuss Mailing List)" <>
  • Subject: Re: [cgal-discuss] Issue with computing volume of a surface mesh
  • Date: Sat, 9 Jul 2022 08:26:16 +0000 (UTC)
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23: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 M4vp0Mb8gC69blRog==
  • Ironport-hdrordr: A9a23:jIVVVahAAu2oA9BEsQMjI3XzcXBQXhMji2hC6mlwRA09T+Wzkc eykPMHkTr5jzgNWRgb6Ki90ci7MBXhHPtOirX5Uo3NYOCLggqVxcRZnOnfKl7bakrDH4xmpM RdmsFFYbWeMbE5t7ee3ODSKadF/DDoysCVbJ/lvg5QZDAvUYdGzy08JyS6NglNZCdgbKBSKL OsovBAoDqrPVA5B/7WOpFQN9Kvm+H2
  • Ironport-phdr: A9a23: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 BwNk+uQxWE7J4T73EskYV5/ztyiJg==
  • Ironport-sdr: FvQ5M3u9YlWd5BQS7EPJxRSZ95M+O7cEYWaMrPtlASEq4TRzvv4tfeGyNt3DjUT7JmEf1Pl1Z9 ni14GksOKY6TBwDphkG1hsQEZBmZ7Vbu2hCcG/ZZeXN4+ZU1rx7aETedkWTA4TCA+jUaR0M1li VnsNakk71gwh5VcCp31Qz4hCbLl84qcRQrtu6lA+G3JrSycsHGJvx9783vSF+TbU2HEgqZhQD2 EVIDdNuC/rHUW2bf6570PIis2uJVAfAzT1ZVn1PeeC4tIW5YcNpoUmlmheOqkitQbF7c+V4sHJ dVPKetL/mc3gPva0++2tzZ53

Okay, I discovered what is the problem. 

One of the faces of my original surface_mesh is *not* straight. So, when I construct the triangulation giving only the set of points, this feature is not present in the resulting triangulation. See the attached image: in blue I have the original (triangulated) surface mesh, while white line is coming from the Triangulation3 I created using the vertices of the surface only. So, the question now is:

How can I get a triangulation that is truly representing also the boundary of the surface mesh? I think this should be possible, but I've not been able to find an example about how to do this. This should be possible. Also, my surface_mesh is a triangulated surface mesh, as it's the result of a BooleanOperation.


Best,
Bob

Il venerdì 8 luglio 2022, 13:37:52 CEST, Bob Bill" ( via cgal-discuss Mailing List) <> ha scritto:


Dear all,

I notice that if I compute the volume bounded by a Surface_mesh with CGAL::Polygon_mesh_processing::volume(surface_mesh)



I have a result that is different w.r.t what I get if I first mesh the inside and then sum the volume of each tetrahedron, i.e. 


using K = CGAL::Exact_predicates_inexact_constructions_kernel;
using Triangulation_3 = CGAL::Triangulation_3<K>;

double sum =0.;
Triangulation_3 tria;
tria.insert(sm.points().begin(), sm.points().end());
for (const auto &c : tr_q.finite_cell_handles())
{
const auto &tet = tr_q.tetrahedron(c);
sum += std::abs(tet.volume());
}



What is the reason for that? I spent a whole day but I really cannot figure it out. 

Best, BoB

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss

Attachment: Screenshot 2022-07-09 at 10.24.25.png
Description: PNG image




Archive powered by MHonArc 2.6.19+.

Top of Page