関数
decode(str) -> str
HoudiniのVEX変数名には、英数字とアンダースコアのみが許可されており、且つ、数字から始まる名前は許可されていません。
任意の文字列をencode
メソッドの引数に渡すことで、それらの制限に準拠した文字列を生成することができます。
このメソッドは、そのencode
メソッドで暗号化した文字列を受け取って、その暗号化前の文字列を返します。
暗号化していない文字列は、そのままの文字列で返されます。
>>> hou.decode('xn__foobar_rla') 'foo:bar' >>> hou.decode('safe_name') 'safe_name'
encode(str) -> str
HoudiniのVEX変数名には、英数字とアンダースコアのみが許可されており、且つ、数字から始まる名前は許可されていません。
このメソッドは、任意の文字列を受け取って、これらの制限に準拠した文字列に暗号化します。
decode
メソッドを使用することで、暗号化前の文字列を復元することができます。
これらの制限に既に準拠した文字列は、そのままの文字列で返されます。
この規則の例外として、xn__
で始まる文字列は、それが既に有効な変数名であるにも関わらず暗号化されることです。
この理由は、暗号化された文字列であることを識別するために使用されている接頭辞がxn__
だからです。
この場合、さらにxn__
接頭辞が追加されてしまいます。
これは、そのような文字列を何回も暗号化すると、それと同じ数だけ復元されて、その内容に関わらず常にオリジナルの文字列に戻されることを意味します。
>>> hou.text.encode('foo:bar') 'xn__foobar_rla' >>> hou.text.encode('safe_name') 'safe_name'
decodeAttrib(str) -> str
Houdiniのジオメトリアトリビュート名とグループ名には、英数字とアンダースコアのみが許可されており、且つ、数字から始まる名前は許可されていません。
任意の文字列をencodeattrib
メソッドの引数に渡すことで、それらの制限に準拠した文字列を生成することができます。
このメソッドは、そのencodeattrib
メソッドで暗号化した文字列を受け取って、その暗号化前の文字列を返します。
暗号化していない文字列は、そのままの文字列で返されます。
>>> hou.decodeAttrib('xn__foobar_rla') 'foo:bar' >>> hou.decodeAttrib('safe_name') 'safe_name'
encodeAttrib(str) -> str
Houdiniのジオメトリアトリビュート名とグループ名には、英数字とアンダースコアのみが許可されており、且つ、数字から始まる名前は許可されていません。
このメソッドは、任意の文字列を受け取り、これらの制限に準拠した文字列に暗号化します。
decodeattrib
メソッドを使用することで、暗号化前の文字列に復元することができます。
これらの制限に既に準拠した文字列は、そのままの文字列で返されます。
この規則の例外として、xn__
で始まる文字列は、それが既に有効なアトリビュート名であるにも関わらず暗号化されることです。
この理由は、暗号化された文字列であることを識別するために使用されている接頭辞がxn__
だからです。
この場合、さらにxn__
接頭辞が追加されてしまいます。
これは、そのような文字列を何回も暗号化すると、それと同じ数だけ復元されて、その内容に関わらず常にオリジナルの文字列に戻されることを意味します。
>>> hou.text.encodeAttrib('foo:bar') 'xn__foobar_rla' >>> hou.text.encodeAttrib('safe_name') 'safe_name'
decodeParm(str) -> str
Houdiniのパラメータ名には、英数字、ハッシュ文字(multiparms用)、アンダースコアのみが許可されており、且つ、数字から始まる名前は許可されていません。
任意の文字列をencodeparm
メソッドの引数に渡すことで、それらの制限に準拠した文字列を生成することができます。
このメソッドは、encodeparm
メソッドで暗号化した文字列を受け取って、その暗号化前の文字列を返します。
暗号化していない文字列は、そのままの文字列で返されます。
>>> hou.decodeParm('xn__foobar_rla') 'foo:bar' >>> hou.decodeParm('safe_name') 'safe_name'
encodeParm(str) -> str
Houdiniのパラメータ名には、英数字、ハッシュ文字(multiparms用)、アンダースコアのみが許可されており、且つ、数字から始まる名前は許可されていません。
このメソッドは、任意の文字列を受け取り、これらの制限に準拠した文字列に暗号化します。
decodeparm
メソッドを使用することで、暗号化前の文字列に復元することができます。
これらの制限に既に準拠した文字列は、そのままの文字列で返されます。
この規則の例外として、xn__
で始まる文字列は、それが既に有効なパラメータ名であるにも関わらず暗号化されることです。
この理由は、暗号化された文字列であることを識別するために使用されている接頭辞がxn__
だからです。
この場合、さらにxn__
接頭辞が追加されてしまいます。
これは、そのような文字列を何回も暗号化すると、それと同じ数だけ復元されて、その内容に関わらず常にオリジナルの文字列に戻されることを意味します。
>>> hou.text.encodeParm('foo:bar') 'xn__foobar_rla' >>> hou.text.encodeParm('safe_name') 'safe_name'
expandString(str) -> str
エクスプレッション内のグローバル変数を展開します。 例えば、Houdiniがフレーム10の時:
>>> hou.expandStringAtFrame('$F') '10'
他にも、以下の例のチャンネル参照のようにバッククォートで閉じられたHScriptエクスプレッションを展開します。
これは、現行フレームでのgeo1
のtranslate Xパラメータの値を文字列で返します:
hou.expandStringAtFrame('`ch("/obj/geo1/tx")`')
この関数は、まるでアニメーションなしのテキストパラメータの内容であるかのように文字列を評価します。 そのままHScriptエクスプレッション(バッククォートなし)を評価したいのであれば、hou.hscriptExpression()を使用します。
最初の引数がNone
であれば、hou.OperationFailed
例外が引き起こされます。
>>> hou.expandString("$HIP/file.geo") '/dir/containing/hip/file/file.geo' >>> hou.expandString("file`$F+1`.pic") 'file2.pic'
expandStringAtFrame(str, frame_number) -> str
エクスプレッション内のグローバル変数を展開します。例:
>>> hou.expandStringAtFrame('$F', 10) '10'
他にも、以下の例のチャンネル参照のようにバッククォートで閉じられたHScriptエクスプレッションを展開します。
これは、現行フレームでのgeo1
のtranslate Xパラメータの値を文字列で返します:
hou.expandStringAtFrame('`ch("/obj/geo1/tx")`', hou.frame())
この関数は、まるでアニメーションなしのテキストパラメータの内容であるかのように文字列を評価します。 そのままHScriptエクスプレッション(バッククォートなし)を評価したいのであれば、hou.hscriptExpression()を使用します。
最初の引数がNone
であれば、hou.OperationFailed
例外が引き起こされます。
incrementNumberedString(str) -> str
文字列が数値で終わっている場合、その数値を増分して、その結果の新しい文字列を返します。 文字列が数値で終わっていない場合、その文字列の最後に数値を追加します。 これは、Houdiniがネットワーク内で固有の名前の子ノードを生成する際に使用するアルゴリズムです。
>>> hou.incrementNumberedString('name1') 'name2' >>> hou.incrementNumberedString('name199') 'name200' >>> hou.incrementNumberedString('name') 'name2' >>> hou.incrementNumberedString('') '2'
abspath(path, base_path = None) -> str
指定したパスを絶対パスに変換して返します。
相対パスは、base_path
で指定したディレクトリを基準に扱われます。
指定したパスが既に絶対パスだった場合、そのパスがそのまま返されます。
base_path
を指定しなかった場合、この値にはHoudiniの現行作業ディレクトリが使用されます。
ファイルは存在している必要はありません。
relpath(path, base_path = None) -> str
指定したパスをbase_path
で指定したディレクトリを基準とした相対パスに変換して返します。
base_path
を指定しなかった場合、この値にはHoudiniの現行作業ディレクトリが使用されます。
ファイルは存在している必要はありません。
normpath(path) -> str
指定したパスを標準化したパスで返します。 つまり、(Windowsでだろうと)すべてのパスセパレータがスラッシュで表現されます。 余計なスラッシュは単一スラッシュに置換されます。 パスの途中にある相対パス部分は折り畳まれます。
>>> hou.text.normpath('http://foo/bar/..//something') 'http://foo/something' >>> hou.text.normpath('\\foo\\bar\\something\\') '/foo/bar/something' >>> hou.text.normpath('../../foo/../bar/../something') '../../something'
collapseCommonVars(path, vars = ['$HIP', '$JOB']) -> str
指定したvars
リストを介して渡された変数を展開した文字列でpath
が始まっているかどうかをテストします。
そうなっていた場合、その展開した文字列の部分は、それに該当する変数に置換されます。
例えば、$HIP
が/home/user/hips
で、path
が/home/user/hips/file.hip
の場合、返される文字列は$HIP/file.hip
になります。