Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Have trouble usingNamedParameters"face_index_map" in "corefine_and_compute_intersection"

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Have trouble usingNamedParameters"face_index_map" in "corefine_and_compute_intersection"


Chronological Thread 
  • From: Sebastien Loriot <>
  • To:
  • Subject: Re: [cgal-discuss] Have trouble usingNamedParameters"face_index_map" in "corefine_and_compute_intersection"
  • Date: Fri, 19 May 2023 09:05:50 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23: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 TBdeF2oi31XhaI8/QiMtpKV9NwkUOvT8ggV
  • Ironport-hdrordr: A9a23:W9sjHqAlX2vtC5blHemP55DYdb4zR+YMi2TDpHoBLyC9Ffbo6/ xG/c5rqCMc7Qx6ZJhOo6HjBEDtewKmyXcx2/hqAV7AZniChILLFvAA0WKK+VSJcE3DH6xmpN 9dmsBFaeEYZmIK6voSjjPIaurIjOP3lJxARt2z856ud2xXgm1bgDuRwzz0LnFL
  • Ironport-phdr: A9a23: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 NinqHcSg2pe
  • Ironport-sdr: 64671fd0_ClYGcjif34bVzLmS/FZAsxcUVuZ/TadBAUXgwHmRyjbEF2e uRUx5TzSKZO/tdDsdv8T+0jVvOVKw5UbYrE8xug==

I'm sorry but I don't understand what you are trying to achieve and what does not work.

Could you provide a complete minimal example (with data) that I can
compile and run and ideally have an error message/assertion showing
what does not work?

Thanks,

Sebastien.

On 5/13/23 16:12, "蓝色追风" ( via cgal-discuss Mailing List) wrote:
Hi again,

Sorry for the delay response. This is a simple example code for my problem. It’s about the intersection between two boxes.

//////

/
/

/read_obj("box.obj");///A simple function read shape information from OBJ file generated from Blender/

std::vector<std::array<FT,3> > points;//

/std::vector<CGAL_Polygon> polygons;/
/ for(int i=0; i<vertices.size(); i++)/
/ {/
/      points.push_back(CGAL::make_array<FT>(vertices[i].x, vertices[i].y, vertices[i].z));/
/ }/
//
/ for(int i=0; i<triangles.size(); i++)/
/  {/
/      CGAL_Polygon p;/
/      p.push_back(triangles[i].v1);/
/      p.push_back(triangles[i].v2);/
/      p.push_back(triangles[i].v3);/
/      /
/      polygons.push_back(p);/
/  } 
/

/
/

/Mesh mesh;/

/PMP::polygon_soup_to_polygon_mesh(points, polygons, mesh);/

/Mesh mesh_copy = mesh;/

//

/PMP::transform(CGAL::Aff_transformation_3<Kernel>(CGAL::Translation(), Kernel::Vector_3(0.0, 0.3, .5)), mesh);/

/PMP::transform(CGAL::Aff_transformation_3<Kernel>(0,-1,0,/

/1,0,0,/

/0,0,1,1), mesh);/

//

/Mesh out1;/

//

/Mesh::Property_map<Mesh::Face_index, int> mesh1_id = mesh.add_property_map<Mesh::Face_index, int>("f:id", -1).first;/

/Mesh::Property_map<Mesh::Face_index, int> mesh2_id = mesh_copy.add_property_map<Mesh::Face_index, int>("f:id", -1).first;/

/Mesh::Property_map<Mesh::Face_index, int> out1_id = out1.add_property_map<Mesh::Face_index, int>("f:id", -1).first;/

//

/for(Mesh::Face_index f : faces(mesh))/

/{/

/mesh1_id[f] = 1;/

/}/

/for(Mesh::Face_index f : faces(mesh_copy))/

/{/

/mesh2_id[f] = 2;/

/}/

//

/Visitor visitor;/

/visitor.properties[&mesh] = mesh1_id;/

/visitor.properties[&mesh_copy] = mesh2_id;/

/visitor.properties[&out1] = out1_id;/

//

/bool valid_intersect = PMP::corefine_and_compute_intersection(mesh, mesh_copy, out1, CGAL::parameters::visitor(visitor));/

//

/Mesh out1_part1;/

/for(Mesh::Face_index f : faces(out1))/

/{/

/if(out1_id[f] == 2)/

/{/

/std::vector<Mesh::Vertex_index> tmp;/

/auto tp = CGAL::vertices_around_face(out1.halfedge(f), out1);/

/for(auto vd:tp)/

/{/

/Kernel::Point_3 tmp_P = out1.point(vd);/

/Mesh::Vertex_index index = out1_part1.add_vertex(tmp_P);/

/tmp.push_back(index);/

/}/

/out1_part1.add_face(tmp[0], tmp[1], tmp[2]);/

/}/

/}/

//////

Here are the two boxes (mesh and mesh_copy) and the intersection polyhedron (out1). But the above code can only capture two triangles(out_part1) from Box 2. While for the command “:corefine_and_compute_union”, the above code works very well. Do you have any suggestions regarding this problem?

