問題タブ [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.
3d - メッシュ OpenMesh の頂点価数を計算する
OpenMesh を使用するのは初めてで、メッシュ内のすべての頂点の原子価を計算する非常に単純な関数を実行しようとしています。
私の最初の試みはこのように見えます
価数は、メッシュの数とは異なります (std::cout を参照)。私は何かが欠けていることを知っています、誰でもエラーがどこにあるかを見ることができますか?
アップデート
次のコードを使用して動作させました
これで両方の数値が一致しました。ただし、最初に配置したコードで同じことを実装できるかどうかを知りたいです。考え方は同じはずです。
graphics - openmesh EdgeHandle クラス
そのため、プロジェクトに OpenMesh ライブラリを使用していて、 EdgeHandle e をメソッドに渡しています。このエッジで結合されている 2 つの面を確認できますか? オンラインで調べてみましたが、openMesh のドキュメントは非常にまばらで、EdgeHandle のドキュメントはさらにまばらです。
c++ - OpenMeshを使用して、エッジを反復処理し、頂点を取得します
私はOpenMeshを使用して、全体が含まれている可能性のあるメッシュを調べ始めており、各エッジに関連付けられている頂点を実際に取得するための良い方法は何かと考えています。
ハーフエッジには、メッシュのメソッドopposite_he_opposite_vh
と方法がありopposite_vh
ますが、反対側のハーフエッジが存在しない場合(現在、境界ハーフエッジにあります)、これらはエラーをトリガーします。
これらに頻繁に遭遇することを考えると、すべてのエッジを反復処理するためのより良い方法は何ですか(実際には、ハーフエッジについては特に気にしません。各エッジのデータを取得しますが、方向は重要ではありません。 2つの頂点が必要ですか)?
mesh - OpenMesh ランダム アクセス
私は、OpenMesh が面のエッジの頂点へのランダム アクセスをサポートすると考えていました。私が見つけることができるのは、イテレータとサーキュレータだけです:
どうすればこのようなことができますか:
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
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用のデシメーターモジュールはありますか? (私は検索しましたが、何も見つかりませんでした:/)
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 は正常に動作しますが、それは不可能ですか、それとも何か間違っていますか?
感謝と挨拶
mesh - OpenMeshはサーキュレーターをイテレーターに変換します
私は OpenMesh を使用しており、BFS ベースで頂点を反復処理しようとしています。この頂点の隣人を VertexVertexiterator の形式で取得できますが、隣人を Vertexitrator の形式で取得したいのですが、どうすればこの形式で取得できますか? 、ありがとう〜