このアイデアの実現可能性を評価しようとしています。
モデリング プログラムには、かなり深い HasTraits オブジェクトのスタックがあります。たとえば、2 つのマテリアルをモデリングしている場合、これらのさまざまな属性にアクセスできます。
Layer.Material1.Shell.index_of_refraction
Layer.Material5.Medium.index_of_refraction
このコードをシミュレーションに使用しました。ここでは、特性の値をインクリメントするだけです。たとえば、これらのマテリアルの 1 つの index_of_refraction が 10 回の反復で 1.3 から 1.6 に変化するシミュレーションを実行できます。それは実際には非常にうまく機能しています。
問題は、シミュレーションに必要な特性を選択することです。ユーザーはこれらすべてのトレイト変数名を知っているわけではないため、プログラムのトレイト構造全体の階層/ツリー ビューを提示したいと考えました。上記の 2 つの特性については、次のようになります。
Layer
- Material1
- Shell
- index_of_refraction
- Material2
- Medium
- index_of_refraction
等...
traitsui が TreeEditor をサポートしていることは知っていますが、このような HasTraits スタックの検査に基づいて TreeEditor を構築する例はありますか? オブジェクトから特性のスタックを取得する最も簡単な方法は何ですか? 本質的に、このアイデアは実現可能ですか、それとも最初からやり直す必要がありますか?
ありがとう