collapseEdgeTriangular loses halfedge data
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp
- Área
- computer-graphics
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- C++
- Estrellas
- 1.3k
- Forks
- 183
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nmwsharp/geometry-central
-
warning: control reaches end of non-void function in VectorHeatMethodSolver::computeLogMapPosiblemente ocupada @dyollb la tomó hace 59 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
nmwsharp/geometry-central#256 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
nmwsharp/geometry-central#258 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
nmwsharp/geometry-central#255 · 1 comentario ·
-
FlipEdgeNetwork::iterativeShorten() hangs on a contractible closed loopPosiblemente ocupada @designbynumbers la tomó hace 110 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
nmwsharp/geometry-central#253 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 57/100
nmwsharp/geometry-central#247 ·
Todos los issues de nmwsharp/geometry-central
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
NVIDIA/DeepStream#78 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
LaneDibello/Kotor-Patch-Manager#328 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100