Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

GC reports nonmanifold mesh when mesh is just not oriented consistently

オープン
#142 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
cpp

調査の方向性

Start by locating the GC validation that reports a mesh as nonmanifold and reproduce the case where the mesh is manifold but faces are inconsistently oriented. Decide whether the intended scope is revised error text, explicit orientation detection, or an orientFaces() method; done means the selected behavior distinguishes or resolves this case without misreporting it.

索引モデルが issue の本文から書いたものです。

説明

GC will report that a mesh is nonmanifold even in cases where it is manifold, but the faces are not consistently aligned.

Level 1 fix

A quick improvement would just be to change error reporting to something like:

Mesh is either nonmanifold, or faces are not oriented consistently.
Level 2 fix

A bigger fix would be to detect that faces are inconsistently oriented, and report this explicitly:

Mesh is manifold, but faces are not consistently oriented.
Level 3 fix

The ultimate fix would be to actually fix the normal orientation, if the mesh is manifold and orientable. There are some design decisions here (e.g., which of the two orientations should we pick?) but generally this should be pretty straightforward.

We could also implement this as a general-purpose method like orientFaces(), which is probably useful in its own right. Then the user can be asked to call this method explicitly:

Mesh is manifold, but faces are not consistently oriented.  Please call orientFaces() before trying to build a ManifoldSurfaceMesh.

This may be better than automatically orienting someone's faces, which might violate the principle of least surprise.

主要言語
C++
スター
1.3k
フォーク
183
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

nmwsharp/geometry-central のほかの issue

nmwsharp/geometry-central の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。