Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] read_ply manifold restriction

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] read_ply manifold restriction


Chronological Thread 
  • From: Sebastien Loriot <>
  • To:
  • Subject: Re: [cgal-discuss] read_ply manifold restriction
  • Date: Thu, 11 Jan 2024 15:40:45 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:Nl+uxa/ZjBDoy66EOppuk+DBI+orL9Y04lQ7vn2ZLiYlEfBw9v rPoB1173TJYVoqMk3I+urgBEDjexzhHPdOiOEs1NGZMTUO01HHEGgN1+ff/wE=
  • Ironport-phdr: A9a23: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 kNgOXHPQLcD19OIkEhkjQbdvd1EHvsOFcV5
  • Ironport-sdr: 659ffdf0_yBmmSLmQN5IZCXsPLGUazSaFWJ7NMBVIDbyTN7luylRdCY7 IFfBNPbI5xM/n4iic0yLKjCluCqCt/fgyk1BBdg==

Because the mesh data structure is only able to represent manifold meshes.

If you want, you can use the function PMP::IO::read_polygon_mesh
that will duplicate non-manifold edges/vertices so that the mesh
is manifold (but geometrically self-intersecting):

https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__IO__grp.html#gac5b3295bd1b6375628a46d1fbaf7e881

Or you'll have to use a polygon soup and the function read_polygon_soup:
https://doc.cgal.org/latest/Stream_support/group__IOstreamFunctions.html#gaafb0e02f4669802c727709743065804c


Best,

Sebastien.

On 1/11/24 12:37, Sebastien Tourneux wrote:
Hello,

I was wondering why is there a condition about the manifoldness of the mesh when reading a PLY file using `CGAL::IO::read_PLY`?

From the documentation : "Precondition The data in the stream must represent a two-manifold. If this is not the case the |failbit| of |is| is set and the mesh cleared."

If I skip the checks (such as `fi == Surface_mesh::null_face()`) in the reader code, the model load just fine, but I don't see a parameter to bypass this restriction without patching the code.

Example PLY file : https://people.sc.fsu.edu/~jburkardt/data/ply/airplane.ply

Thank you

--
Sebastien Tourneux


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




Archive powered by MHonArc 2.6.19+.

Top of Page