Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?
Chronological Thread
- From: Adam Getchell <>
- To:
- Subject: Re: [cgal-discuss] On cell deletion, do neighboring cells need neighbors to be specified?
- Date: Mon, 17 Oct 2022 17:16:43 -0700
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23: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
- Ironport-hdrordr: A9a23:qvMCGKNz5Dw9RMBcTu+jsMiBIKoaSvp037BL7TEVdfUxSKalfq +V7ZImPHPP+VUssTQb6Ku90de7MAnhHO9OkO0s1N6ZNWGM2FdAbrsSlLcKqweAJ8SUzJ876U 4PSdkHNDQyNzRHZATBjTVRV7sbsbu6GWyT6ts2t00dMD2CopsP0ztE
- Ironport-phdr: A9a23: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
- Ironport-sdr: 634df070_XFkXZGNYrfzZ5pHJIHqTfgUYXFT1ysPqJWtlDMBHaUTEors L3KvPyHXAVyN9yj2ccXy11z02iaQ3DcNzs6HY7w==
Hello Sebastien,
Thank you for this response.
I have attempted to use this function directly as suggested, however it is not documented and I’m unable to determine the parameters from reading the source code alone.
My function call looks like:
auto const result = CGAL::Tetrahedral_remeshing::internal::
flip_n_to_m(triangulation, pivot_edge.value(), top,
incident_cells, visitor);
I’ve looked at the code here:
The first parameter I’ve inferred is the triangulation upon which to make the flip.
The second parameter is an edge, which I’ve inferred is the existing edge in the 4-cell complex.
The third parameter is a Vertex_handle, which I’ve inferred is a non-participatory vertex in the flip. That is, the edge plus this vertex form a facet, and opposite the facet on both sides are the Vertex_handles that the flip will use as the new internal edge when completed. However, I do not know if this is correct.
The fourth parameter is named inc_cells, so I infer these are the incident cells around the given edge. Again, not sure if this is correct.
The fifth parameter is a template type Visitor, and I’m entirely unsure what needs to be provided there.
Any insights would be appreciated. I have an incomplete test case here:
Thanks,
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
- 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+.