静的コールバック関数を必要とする外部ライブラリに対してプログラミングしています。コールバックを静的として宣言しましたが、このコールバックで変更したいオブジェクト プロパティへのアクセスが失われました。
.h
static void selCallback(void* userData, SoPath* selPath);
.cpp
void MyClass::selCallback(void* userData, SoPath* selPath) {
classProperty = 3;
}
現在のオブジェクト プロパティにアクセスしながら静的コールバックを作成する方法はありますか? 私が使用するライブラリは openInventor ライブラリです。コールバックの接続は、次のコードで行われます。
SoSelection *selNode = new SoSelection;
selNode->addSelectionCallback(MyClass::selCallback);