devel

src/Samples/MyEPApp も参照してください.)

SpringheadのIfクラスだけでなく,アプリケーションにおいて自前で用意したクラスも, swigを用いてPythonからアクセス可能にすることができます.

0. モジュール名をきめる

  • このサンプルでは MyEPApp です.
    • 含まれるクラス名とは必ずしも一致しなくて構いません.

1. 用意するファイル

  • クラスヘッダ(モジュール名.h)
  • .iファイル(モジュール名.i) %module や %ignore を適切に用意し, 最後に %include "モジュール名.h"
  • %module:モジュール名
  • %ignore:pythonからアクセスしなくて良いMyEPAppクラスのメソッド or コンパイルが通らないメソッドの除外(UTRefまわりで起きる)

書き換えるファイル

  • RunSwig.bat の先頭(MODULEやBINを適切にセットする)

ビルドの方法

  • RunSwig.batを走らせる
  • グルーコード,SprEPモジュール名.h, EPモジュール名.h,EPモジュール名.cppが生成される
  • ビルドする

実行前に

  • SprEPモジュール名.hとEPモジュール名.hをインクルードする(おそらくmain.cpp)
  • main関数内のinterpreter->Initialize();のあとで関数Initモジュール名();を呼ぶ
  • この関数はSprEPモジュール名.hで宣言されている
  • *Springhead関係はinterpreter->Initialize();で初期化されるが,
    	自前のものは初期化されないのでここでやっておく