すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ST_3DIntersection

最終更新日:Mar 29, 2026

ST_3DIntersection は、3D メッシュオブジェクトをバウンディングボックスまたは別のメッシュに対してクリッピングし、クリッピング境界内に含まれるメッシュの部分を返します。

構文

sfmesh ST_3DIntersection(sfmesh sfmeshObject, box3d box);
sfmesh ST_3DIntersection(sfmesh sfmeshObject, meshgeom geom);

パラメーター

パラメーター説明
sfmeshObjectsfmesh オブジェクトをクリッピング対象として指定します。
boxクリッピングの対象となる box3d バウンディングボックス。
geomクリッピング境界として使用する閉じた meshgeom オブジェクトを指定します。このオブジェクトは必ず閉じている必要があります。

戻り値

交差したジオメトリを表す sfmesh オブジェクトを返します。返されたメッシュ上の UV 座標および法線値は、元の sfmeshObject と同期されます。

動作

ST_3DIntersection は、異なるクリッピング動作を持つ 2 つのオーバーロードをサポートしています。

  • sfmesh + box3d:バウンディングボックスの軸を整列させ、メッシュをクリッピングした後、交差部分を返します。

  • sfmesh + meshgeom:閉じたメッシュ境界に対して直接メッシュをクリッピングし、交差部分を返します。meshgeom オブジェクトは必ず閉じている必要があります。

バウンディングボックスに対するメッシュのクリッピング

次の例では、ST_3DMakeSphere で作成した球体を単位サイズのバウンディングボックスに対してクリッピングし、結果のメッシュに含まれるパッチ数を返します。

SELECT ST_NumPatches(ST_3DIntersection(ST_3DMakeSphere(1.0, 5), 'BOX3D(0 0 0, 1 1 1)'::box3d));

実行結果:

2608