Houdini 20.0 VEX

ハーフエッジ

VEXには、エッジを非共有のフェース単位の“ハーフエッジ”として扱う機能があります。

On this page

概要

Houdiniでは、通常ではエッジは 方向性を持たず 、フェース間で 共有されている ものとして扱われます。 しかし、いくつかのタスク(例えば、ジオメトリの単純化やクリーン化)においては、複数のフェースを各フェース独自エッジを持つフェースとして表示すると便利です。

この絵では、方向性を持たない共有されたエッジを2つの ハーフエッジ に分割したものです。(もちろん境界エッジは1つの“ハーフエッジ”のみを持ちます。)

各ハーフエッジは、 方向性を持ちます (各ハーフエッジは、開始頂点と終了頂点を持ちます)。

ハーフエッジの関数は、ハーフエッジのソースとターゲットの頂点、次のハーフエッジを迅速に見つけたり、同じエッジから片方のハーフエッジを取得したり、 指定したポイントを共有したハーフエッジすべてを検索したりなど他の制御をすることができます。

Equivalence(等価)

2つのハーフエッジは、同じ共有エッジから“分割”されたものであれば 等価 です。 以下の図では、3つのプリミティブがエッジを共有しています。ハーフエッジ e , f , g は、同じエッジから分割されているので 等価 です。 方向性は問題ではありません。 つまり、それらのハーフエッジが反対方向であっても efg と等価であると見なされます。

ハーフエッジのソース(とターゲット)の頂点は、それぞれハーフエッジを区別します。つまり、ソースとして指定した頂点を持つハーフエッジが多くても1つある可能性があるということです。 これは、頂点が1つのプリミティブにのみ属することができるからです。 しかし、複数の頂点を同じポイントに接続することができるので、ハーフエッジは共有されたソースとターゲットの ポイント を持つことができます。 他に等価に関して考慮すべきことは、2つのハーフエッジが、それらの頂点が同じ2つのポイントで共有されている場合に等価であるという事です。

等価のハーフエッジのセットの1つは、そのクラスの プライマリ ハーフエッジと見なされます。 VEX関数は、指定したハーフエッジがプライマリかどうかチェックしたり、非プライマリハーフエッジを指定すると、それと等価のプライマリハーフエッジを検索することができます。 非共有エッジの場合、そのエッジは1個のプライマリハーフエッジしか持ちません。

関数

hedge_isvalid

ハーフエッジが有効かどうかチェックします。

hedge_isprimary

ハーフエッジがプライマリかどうかチェックします。

hedge_primary

プライマリ等価ハーフエッジを検索します。そのエッジが非共有エッジに属している場合、同じハーフエッジが返されます。

hedge_isequiv

2つのハーフエッジが等価かどうかテストします。

hedge_nextequiv

等価クラス内のハーフエッジを反復します。

hedge_equivcount

等価クラス内のハーフエッジの数を取得します。

hedge_srcvertex

ハーフエッジのソース頂点を取得します。

hedge_dstvertex

ハーフエッジのターゲット頂点を取得します。

hedge_presrcvertex

ハーフエッジプリミティブのソース頂点の先に立つ頂点を取得します。

hedge_postdstvertex

ハーフエッジプリミティブのターゲット頂点の後に続く頂点を取得します。

hedge_prim

ハーフエッジのプリミティブを取得します。

hedge_srcpoint

ハーフエッジのソースポイントを取得します。

hedge_dstpoint

ハーフエッジのターゲットポイントを取得します。

hedge_presrcpoint

ハーフエッジのプリソースポイントを取得します。

hedge_postdstpoint

ハーフエッジのポストターゲットポイントを取得します。

hedge_next

プリミティブ内の次のハーフエッジを取得します。

hedge_prev

プリミティブ内の前のハーフエッジを取得します。

pointedge

2つのポイント間のハーフエッジを検索します。

pointhedge

指定したソースとターゲットのポイントを持つハーフエッジを検索します。

pointhedge

指定したソースポイントを持つハーフエッジを検索します。

pointhedgenext

指定したソースポイントを持つハーフエッジを反復します。

vertexhedge

ソース頂点を持つハーフエッジを取得します。

primhedge

指定したプリミティブを持つハーフエッジを取得します。

VEX

言語

次のステップ

リファレンス