Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Polygon_mesh_processing::corefine_and_compute_difference

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Polygon_mesh_processing::corefine_and_compute_difference


Chronological Thread 
  • From: Sean Hardesty <>
  • To:
  • Subject: Re: [cgal-discuss] Polygon_mesh_processing::corefine_and_compute_difference
  • Date: Wed, 13 Dec 2017 08:33:21 -0600
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:B/+F4hxlDhB4pKvXCy+O+j09IxM/srCxBDY+r6Qd2+oSIJqq85mqBkHD//Il1AaPAd2Craocw8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze+/94HObwlSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDwULs6Wymt771zRRDqhicJNzA3/mLKhMJukK1WuwiuqwBlzoPOfI2ZKPhzc6XAdt0aX2pBWcNRWjRcDIyidYQPCfcKM+RCoInnulQBswC+BRWsBejyzTJInWH50rc80+g7EQHJxhYgEM8Qv3TPsNX0NLwfUe+wzKbSzDXDa+la1iv66IjNax0sp+yHU7x3ccrU00YvFgXFg02RqYzjJTOV1/4Cv3KV7+p6U++klm0pqxlprzWtycogkJTFipwVx1ze9ih13pw5KNK5RUN9fNWqCoFftzuAOItzWs4iQ39nuCI9yrAevJ60ZikKyJA+yx/RbvyLb5GE4hzsWeuQOzt4i3VleLWwhxa270es0PHzVs6x0FpSrypFlMfDtmwV2hHR5cWLUOZx8lmh1DqV1A3f9PtILE81mKbDLp4u2L8wlp4dsUTZGS/2nV37jLSIeUo+/Oik8eTnba/8ppCBKYB0kR3+M6Q1l8ywBOQ3KAkOX2yB9eug073j+FX1QK9Wgf0ujqnZrJfaKNwHqa62GQBV1p8v5Au+Dze9zNsYgGIHLEledRKcj4npPknOL+riAfe+hVSsijZryOrcMr3vGJWeZkXFi6rrKLZh91ZHmk101sFa/5sSC7cbIfu1VFW2r83dFhZ+Mgq6xKHsB9x5k48fQmmSGbTKDKSHulCB4qcjIvKHeZQOkDf7MfksofD03lEjnlpIRqSg29M3YWq0E+96Mg3NenflhJEBGH0GsxEiXcTljVSDVXhYYHPkDPF03S0yFI/zVdSLfYuqmrHUhCo=

I was able to compile the polyhedron demo and duplicate the results you described. However, I don't understand how I would test for this in my own program. I generated the .off files I sent from CGAL::Surface_mesh - how do I check whether such an object is a polygon soup (as is done in the demo)?

All of the following look okay:

mesh.is_valid() = 1
CGAL::Polygon_mesh_processing::does_bound_a_volume(mesh) = 1
CGAL::Polygon_mesh_processing::does_self_intersect(mesh) = 0
CGAL::Polygon_mesh_processing::is_outward_oriented(mesh) = 1
CGAL::is_closed(mesh) = 1

I wanted to try something from the polygon soup example, like this

CGAL::Polygon_mesh_processing::is_polygon_soup_a_polygon_mesh

but I haven't been able to figure out how to call that on a CGAL::Surface_mesh object.

    Thanks,
    Sean Hardesty

On Wed, Dec 6, 2017 at 2:24 AM, Sebastien Loriot (GeometryFactory) <> wrote:
When I open you files in the CGAL polyhedron demo, it is telling me that
your meshes are polygon soups (meaning you have non-manifold edges).
If I duplicate those edges to make it a self-intersecting surface
I have the following set of intersecting faces.

Sebastien.

On 12/05/2017 05:22 PM, Sean Hardesty wrote:
I have a collection of meshes that overlap slightly, so I am going through a loop removing overlapping pieces. It works for a while, but eventually I run into trouble. I am calling PMP::corefine_and_compute_difference(CGAL 4.11) on a pair of meshes that satisfy

!CGAL::Polygon_mesh_processing::does_self_intersect
CGAL::Polygon_mesh_processing::does_bound_a_volume

and I get the following:

terminate called after throwing an instance of 'CGAL::Assertion_exception'
   what(): CGAL ERROR: assertion violation!
Expr: hedge!=start
File: /usr/local/include/CGAL/Polygon_mesh_processing/internal/Corefinement/Visitor.h
Line: 663
Aborted (core dumped)

They are fairly small, so I wrote them to .off format and attached them to this message. I am aware from your documentation pages that there can be problems with sequential boolean operations, so I am using the kernel with exact predicates and exact constructions. Maybe the precision in the .off format is inadequate to diagnose the problem. I would be grateful for any help that can be provided.

     Sincerely,
     Sean Hardesty

--
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.18.

Top of Page