collapseEdgeTriangular loses halfedge data
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- cpp
- Lĩnh vực
- computer-graphics
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- C++
- Star
- 1.3k
- Fork
- 183
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của nmwsharp/geometry-central
-
warning: control reaches end of non-void function in VectorHeatMethodSolver::computeLogMapCó thể đã có người làm @dyollb đã nhận 65 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
nmwsharp/geometry-central#256 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
nmwsharp/geometry-central#258 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
nmwsharp/geometry-central#255 · 1 bình luận ·
-
FlipEdgeNetwork::iterativeShorten() hangs on a contractible closed loopCó thể đã có người làm @designbynumbers đã nhận 115 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
nmwsharp/geometry-central#253 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 57/100
nmwsharp/geometry-central#247 ·
Tất cả issue của nmwsharp/geometry-central
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
FriendsofECCE/ECCE#336 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
bitcoin-core/gui-qml#1030 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
tesseract-robotics/tesseract#1384 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
NVIDIA/nccl-extensions#26 ·