Subject: CGAL users discussion list
List archive
- From: Sebastien Loriot <>
- To:
- Subject: Re: [cgal-discuss] How to write property maps for Polyhedron class?
- Date: Mon, 31 Oct 2022 08:06:50 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:SHkT06v7BsYIolMRlTNuGS/TEufnVIFaMUV32f8akzHdYApBsoF/q tZmKTqFOPbbamP3L9t3a4zko0JU68DXndQxTwY9qC80FCkUgMeUXt7xwmXYb3rDdJWbJK5Ex 5xDMYeYdJhcolv0/ErF3m3J9CEkvU2wbuOgTrSCYkidfCc8IA85kxVvhuUltYBhhNm9Emult Mj7yyHlEAbNNwVcbyRFtspvlDs15K6o4WtD5wRnDRx2lAa2e0c9XMp3yZ6ZdCOQrrl8RoaSW +vFxbelyWLVlz9F5gSNz94X2mVTKlLjFVDmZkh+A8BOsTAezsAG6ZvXAdJHAathZ5plqPgqo DlFncTYpQ7EpcQgksxFO/VTO3kW0aGrZNYrLFDn2fF/wXEqfFP8768xMHl1A7Zf++QoX2to6 LsiKDkkO0Xra+KemNpXS8Fpj8UnadbxZcYR5ygmwjbeAvIrB5vERs0m5/cChGZ21p0IR6yHI ZdAAdZsREyojxlnIVMQEpM5gKGtglHwdjRZrBSeoq9fD237k1YqjuSxaYa9ltqiW5hqoEWYu 3L/+2HUW0kobfKRliKo2yf57gPItXqjBNh6+KeD3vVliVnWym0IAwANTnOgsPyhgwi/XcheI goa4EITQbMa8UWqSpziRUT9riPd+BEbXNVUHqsx7wTlJrfoDxixFkReEQJ5K+Id8840GmIg8 ELOpdPgLGk62FGKck61+rCRpDK0HCEaK24eeCMJJTfpBfGz/enfaTqfEL5e/L6JYs7dQm6vn mjbxMQqr/BC0p5RjvTTEUXv2mr0/vD0ohgJChI7t19JAyt8bY+hIpOysB3VsK8GI4GeQV2M+ nMDnqByDdzi77nczkRho81XRNlFAspp1hWC2DaD+LF/rFyQF4aLJ9w43d2HDB4B3jw4UTHoe lTPngha+YVeOnCnBYcuPdzuUpl2k/K9Soq0PhwxUjaoSsgvHONg1HExDXN8I0iw+KTRuftuZ s3CLpbE4YgyVfs6llJauNvxIZdynnxkrY8ibZ/8yBuj3NKjiI29GN843K+1Rrlhtsus+V2Lm /4Gbpfi40gBDYXWP3aPmaZNdwxiBSZgXvje9ZcHHtNv1yI8RwnN/deKke1/E2Gk9owJ/tr1E oaVAB8FmAql1SaedG1nqBlLMdvSYHq2llpjVQREALpi8yFLjV+HvfxHJagkN6Iq7vJixvNSR vwIMZfISPdWRziNv3xXYZDhpcYwPF6mlCCfDRqDOTIfRp9HQxCW29nGegC0yjICIBDqvuQDo pqh9Djhf7w9eypYAvzrNc2fl2GKgSBFmcZZfVf5Hd1ISUC9rKloM3PQi9E0EeEtKDLC5D2Q6 CiOCzxFp+OX+44R2/vKjJCisI2GPbZfHE1bPm+D9pewF3DQ0VSCyL96ctSjXG7iRkKt3469d 8B58uraDMQXuHpr769tDKdNz48lwtnk+o9h0QVvGUvUY2SRCr9PJmeM2e9NvPZvwoB1lBSXW EWd3MtzIpSMZd3YFWAOKDofbuis0e8enh/Q568XJGT4/CpGw6qVY35NPhWjiD1vE5UtCdkLm dwegc8x7xCzrjEIMdzc1yBdyDmqH0w6Cq4isskXPZ/vhg8V0Wp9WJ37CBGnxLGUat5JDFsmH S/MuorGmIZn5xTjd1gdKCHz+NRz1LU0hQBy7V4dJl62tMLPqd0p0TZwrzkmbARn4S9W8uB0O 2JUGVV/DvzV9DVFmPpBYnCIHg1fDkeV4X7KllkDzjXYa2KKVWX9CnI3FsjQ3UIe8kNaJiN6+ pPBwknbcD/aRuPD9QpsZlxAtNriUs1Xyg3OvOuFDva1NcA2ThS9i5D/eFdSjQXsBP0AoXHup M5ozb5WUrL6PytBmJ8LIdCW+ppIQS/VOVEYZ+9q+Z4IOmTueDuS/zyqAGLpc+NvI836y2OJO /ZMFOluCSvnjD2vqwoFD5EiO7V3xf4lxOQTc4PReFIpjeGtkSpLgrnxqA7O3HQmUvd/o/Ybc 4nxTQ+PIkaUpHlTmlLOkvV6B3qFUYEESTD4jc+I87QvNpMcsetTX1k4/Zmqsl60bgZ23RKmk znSRq3Rzt44kIRloJTxI/8SGyS1NtLBe+Ca+y+js9l1TI3uMOWfkyg3u1XYLwBtEr9JYOtOl JOJq8/R4EzemaQfCkT1psGkLLZYwumXR89VA9LTAFgBuhXaQ+7qwR8I217gGKxziNkHu/WWH VqpWvW/Zfs+eol41nZKTwN8DhxEKaD8Tpm4lBOHt/7WVyQsi13WHuiGq03sQ3pQLBITGpvED QTxhfaiy/ZYoKlIBz4GH/tWOIB5EnCyRZoZc8DNihfAAlmKml+ivp7QpSgk4xzPCViGF5/03 8uUDFy2PhG/o7rBw9xlopR/9E9fRmp0he4rOFkR4ZhqgjS9F3QLNvkZLY5AMJxPjyjuz9vtU Vkhtof55fnVBlyosCkQ4egPmi+aD+0Kf8jjf3knohrSZCCxC4eNRrBm80+MJpuwliTLlImax RM2oxUc/SRdBrlmQO8S4rqwhuIPKjby2CcT4U6k+yDtK092PFjJvUCN2CJCUCXGF4fGk0Cjy a3Zg4xbaBnTdHMd2vqMt5KY9N/1cd8vI/gVgf+z/evi
- Ironport-hdrordr: A9a23:10e5n65mMTlnFLTFSwPXwOvXdLJyesId70hD6qkDc20sTiX+rb HToB17726ItN91YhsdcL+7Scu9qB/nhOVICMwqTM2ftWrdyQ6VxeNZnOjfKlTbckWUltK1l5 0QCpSWYOeQMbEQt7ec3ODXKadH/DDKytHNuQ4c9RtQpMNRBp2IIz0XNu9TKCNLeDU=
- Ironport-phdr: A9a23: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 xUhOmqdAb1WiLRkeCZgjwqO4fNy
- Ironport-sdr: 635f740c_qjADcivCVFlcfYX4b+sNyM8re4VDtIt8o6ORaTVt2EoJsjc +ox7/jSTQUHvZMDSi+WYUXExfcCZ0gm7R5uIaUg==
You can use dynamic property maps for example as documented here:
https://doc.cgal.org/latest/BGL/index.html#title25
Something like this should work fine:
typedef boost::property_map<Polyhedron, CGAL::dynamic_edge_property_t<bool> >::type ECM;
ECM ecm = get(CGAL::dynamic_edge_property_t<bool>(), polyhedron);
You need to init the value of the map using:
for (auto e : edges(polyhedron))
put(ecm, e, false);
Best,
Sebastien
On 10/29/22 04:36, Calvin Lim ( via cgal-discuss Mailing List) wrote:
Hi there,
In the example code “Polygon_mesh_processing/corefinement_difference_remeshed.cpp <https://doc.cgal.org/latest/Polygon_mesh_processing/Polygon_mesh_processing_2corefinement_difference_remeshed_8cpp-example.html>” , there is this method to get the constrained edges after the difference between 2 meshes are computed.
/// start of code
//create a property on edges to indicate whether they are constrained
Mesh::Property_map<edge_descriptor,bool> is_constrained_map =
mesh1.add_property_map<edge_descriptor,bool>("e:is_constrained", false).first;
// update mesh1 to contain the mesh bounding the difference
// of the two input volumes.
bool valid_difference =
PMP::corefine_and_compute_difference(mesh1,
mesh2,
mesh1,
params::all_default(), // default parameters for mesh1
params::all_default(), // default parameters for mesh2
params::edge_is_constrained_map(is_constrained_map));
/// end of code
In my case, I wanted to use the Polyhedron class to perform the exact same function. But I have no idea how to set the property_map properly. Is there anyone that can guide me thru the process? Thanks!
Regards
Calvin
Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
- [cgal-discuss] How to write property maps for Polyhedron class?, Calvin Lim, 10/29/2022
- Re: [cgal-discuss] How to write property maps for Polyhedron class?, Sebastien Loriot, 10/31/2022
Archive powered by MHonArc 2.6.19+.