Thanks again.

Best wishes,

Daye


mesh and mesh_copy




out1



out_part1


------------------------------------------------------------------------


蓝色追风


<https://wx.mail.qq.com/home/index?t=readmail_businesscard_midpage&nocheck=true&name=%E8%93%9D%E8%89%B2%E8%BF%BD%E9%A3%8E&icon=https%3A%2F%2Fthirdqq.qlogo.cn%2Fg%3Fb%3Doidb%26k%3Dwic8g7X3V7SJGQtsmZpeoCg%26s%3D0&mail=534121639%40qq.com&code=hfAScRQS-WLnPbqomOz9eik53dpK9F7uARW_9kmmLmn4MrVtp2hS6oBkagGbyl_mL-pgi3Blkh39QseGO54MXw>




Original Email

Sender:"cgal-discuss"< >;

Sent Time:2023/5/11 8:35

To:"cgal-discuss"< >;

Subject:Re: [cgal-discuss] Have trouble usingNamedParameters"face_index_map" in "corefine_and_compute_intersection"


The code used is exactly the same, so if you made it work with one
function it should work with the second one. I suggest you look at the
difference you have in function calls to see where it could come from.
Without a minimal example showing the problem it would be hard to help more.

Best,

Sebastien.

On 5/10/23 14:32, "蓝色追风" ( via cgal-discuss Mailing
List) wrote:
> Yes, with "PMP::corefine_and_compute_union" I can distinguish which
> sub-mesh of the union belongs to which original mesh, just like the
> example code you sent me. But it seems that this does not work with
> "corefine_and_compute_intersection". Is it because some meshes are
> recreated during the intersection operation? Do you have any suggestions
> on how to distinguish the faces in the resulting mesh after "intersection"?
>
> Best wishes,
> Daye
> ------------------------------------------------------------------------
>
>
> 蓝色追风
>
>
>
>
>
>
>
> Original Email
>
> Sender:"cgal-discuss"< >;
>
> Sent Time:2023/5/10 11:27
>
> To:"cgal-discuss"< >;
>
> Subject:Re: [cgal-discuss] Have trouble using
> NamedParameters"face_index_map" in "corefine_and_compute_intersection"
>
>
> The corresponding mesh is passed as a reference in visitor calls so you
> can compare the address of the mesh with the one you are interested in.
>
> Best,
>
> Sebastien.
>
> On 5/10/23 11:19, "蓝色追风" ( via cgal-discuss Mailing
> List) wrote:
> > Hi, again,
> >
> > I tried your suggestion and implemented the example code you gave me.
> > However, for many faces of intersection, the visitor cannot recognize
> > whether they come from "mesh1" or "mesh2". Taking this example
> >
> (https://github.com/CGAL/cgal/blob/master/Polygon_mesh_processing/examples/Polygon_mesh_processing/corefinement_mesh_union_with_attributes.cpp ) as an example, many "out_id" of the intersected mesh are "-1". Do I need to handle the intersected mesh specially for a relatively complicated mesh?
> >
> > Thanks again.
> >
> > Best wishes,
> > Daye
> > ------------------------------------------------------------------------
> >
> >
> > 蓝色追风
> >
> >
> >
> >
> >
> >
> >
> > Original Email
> >
> > Sender:"cgal-discuss"< >;
> >
> > Sent Time:2023/5/10 8:48
> >
> > To:"cgal-discuss"< >;
> >
> > Subject:Re: [cgal-discuss] Have trouble using Named
> > Parameters"face_index_map" in "corefine_and_compute_intersection"
> >
> >
> > face_index_map is not an output parameter. It is used internally by the
> > code to avoid using a hash map. If you want to track correspondance
> > between input and output, you should use the visitor:
> >
> >
> https://doc.cgal.org/latest/Polygon_mesh_processing/classPMPCorefinementVisitor.html
> >
> >
> https://github.com/CGAL/cgal/blob/master/Polygon_mesh_processing/examples/Polygon_mesh_processing/corefinement_mesh_union_with_attributes.cpp
> >
> > Best,
> >
> > Sebastien.
> >
> > On 5/9/23 21:43, "蓝色追风" ( via cgal-discuss Mailing
> > List)
> > wrote:
> > > Hi, all,
> > >
> > > I am currently using the CGAL command
> > > "corefine_and_compute_intersection" to compute the intersection between
> > > two surface meshes. At the same time, I want to determine the face
> index
> > > of the intersection mesh in the original mesh. I noticed that the
> > > "face_index_map" in the Named Parameters of
> > > "corefine_and_compute_intersection" seems to be able to achieve this
> > > functionality, but I am having trouble using it. Could you please
> > > provide me with an example code to help me use the "face_index_map"
> > feature?
> > >
> > > Thank you for your time and help!
> > >
> > > Best wishes,
> > > Daye
> > >
> > > --
> > > 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
> >
> >
> > --
> > 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
>
>
> --
> 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


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