メソッド ¶
__init__(node_or_parm)
新しいScriptEvalContextコンテキストマネージャを構築します。
このメソッドをwith
コードブロック内で使用すると、ノードとパラメータの評価は、データの依存関係を追加する時に、この引数を使って相対パスを解決します。
そのコードブロックは、それに応じてhou.pwd()も変更されます。
ノードを指定して構築した場合、このメソッドはhou.setPwd()のコールと同じ挙動になり、 コードブロックが終了すると古いノードに戻ります。 例えば、
with hou.scriptEvalContext(some_node): print hou.pwd() # some_nodeのパスをプリントします。
は、
old_node = hou.pwd() hou.setPwd(some_node) print hou.pwd() # some_nodeのパスをプリントします。 hou.setPwd(old_node)
と等価です。
パラメータを指定した構築した場合、コードブロック内のノードとパラメータの相対パスは、そのパラメータを所有するノードによって解決されます。 データの依存関係は、参照パラメータまたは参照ノードからこのパラメータに追加されます。 これは、hou.evaluatingParm()が返す内容を変更します。 以下がその例です:
with hou.scriptEvalContext(some_parameter): # some_parameterを所有するノードのパスをプリントします。 print hou.pwd() # some_parameterのパスをプリントします。 print hou.evaluatingParm() # データの依存関係を兄弟のtestからsome_parameterに追加します。 x = ch("test")
parm()
このコンテキストに対するhou.Parmを返します。
このコンテキストがhou.OpNodeから作成されていた場合はNone
を返します。
See also |