%{ #include <GL/GLObject.h> #include <GL/GLContextData.h> #include <GL/GLModels.h> %} //------------------------------------------------------------------------------ // DataItem Class Interface // //------------------------------------------------------------------------------ %feature("director") DataItem; struct DataItem { virtual ~DataItem(void) { } }; //------------------------------------------------------------------------------ // GL::GLObject Class Interface // //------------------------------------------------------------------------------ NESTED_WORKAROUND_HELPER(GLObject, DataItem); %feature("director") GLObject; %include <GL/GLObject.h> /* Automatically disable garbage collection on DataItem objects */ %pythonprepend GLContextData::addDataItem(const GLObject* thing, GLObject::DataItem* dataItem) %{ args[1].__disown__() %} %import <GL/TLSHelper.h> //------------------------------------------------------------------------------ // GL::GLContextData Class Interface // //------------------------------------------------------------------------------ %warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) GLContextData::CurrentContextDataChangedCallbackData; %include <GL/GLContextData.h> %extend GLContextData { %template(retrieveDataItem) retrieveDataItem<DataItem>; }; //------------------------------------------------------------------------------ // GL::GLModels Interface // //------------------------------------------------------------------------------ %include <GL/GLModels.h>