int [] pcfind_radius(<geometry>geometry, string Pchannel, string RadChannel, float radscale, vector P, float radius, int maxpoints)
int [] pcfind_radius(<geometry>geometry, string ptgroup, string Pchannel, string RadChannel, float radscale, vector P, float radius, int maxpoints)
int [] pcfind_radius(<geometry>geometry, string Pchannel, string RadChannel, float radscale, vector P, float radius, int maxpoints, float &distances[])
int [] pcfind_radius(<geometry>geometry, string ptgroup, string Pchannel, string RadChannel, float radscale, vector P, float radius, int maxpoints, float &distances[])
<geometry>
ノード(例えばWrangle SOP)のコンテキスト内で実行する時は、この引数にジオメトリの読み込み元の入力番号(0から始まります)を意味する整数を指定することができます。
別の方法として、読み込み元のジオメトリファイル(例えば、.bgeo
)を示した文字列を指定することができます。
Houdini内で実行する時は、この引数にop:/path/to/sop
参照を指定することができます。
これらの関数は、ジオメトリファイルを開き、Pchannelで見つかったポイント位置からradius以内にあるP位置のポイントのリストを返します。
各ポイントの範囲は、RadChannelアトリビュートで拡張され、radscaleで膨張されます。
radscaleは、球までの距離を計算する際にその球をスケールするpscale
アトリビュートのサイズをスケールします。
0
の値だと、球がポイントになり、その距離はプラスの値だけになります。
半径チャンネルを使うと、色々な半径の球間での交差検出が可能になります。 この場合、交差している球の半径が非常に大きくて検索ウィンドウ内にないので、あなた自身の球半径だけを使用することができません。 これが原因で、検索する位置が内側にあるソース球のすべてを検索するためだけに、この関数に0.0 radiusを使うことも理にかなっています。
指定した半径内にあるmaxpoints個までの最近接ポイントのみが返されます。
filename
にop:
構文を使用すれば、OPコンテキスト内のSOPジオメトリを参照することができます。
Pchannelパラメータは、検索される位置を含むアトリビュートを意味します。
見つかったパーティクルの表面までの距離も照会することができます。 そのパーティクルに半径がある場合、ポイント位置がそのパーティクルの内側にある時に、その距離を0にクランプしたり、または、符号付き距離フィールドと同様にマイナス値にすることができます。 後者の場合、その結果に対してもっと柔軟な解釈ができるようになります。
ptgroupは、検索するポイントを制限するためのポイントグループです。
これは、SOP形式のグループパターンなので、0-10
や@Cd.x>0.5
のようなパターンを使うことができます。
空っぽの文字列は、すべてのポイントと見なします。
他にも、この関数は、オプションでfloat配列のdistances
を指定することができ、その配列に各ポイントまでの距離が入ります。
Note
半径アトリビュートと半径スケールは、検索されたポイントに適用され、検索に使用しているポイントには適用されません!
Note
半径アトリビュートが存在しなかった場合、これはpcfind
と等価です。
Examples ¶
近接ポイントの検索:
int closept[] = pcfind_radius(filename, "P", "pscale", 1.0, P, maxdistance, maxpoints); P = 0; foreach (int ptnum; closept) { vector closepos = point(filename, "P", ptnum); P += closepos; } P /= len(closept);
See also | |
proximity | |
ptcloud |
|