26 #include "../generic/py_capi_utils.h"
28 #ifdef WITH_OPENSUBDIV
35 {
"supported",
"Boolean, True when Blender is built with OpenSubdiv support"},
36 {
"version",
"The OpenSubdiv version as a tuple of 3 numbers"},
37 {
"version_string",
"The OpenSubdiv version formatted as a string"},
43 "This module contains information about OpenSubdiv blender is linked against",
50 PyObject *opensubdiv_info;
54 if (opensubdiv_info ==
NULL) {
58 #ifndef WITH_OPENSUBDIV
59 # define SetStrItem(str) \
60 PyStructSequence_SET_ITEM(opensubdiv_info, pos++, PyUnicode_FromString(str))
63 #define SetObjItem(obj) PyStructSequence_SET_ITEM(opensubdiv_info, pos++, obj)
65 #ifdef WITH_OPENSUBDIV
70 "%2d, %2d, %2d", curversion / 10000, (curversion / 100) % 100, curversion % 100));
78 Py_DECREF(opensubdiv_info);
85 return opensubdiv_info;
PyObject * BPY_app_opensubdiv_struct(void)
static PyStructSequence_Field app_opensubdiv_info_fields[]
static PyStructSequence_Desc app_opensubdiv_info_desc
static PyTypeObject BlenderAppOpenSubdivType
static PyObject * make_opensubdiv_info(void)
int openSubdiv_getVersionHex(void)
#define PyC_Tuple_Pack_I32(...)