Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Slicing/splitting/cutting polyhedral meshes

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Slicing/splitting/cutting polyhedral meshes


Chronological Thread 
  • From: Vinicius Azevedo <>
  • To: cgal-discuss <>
  • Subject: Re: [cgal-discuss] Slicing/splitting/cutting polyhedral meshes
  • Date: Wed, 29 Apr 2015 10:56:58 -0400

I was confused by the cut/slice examples on the Polyhedron demo. I thought you was mentioning that, my bad. That's what I was looking for, thanks! I have some questions though on how to use this function:
  • What should I pass to the function as starting halfedge? Is it an edge returned by any_intersection? 
  • Does this function add vertices from the polyline that is generated from the intersection of the polyhedron with the plane? That's not what I'm getting on my results (https://dl.dropboxusercontent.com/u/5919734/bunnyCut1.png && https://dl.dropboxusercontent.com/u/5919734/bunnyCut2.png). It only cuts the mesh by following pre-existent vertices. Also I'm having the error "coplanar planes used for computing the intersection plane, Return ORIGIN, Don't trust the result". 
Thanks for your help so far!

Vinicius C. Azevedo.

On Tue, Apr 28, 2015 at 10:24 AM, Sebastien Loriot (GeometryFactory) <> wrote:
On 04/28/2015 02:15 PM, Vinicius Azevedo wrote:
Hi Sebastian,

Thanks for your answer. I didn't expressed myself so well. What I want
is to actually cut the mesh into two different independent parts with a
given cut plane. In this video
https://www.youtube.com/watch?v=IOnk7PBv1AU and paper
http://www.math.ucla.edu/~jteran/papers/WJST14.pdf, they present some
techniques to do that robustly. I saw the examples that you mentioned,
and it seems that they only compute the intersections of planes and
Polyhedrons, but don't actually split it into different parts.


I believe this is what polyhedron_cut_plane_3.h is doing. The comment
for this function is:
// Cuts the polyhedron `poly' at plane `plane' starting at halfedge `h'.
// Traces the intersection curve of `plane' with `poly' starting at `h',
// cuts `poly' along that intersection curve and deletes the (connected)
// component on the negative side of the plane. The hole created along
// the intersection curve is filled with a new face containing the plane
// and the points in the vertices are computed.

Sebastien.


Vinicius C. Azevedo.

On Tue, Apr 28, 2015 at 1:48 AM, Sebastien Loriot (GeometryFactory)
< <mailto:>> wrote:

    On 04/27/2015 04:31 PM, Vinicius Azevedo wrote:

        Hi all,

        I would like to know if anyone has a code snippet for
        slicing/splitting/cutting polyhedral meshes in two different
        parts with
        arbitrary planes. I've seen some old threads about it
        (http://cgal-discuss.949826.n4.nabble.com/Slices-in-a-mesh-td951695.html),
        but didn't find any code examples so far.

        Thanks!
        Vinicius C. Azevedo.



    The thread you mention is to compute the intersection of a polyhedron
    with a plane which is one or several polygons. There is a non documented
    functor that is doing this in CGAL/Polyhedron_slicer_3.h
    A better and documented version will be included in CGAL 4.8

    In your case, it seems you want the intersection of a polyhedron with
    a halfspace.
    There is another documented function 'CGAL::polyhedron_cut_plane_3'
    I never used that is defined in CGAL/polyhedron_cut_plane_3.h
    that should be doing what you want.

    Sebastien.

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





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