1

Boost.Python と SFML を使用するプロジェクトがあります。私のオブジェクトの多くは SFML 型を公開していますが、ホイールを再現しないために、SFML の Python バインディングによってラップされた独自のバインディングからオブジェクトを返したいと考えています。たとえば、次のクラスがあります。

class MyThing
{
public:
    sf::Image& image() { return _image; }

private:
    sf::Image _image;
};

バインディングは次のようになります。

class_<MyThing>("MyThing")
    .add_property("image", make_function(&MyThing::image, return_internal_reference<1>()))
    ;

もちろん、Boost.Python の変換レジストリが認識していないため(SFML の Python バインディングは Cython で行われます) 、実際にmything.imagePython からにアクセスしようとすると が生成されます。TypeError: No Python class registered for C++ class sf::Imagesf::Image

Boost.Python 変換レジストリに、sf::Image型を SFML の Python バインディングの型でラップするように指示する方法はありますか?

4

0 に答える 0