Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation
Chronological Thread
- From: Mael <>
- To:
- Subject: Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation
- Date: Mon, 4 Feb 2019 10:00:41 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=None ; spf=None
- Ironport-phdr: 9a23:apTHLRFkGXHimIPKDyhUM51GYnF86YWxBRYc798ds5kLTJ7zpMywAkXT6L1XgUPTWs2DsrQY07qQ6/iocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmDmwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjDQhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VDK/5KlpVRDokj8KOSMn/mHZisJ+j6xVrxyuqBN934Hab5qYNOZ8c67HYd8WWWRMU8RXWidcAo28dYwPD+8ZMOhftYbyuV8Opga5CAmpHuzg1DtIimXs3a09zuQgHh/J3Ag6E9IKqnvbt876O7kJXOC60qbIyjDDYO1K2Tfn6InIfAouru2QXbJ3a8rQyVMjGB/CjlWVsIHoOS6e2OoKs2ie9eVgVOSvhnYhqw5ruTeg3cMshZfTio0JzVDE8CN0y5s2K92gUEN3fNypHZhKuyyUOYZ6WN0uTmFmtSog1LELuIa3cSwWxJg9xBPSauaLfoqV7h75W+ucIDF1j29/dr2lnRa9602gx/X8Vsaq1FZKqTJIn9fWunAI0Bze69KLSv5n8Ueg3TaDzgfT6vxYIUwukqrbNZ4hzqQ2lpUNrUTPBi72mEPog6+Kbkgo5+ql5uf9brjoqJKQLZF4hwHwP6g0hMCyAPw0Mg0UUGia/eS82qfj/Ur8QLhSi/05iLfWsJTAKcQBoa65HgBU3Zgn6xqlCzepys8XkmIZI19edxKIkY/pO1TQL/DkF/e+g1qsny13yPDaOb3hGJXMImLfn7fmeLZx81RcxxYrzdBD+5JUDakML+78WkDrsNzUFwI2Mw2vw+n7FdV9zZgeVHmUAq6ZNaPSqUWH6vguI+mKfo8VuSzyJ+Ir5/703jcFngoWcqCtmJcWc3ulBe9OIkODYHOqjM1SP30Nu18bReHuwAmHWDNXIWy1QrIx4nc/AYisAK/MS4eojaCbzSmyFYFRfHEAAVeJRyS7P76YUusBPXrBavRqlSYJAOD4Gt0RkCq2vQq/8IJJa+/d+ykWr5XmjoEn6ODUkBwu7y16Bs+B1HucCWpzmzFQHmNk7OVEuUV4j2y7/+1gmfUCTI5c6vRMXxsgJJDVxPB9EcG0UQXELI/QFQSWB+6+CDR0deofht8DZ0EnR4f5yBXEgWyvCr4R0ruWGNoz7KKa2XXtdZ5w
Hello,
There is not exactly any built-in functions for what you describe (getting consistent offsets around an edge), but there are a few functions which might help you reach your goal through another path.
You could use the fact that the offset of each vertex in a cell is accessible via cell_handle->offset(vertex_index). It is then easy to combine offsets to call other functions of P3DT3 as a lot of functions of P3DT3 that have a signature like "function(args)" have overloads "function(args, offsets)", and you might then avoid manually translating your cells, depending on what you want to do afterwards.
If you are only interested in constructing the dual (geometrically), the P3DT3::dual() functions give most of what you need: taking a cell, an edge, or a vertex handle, they return a consistent polyhedron with points in R^3 (thus possibly outside of the periodic domain). If you look into the code of these functions, you can tweak the offset value (using P3DT3::combine_offset()) to change the 3D output to be near the position of your chosen vertex.
Best,
Mael
On 02/02/2019 01:50, Michael Klatt wrote:
Dear all,
To triangulate a point set in the three-dimensional flat torus,
CGAL::Periodic_3_Delaunay_triangulation_3 offers a very good solution to my
needs, switching between Delaunay and Voronoi tessellations.
For each vertex, I want to first iterate over all incident edges and then
(for each edge) circulate over all cells incident to the given edge.
My current code relies on the functions
OutputIterator incident_edges (Vertex_handle v, OutputIterator edges)
const
and
Cell_circulator incident_cells (Edge e) const
Thus I obtain a Cell_handle.
How can I choose the representative (tetrahedron in Euclidean space) that
has the initial vertex as one of its four vertices?
For example, if the vertex for which I pick an incident edge has coordinates
(0.1,0.1,0.1), I would like to obtain a tetrahedron whose other points have
negative coordinates, rather than the tetrahedron that is at the opposite
end of the 1- or 27-sheeted covering space.
The latter is the result of my attempt using
T.tetrahedron(T.periodic_tetrahedron(cit));
(due to my CGAL version 4.7).
Of course, I can manually translate the tetrahedron, but is there a built-in
solution?
Thank you very much!
Best regards,
Michael
--
Sent from: http://cgal-discuss.949826.n4.nabble.com/
- [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Michael Klatt, 02/02/2019
- Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Mael, 02/04/2019
- Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Michael Klatt, 02/05/2019
- Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Michael Klatt, 02/06/2019
- Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Mael, 02/06/2019
- Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Michael Klatt, 02/09/2019
- Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Mael, 02/06/2019
- Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Michael Klatt, 02/06/2019
- Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Michael Klatt, 02/05/2019
- Re: [cgal-discuss] Choosing a representative in a 3D Periodic Delaunay Tessellation, Mael, 02/04/2019
Archive powered by MHonArc 2.6.18.