RubyとC言語のライブラリをつなぐ方法について教えてください。


ODEという物理シミュレーションライブラリをRubyから使おうとしているのですが、行き詰まりました。

詳細はここ
http://d.hatena.ne.jp/urekat/20070618
に書いたのですが、
C++のAPIをつなぐ部分にSWIGを、
コールバックで受ける部分にRuby/DLを使っています。

下記の2点を教えてください。
・Ruby/DLでの配列を値渡しする関数の呼び出し方(dsSetViewpoint)
DS_API void dsSetViewpoint (float xyz[3], float hpr[3]);

・配列のポインタを返す関数(getRotation)をRubyの変数の配列に変換する方法
ODE_API const dReal * dBodyGetRotation (dBodyID);
dReal[12]の配列へのポインタだとおもいます。

SWIGもRuby/DLも初めてつかうのでおかしなところがあると思いますが、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/06/22 07:26:18
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:TNIOP No.1

回答回数2344ベストアンサー獲得回数58

http://lss.eternity.ne.jp/new/class.php?189

こちらを参考にしてみてください。

  • id:urekat
    http://d.hatena.ne.jp/urekat/20070619/1182249335
    値渡しじゃないですね。
    floatのポインタを渡してるだけっすね??

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません