collapseEdgeTriangular loses halfedge data
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
- Ambito
- computer-graphics
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nmwsharp/geometry-central
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
nmwsharp/geometry-central#256 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
nmwsharp/geometry-central#255 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
nmwsharp/geometry-central#253 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 57/100
nmwsharp/geometry-central#247 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
nmwsharp/geometry-central#246 ·
Tutte le issue di nmwsharp/geometry-central
Issue simili
-
[CI] Nightly Clang build broken: structured binding captured in a lambda in FileDataSource.cpp Apertabug build
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
facebookincubator/velox#19194 ·
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Apertafuzz
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
ClickHouse/ClickHouse#122114 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
module/agent platform/macos type/bug/regression
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
enhancement PyCDE
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100