問題タブ [tetgen]

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 投票する
3 に答える
2089 参照

opengl - 複雑な3Dメッシュの三角形リストを動的に生成する

私のアプリケーションでは、ユーザー入力から取得した複雑な3Dソリッド(シリンダーブロックなど)の形状と寸法があります。そのための頂点とインデックスのバッファを構築する必要があります。

寸法はユーザー入力から取得されるため、Blenderまたは3DMaxを使用してモデルを手動で作成することはできません。そのようなメッシュを動的に生成するための教科書の方法は何ですか?

頂点、エッジ、穴を指定して三角形を生成するものを探しています。TetGenのようなものですが、TetGenには、ソリッド/メッシュの内部にある三角形を除外する方法がありません。

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

c++ - LNK 2028 - 2019 / マネージおよびアンマネージ C++ ? (VS 2008)

オープンソース ライブラリを自分のプロジェクトの 1 つにリンクしようとしています。ライブラリはアンマネージド (Tetgen という名前) で、私のプロジェクトはマネージド C++ です。

私のプロジェクトはヘッダーを認識し、ヘッダーで定義された関数を使用できます。しかし、.cpp で定義されたいくつかのメソッドにアクセスしようとするたびに、2028 エラーが発生します。

エラー LNK2028: 未解決のトークン (0A000E20) "public: void __thiscall tetgenio::save_nodes(char const *)" (?save_nodes@tetgenio@@$$FQAEXPBD@Z) 関数で参照されている "public: virtual bool __thiscall ForwardModelingPlugin::CustomMeshVol3D: :tesselate(void)" (?tesselate@CustomMeshVol3D@ForwardModelingPlugin@@$$FUAE_NXZ)

テスト関数を作成しようとしました:

...そしてヘッダーで定義された別の Testbis 関数。Testbis は機能し、Test は 2028 エラーを返します。

プロジェクトの .obj と作成された .lib を比較しました。lib には次のものがあります。

しかし、.obj では次のようになります。

それらは同じではないようです。

すべて /clr でコンパイルされます。どちらの方法でも同じ結果で、.lib と .dll の両方を作成しようとしました。

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

visual-studio - 1つのプロジェクトで/clrおよびnoclrライブラリを使用する

1つのプロジェクトでいくつかの問題が発生しています。2つのライブラリを使用する必要がありますが、一方は/clrスイッチでコンパイルする必要があります。もう一方はこのスイッチではコンパイルできないためです。

1つのプロジェクトでこれら2つのライブラリを同時に使用する方法はありますか?現在、でコンパイルされて/clrおり、ライブラリとのリンクエラーが発生しましたnoclr

解決策がない場合でも、noclrライブラリをバッチモードで起動できますが、回避したいのですが...

私のプロジェクトはマネージC++であり、ライブラリtetgen(/ clrが必要)はネイティブC ++であり、このエラーが発生するため、/clrスイッチなしではコンパイルできません。

エラーC3381:'tetgenio':アセンブリアクセス指定子は、/clrオプションでコンパイルされたコードでのみ使用できます

もう1つのライブラリの三角形はCです。私はVisualStudio2008を使用しており、プロジェクトは32ビットでコンパイルされています。

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

3d - この単純な3DジオメトリにTetGenを使用する方法

これが私の単純な3Dジオメトリを定義するポイントです。

次に、ファセットと頂点を準備します

次に、ボックスを使用した最も単純な例のドキュメントで説明されているのと同じ行でTetGenを使用します。

メッシュが生成されておらずTetGenGetPoints、頂点の再調整にも失敗していることがわかります。結果は非常に残念です。

ここに画像の説明を入力してください

なぜこの奇妙なことが起こっているのですか。TetGenのドキュメントも満足のいくものではありません。

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

c++ - Code::Blocks の「コンパイル スイッチ」はどこにありますか?

ここで用語の問題があります。助けていただければとてもうれしいです。これが何を意味するのかわかりません。

tetgen Web サイトでは、Windows でtetgen ライブラリをコンパイルする手順は次のとおりです。

ライブラリを作成するには、次の最小限の手順を実行します。

  • という名前のWin32 スタティック ライブラリを作成しますlibrary
  • すべてのソース ファイルをこのプロジェクトに追加します。
  • シンボルTETLIBRARYを追加してスイッチをコンパイルします。
  • プロジェクトをビルドします。

私はこの声明を理解していません:

シンボルTETLIBRARYを追加してスイッチをコンパイルします。

その方法と、 「コンパイル スイッチ」の意味を教えてください。

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

c++ - TetGen のデフォルトの動作を変更する

TetGen ライブラリを利用して点集合の凸包を見つけるコードを書いています。ただし、デフォルトでは

凸包3D Delaunay 四面体化の両方を生成します。Mathematica には Tetgen の実用的な実装とそれに対応する関数TetGenConvexHull[]があるため、凸包のみを取得することは可能であると信じる傾向がありますが、tetgen.cxxソースコードとドキュメントを調べた後、方法を見つけることができないようです.

凸包のみを取得するように TetGen のデフォルトの動作を変更するにはどうすればよいですか?