Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

collapseEdgeTriangular loses halfedge data

Đang mở
#134 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

@lfyMeta đang làm issue này rồi.

Từ ngày 28/11/2022.

  • #135 của @lfyMeta — đang mở

Đá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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của nmwsharp/geometry-central

Tất cả issue của nmwsharp/geometry-central

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.