On this page | |
Inheritance |
|
概要 ¶
例えば、ジオメトリノードの出力の参照を取得したとします:
>>> mygeo = hou.node("/obj/geo1/sphere1").geometry()
その参照を取得した後に、何かが変更されてノードの再クックをして、その再クックが失敗した場合、mygeo
が参照していたジオメトリは無効となります。
そのmygeo
にアクセスしようとすると、この例外が発生します。
>>> points = mygeo.points() hou.InvalidGeometry: ...
Tipsとメモ ¶
-
現在エラーになっているノードに対して
.geometry()
をコールすると、無効なhou.GeometryオブジェクトではなくNone
が取得されます。 -
Geometry
オブジェクトを使用する前に、hou.Geometry.isValidを使ってそのオブジェクトが有効かどうかをチェックすることができます。if mygeo.isValid(): points = mygeo.points()
-
クッキングメカニズム“外”のコードでジオメトリを掴むと、ジオメトリ参照が無効になっていることがあります。コードを(例えば、Python SOPで)クックの 一部 として実行すれば、有効な
Geometry
参照はスクリプト中でも有効なままになります。
¶
Methods from hou.Error ¶
description()
→ str
例外のクラスの説明を返します。この説明は、例外インスタンスには関係ありません。
exceptionTypeName()
→ str
例外タイプの名前を返します。
異なるサブクラスのhou.Errorのインスタンスは、異なる名前を返します。
基底クラスのインスタンスは、"Error"
を返します。
str(e.__class__)
を使用することで、そのサブクラスの名前を取得することもできます。
instanceMessage()
→ str
例外インスタンス固有のメッセージを返します。