Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?
Chronological Thread
- From: Jane Tournois <>
- To:
- Subject: Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?
- Date: Tue, 18 Oct 2022 11:35:20 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23: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 U/KelY=
- Ironport-hdrordr: A9a23:rddIna1nkuhCeEyFOkZj2wqjBFYkLtp133Aq2lEZdPU0SKGlfr OV7ZEmPH7P5wr5N0tApTntAtjnfZqYz+8N3WBzB9eftWvd1ldARbsKheCJ/9SjIVyYygc379 YDT0ERMqyVMbE3t7eY3CCIV/AewZ2s9aClgvr/1h5WIT1CWuVH8AY8Nx2SGEFsAClKbKBJbK a01455nH6bQFwyROyGPFVtZZm/m/T70K3cJSQ+Lzocwi+0oVqTmcTHOind4SxbaQpm5Y0e2V Xo+jaJnZmejw==
- Ironport-phdr: A9a23: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
- Ironport-sdr: 634e735b_6FtF8cwSFe6KV3gbeNqjIZ+onGccUPjH0drf6ZBXPxmWe1C +AUn6IgV8WWLTIs6+NKCM35ukcXMzjsUk+GrWUA==
Hello Adam,
you'd better use the other `flip_n_to_m()` internal function, that is actually calling the one you mention.
The parameters are the following :
* edge : is the edge to be flipped
* c3t3 : the Mesh_complex_3_in_triangulation_3 containing the
triangulation
* boundary_vertices : a std::vector containing the vertices that
share a cell with `edge` and are on a boundary (with respect to
subdomains indices)
* criterion =
CGAL::Tetrahedral_remeshing::internal::MIN_ANGLE_BASED
* inc_cells : its internal type is a
`std::unordered_map<Vertex_handle,
boost::optional<boost::container::small_vector<Cell_handle,
64> > > `
It contains for each vertex of the triangulation (or at least the
vertices that take part into the flip) a container of its incident
cells (to avoid computing it too many times)
* visitor : you can stick to the default
`CGAL::Tetrahedral_remeshing::internal::Default_remeshing_visitor()`
defined in
`CGAL\Tetrahedral_remeshing\internal\tetrahedral_adaptive_remeshing_impl.h`
Hope it helps!
Best,
Jane.
-- Jane Tournois, PhD R&D Engineer at GeometryFactory http://www.geometryfactory.com/
auto const result = CGAL::Tetrahedral_remeshing::internal:: flip_n_to_m(triangulation, pivot_edge.value(), top, incident_cells, visitor);
https://adamgetchell.org
On Jul 5, 2022, at 1:37 AM, Sebastien Loriot ( via cgal-discuss Mailing List) <> wrote:
Hello Adam,
did you already have a look at CGAL/Tetrahedral_remeshing/internal/flip_edges.h
flip_n_to_m() seems to be what you are looking for.
Jane is not around for a few weeks. I'm sure she will get back to
you when she's back.
Best,
Sebastien.
On 6/29/22 22:52, Adam Getchell ( via cgal-discuss Mailing List) wrote:
Hello all,
I’m working on a bistellar flip for 3D triangulations, briefly as follows:
Step 1: Find a candidate edge for which a circulator around that edge obtains 4 incident cells.
Step 2: Get the 2 vertices comprising the candidate edge.
Step 3: Get the remaining 4 vertices in the 4-cell complex (there are 6 vertices in the cell complex). Step 4: Obtain a new pivot edge between 2 different vertices for which a circulator around that pivot edge would obtain 4 new incident cells comprised of the 6 vertices.
Step 5: Find the 8 neighboring cells of the original 4-cell complex.
Step 6: Delete the old cells.
Step 7: Create the new cells using the same 6 vertices.
Step 8: Assign the 8 neighboring cells to the cells in the new 4-cell complex.
Details here: https://github.com/acgetchell/bistellar-flip <https://github.com/acgetchell/bistellar-flip> The issue is at the conclusion of Step 8, all cells have been verified as valid, cell orientations have been verified/reoriented, but the triangulation itself is not valid.
The error is: “neighbor of c has not c as neighbor” My question is, do I also need to track the 32 neighboring cells of the 8 neighbors of the 4-cell complex being flipped? (And in my test case, the 8 neighbors are all infinite.)
Is there some other mistake?
Thanks for your advice,
Adam
P.S. I have looked at the Tetrahedral Remeshing package at Sebastien Loriot’s suggestion. I’m presently unsure if any of those functions (e.g. construct_opposite_vector_3_object()) are relevant. --
Adam Getchell
https://adamgetchell.org <https://adamgetchell.org> --
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
- Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?, Adam Getchell, 10/18/2022
- Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?, Jane Tournois, 10/18/2022
- Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?, Adam Getchell, 10/22/2022
- Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?, Adam Getchell, 10/23/2022
- Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?, Adam Getchell, 10/22/2022
- Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?, Jane Tournois, 10/18/2022
Archive powered by MHonArc 2.6.19+.