Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

collapseEdgeTriangular loses halfedge data

Aperta
#134 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
cpp

Direzione di ricerca

Locate the collapseEdgeTriangular implementation and trace how degenerate faces, deleted edges, and halfedges are removed. Review the manifold sibling invariant and any parallel external data structures; done should preserve the needed neighborhood halfedge data, including boundary relationships such as he1 and he4.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

When we edge collapse, we also remove the degenerate face(s) incident to the edge, which results in removing further edge(s):

 |        x           |
edge degenerate-face edge

 |        x           +
edge degenerate-face deleted-edge

This destroys halfedge data that we still need in the neighborhood post collapse:

 he1 | he2        x            he3 | he4
    edge      degenerate-face     edge

 he1 | he2        x            -- | --
    edge      degenerate-face    deleted-edge

 he1 |  he2 (lost he4!)
    edge (after)

he2 and he3 become completely unnecessary post collapse, but we've lost he4, which disrupts invariants the user may have wanted to maintain, such as parameterization boundaries (e.g., if he1 and he4 were on opposite sides of a UV boundary).

Although we'd like to do so, we cannot directly perform

 he1 | --         x             -- | he4
    edge      degenerate-face     edge

because this violates the implicit sibling property of manifold meshes (a part of which seems to assume that abs(he - he.twin) = 1).

Also, the data may be stored in parallel structures outside this mesh object.

Lingua principale
C++
Stelle
1.3k
Fork
183
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nmwsharp/geometry-central

Tutte le issue di nmwsharp/geometry-central

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.