辞書型をEnumのように使う

VEXを使っているとどうしてもEnumのような変数を使いたい場合があります。辞書型を使ってEnumのような使い方をしてみる。

Null SOPを用意する。

Edit Parameter Interfaceの画面を開き、Key-Value Dictionaryを追加する。名前はGenderとした。

NONE、FEMALE、MALEと入力し、それぞれに0, 1, 2と設定した。

// Null SOPからディクショナリ情報を取得
dict Gender = chdict("../Enum/Gender");

// 変数に値を設定する場合
int gender = atoi(Gender["MALE"]);

// 値を判別する場合
if(gender == atoi(Gender["FEMALE"]))
{
}

Wrangle SOPでこのように記述して、Enumを使っているような操作ができる。

環境:Houdini 19.5.752

タイトルとURLをコピーしました