スレッド表示 | 古いものから 投稿するには登録が必要です | 前のスレッド | 次のスレッド | 下へ |
投稿者 | スレッド |
---|---|
投稿数: 34
|
投稿日時: 2005-05-22 03:28 Re: finalize()関数に付いて |
開発部の高橋です。
ドキュメントの不備をお詫びします。 Python自体がC++からの呼び出しをサポートしているので、 プラグインからPythonを実行することは可能です。 ただ、現段階ではSDKとして有効な形ではサポートされていませんので、 ShadeのPythonスクリプトの機能は使えません。 dialog_interfaceに対してget_value、set_valueで PyObject経由の値の受け渡しはできますが、 値をintで渡すかPyInt_Typeで渡すのかという違いだけで、 型を変換する手間がちょっとだけ省ける程度でしかありません。 申し訳ありませんが、今後の課題とさせていただきます。 | |
投稿数: 308
|
投稿日時: 2005-05-20 21:55 Re: finalize()関数に付いて |
MASA_です。早速の回答有難うございます。
教えていただいた方法を試してみます。 ところでそう言えば、dialog_interface に新しく追加された PyObject* get_value (int index); void set_value (int index, PyObject* value); の使い方ってリファレンスにないですね。コーディングが 楽になりそうですが、PyObjectってPythonの型形式の オブジェクトですよね。Python関係の資料では、C++ でPythonオブジェクトを作る関数というのが紹介されてましたが それは、このSDKにあるのですか? | |
投稿数: 34
|
投稿日時: 2005-05-20 02:19 Re: finalize()関数に付いて |
イーフロンティア開発部の高橋です。
環境設定にアイテムを追加する場合は、property_list_interfaceではなくplugin_interfaceのappend_preference_items関数を使います。
環境設定が開かれるときに、常駐プラグインのappend_preference_itemsが呼ばれます。 その引数のdialog_interfacenに対してappend_item関数でアイテムを追加すると、環境設定のその他タブにアイテムが追加されます。 そして、環境設定のOKを押して閉じるときには、preference_ok関数が呼ばれますので、その引数のdialog_interfaceからアイテムの値を取得します。 取得する再に指定するアイテムidはappend_preference_itemsでアイテムを追加したappend_itemの戻り値を使用します。 | |
投稿数: 308
|
投稿日時: 2005-05-20 00:05 finalize()関数に付いて |
MASA_といいます。
今回、preference に付加的なアイテムを追加して見たいと 思い、preference_interfaceを取得して、さらにそこで property_list_interfaceを取得して、アイテムを 追加しようとしてます。 ところで掲題の finalize() 関数は、プラグインから、 プレファレンスの値が変更されたことを知るコールバック 関数と見えますが、実際の使い方は具体的にどうしたらいい のでしょうか? 通常コールバック関数は、それなりのinterface を継承した 新規クラスを定義してその中で再定義するような書き方をしますが、property_list_interfaceの場合、どうすればいいか よくわかりません。 | |
スレッド表示 | 古いものから 投稿するには登録が必要です | 前のスレッド | 次のスレッド | トップ |