問題タブ [openmesh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1112 参照

3d - メッシュ OpenMesh の頂点価数を計算する

OpenMesh を使用するのは初めてで、メッシュ内のすべての頂点の原子価を計算する非常に単純な関数を実行しようとしています。

私の最初の試みはこのように見えます

価数は、メッシュの数とは異なります (std::cout を参照)。私は何かが欠けていることを知っています、誰でもエラーがどこにあるかを見ることができますか?

アップデート

次のコードを使用して動作させました

これで両方の数値が一致しました。ただし、最初に配置したコードで同じことを実装できるかどうかを知りたいです。考え方は同じはずです。

0 投票する
2 に答える
555 参照

graphics - openmesh EdgeHandle クラス

そのため、プロジェクトに OpenMesh ライブラリを使用していて、 EdgeHandle e をメソッドに渡しています。このエッジで結合されている 2 つの面を確認できますか? オンラインで調べてみましたが、openMesh のドキュメントは非常にまばらで、EdgeHandle のドキュメントはさらにまばらです。

0 投票する
3 に答える
4916 参照

c++ - OpenMeshを使用して、エッジを反復処理し、頂点を取得します

私はOpenMeshを使用して、全体が含まれている可能性のあるメッシュを調べ始めており、各エッジに関連付けられている頂点を実際に取得するための良い方法は何かと考えています。

ハーフエッジには、メッシュのメソッドopposite_he_opposite_vhと方法がありopposite_vhますが、反対側のハーフエッジが存在しない場合(現在、境界ハーフエッジにあります)、これらはエラーをトリガーします。

これらに頻繁に遭遇することを考えると、すべてのエッジを反復処理するためのより良い方法は何ですか(実際には、ハーフエッジについては特に気にしません。各エッジのデータを取得しますが、方向は重要ではありません。 2つの頂点が必要ですか)?

0 投票する
1 に答える
963 参照

mesh - OpenMesh ランダム アクセス

私は、OpenMesh が面のエッジの頂点へのランダム アクセスをサポートすると考えていました。私が見つけることができるのは、イテレータとサーキュレータだけです:

どうすればこのようなことができますか:

0 投票する
1 に答える
247 参照

visual-c++ - OpenMesh: remove_property : Decimater::DecimaterT のメンバーではありません

でデシメータ アルゴリズムを使用しようとしていますOpenMesh。このリンクに示されている基本的なセットアップに従いました: http://openmesh.org/Documentation/OpenMesh-2.0-Documentation/decimater_docu.htmlしかし、modquadrict.hh(part of the library).

main.cpp

MyMesh.h

0 投票する
1 に答える
1448 参照

mesh - OpenMesh、デシメーション、Lindstrom-Turk

私のアプリケーションでは、多くの三角形メッシュを使用していますが、三角形の数を減らす必要がある場合があります (いくつかのエッジを折りたたむ)。メッシュの処理には、openmesh (openmesh.org) が最新 (C++) であるため、openmesh (openmesh.org) を使用しますが、主な理由は、膨大な量の依存関係をドラッグしないためです (c++ std のみに依存し、最新のコンパイラはそれを処理できます (クロスプラットフォームである必要があります) Linux/Windows/Mac OSX))。

ここで、いくつかのメッシュを減らす (openmesh の用語でデシメートする) 必要がありますが、境界を保持する必要があります。(問題のメッシュは元はグリッド (512x512) でしたが、それらの中心でいくつかの凹面要素が押し出され/追加されました。縮小後もグリッドの外縁が依然として長方形を形成することが重要です)

OpenMesh でそれらを間引き、ボリューム/アウトラインを保持する方法は見当たりません。すべての OpenMesh::Decimater::Mod* デシメーション モジュールは、ベースとして quadric を使用します。

GTS (GNU Triangulated Surface Library) では、Lindstrom-Turk リダクションが実装されており、私のニーズには理想的です (私は、それが私が望むものであるかどうかをテストするためにいくつかのダーティ ラッパーを実行しました)。マルチスレッド保存ではなく (複数のスレッドで多くのメッシュを削減しています)、GTS ではライブラリ内のグローバル変数を使用してメッシュを削減しながら一部のものを無効/有効にするため、GTS では不可能です :/) (また、glib 全体を依存関係としてドラッグします)

CGAL もあり、Lindstrom-Turk も実装されていますが、ブースト全体と他の依存関係をそれ自体にドラッグしています :/

ボーダー/ボリューム保存でデシメーションを行うopenmesh用のデシメーターモジュールはありますか? (私は検索しましたが、何も見つかりませんでした:/)

0 投票する
2 に答える
926 参照

python - Python 3.4 で OpenMesh?

私はpythonとブーストpythonのようなそのC++ラッパーに比較的慣れていません。OpenMesh C++ Library python バインディングを python 3 で動作させようとしました。

すでに可能かどうかは誰にもわかりませんか?OpenMesh の変更ログにいくつかのヒントがあり、1 年前に Python 3 のいくつかのテストが追加されました。 https://graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/commit/c6382d800ffb9b48347e748a32e658697125d5b2

そこで、最新のBoostPythonをビルドしてみました

http://www.openmesh.org/Daily-Builds/Doc/a00036.htmlですべての環境変数を設定し ます。

OpenMesh は素晴らしい openmesh.so を完璧に構築します。

しかし、Python3 インタープリター出力でそれを使用しようとすると:

Python 2 は正常に動作しますが、それは不可能ですか、それとも何か間違っていますか?

感謝と挨拶

0 投票する
0 に答える
86 参照

mesh - OpenMeshはサーキュレーターをイテレーターに変換します

私は OpenMesh を使用しており、BFS ベースで頂点を反復処理しようとしています。この頂点の隣人を VertexVertexiterator の形式で取得できますが、隣人を Vertexitrator の形式で取得したいのですが、どうすればこの形式で取得できますか? 、ありがとう〜