53 "Class to define a set of attributes associated with a :class:`StrokeVertex`.\n"
54 "The attribute set stores the color, alpha and thickness values for a Stroke\n"
57 ".. method:: __init__()\n"
58 " __init__(brother)\n"
59 " __init__(red, green, blue, alpha, thickness_right, thickness_left)\n"
60 " __init__(attribute1, attribute2, t)\n"
62 " Creates a :class:`StrokeAttribute` object using either a default constructor,\n"
63 " copy constructor, overloaded constructor, or and interpolation constructor\n"
64 " to interpolate between two :class:`StrokeAttribute` objects.\n"
66 " :arg brother: A StrokeAttribute object to be used as a copy constructor.\n"
67 " :type brother: :class:`StrokeAttribute`\n"
68 " :arg red: Red component of a stroke color.\n"
70 " :arg green: Green component of a stroke color.\n"
71 " :type green: float\n"
72 " :arg blue: Blue component of a stroke color.\n"
73 " :type blue: float\n"
74 " :arg alpha: Alpha component of a stroke color.\n"
75 " :type alpha: float\n"
76 " :arg thickness_right: Stroke thickness on the right.\n"
77 " :type thickness_right: float\n"
78 " :arg thickness_left: Stroke thickness on the left.\n"
79 " :type thickness_left: float\n"
80 " :arg attribute1: The first StrokeAttribute object.\n"
81 " :type attribute1: :class:`StrokeAttribute`\n"
82 " :arg attribute2: The second StrokeAttribute object.\n"
83 " :type attribute2: :class:`StrokeAttribute`\n"
84 " :arg t: The interpolation parameter (0 <= t <= 1).\n"
89 static const char *kwlist_1[] = {
"brother",
nullptr};
90 static const char *kwlist_2[] = {
"attribute1",
"attribute2",
"t",
nullptr};
91 static const char *kwlist_3[] = {
92 "red",
"green",
"blue",
"alpha",
"thickness_right",
"thickness_left",
nullptr};
93 PyObject *obj1 =
nullptr, *obj2 =
nullptr;
96 if (PyArg_ParseTupleAndKeywords(
105 else if ((
void)PyErr_Clear(),
106 PyArg_ParseTupleAndKeywords(args,
118 else if ((
void)PyErr_Clear(),
119 PyArg_ParseTupleAndKeywords(args,
132 PyErr_SetString(PyExc_TypeError,
"invalid argument(s)");
135 self->borrowed =
false;
144 Py_TYPE(
self)->tp_free((PyObject *)
self);
149 stringstream repr(
"StrokeAttribute:");
150 repr <<
" r: " <<
self->sa->getColorR() <<
" g: " <<
self->sa->getColorG()
151 <<
" b: " <<
self->sa->getColorB() <<
" a: " <<
self->sa->getAlpha()
152 <<
" - R: " <<
self->sa->getThicknessR() <<
" L: " <<
self->sa->getThicknessL();
154 return PyUnicode_FromString(repr.str().c_str());
158 ".. method:: get_attribute_real(name)\n"
160 " Returns an attribute of float type.\n"
162 " :arg name: The name of the attribute.\n"
164 " :return: The attribute value.\n"
171 static const char *kwlist[] = {
"name",
nullptr};
174 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"s", (
char **)kwlist, &attr)) {
177 double a =
self->sa->getAttributeReal(attr);
178 return PyFloat_FromDouble(
a);
182 ".. method:: get_attribute_vec2(name)\n"
184 " Returns an attribute of two-dimensional vector type.\n"
186 " :arg name: The name of the attribute.\n"
188 " :return: The attribute value.\n"
189 " :rtype: :class:`mathutils.Vector`\n");
195 static const char *kwlist[] = {
"name",
nullptr};
198 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"s", (
char **)kwlist, &attr)) {
201 Vec2f a =
self->sa->getAttributeVec2f(attr);
206 ".. method:: get_attribute_vec3(name)\n"
208 " Returns an attribute of three-dimensional vector type.\n"
210 " :arg name: The name of the attribute.\n"
212 " :return: The attribute value.\n"
213 " :rtype: :class:`mathutils.Vector`\n");
219 static const char *kwlist[] = {
"name",
nullptr};
222 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"s", (
char **)kwlist, &attr)) {
225 Vec3f a =
self->sa->getAttributeVec3f(attr);
230 ".. method:: has_attribute_real(name)\n"
232 " Checks whether the attribute name of float type is available.\n"
234 " :arg name: The name of the attribute.\n"
236 " :return: True if the attribute is available.\n"
243 static const char *kwlist[] = {
"name",
nullptr};
246 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"s", (
char **)kwlist, &attr)) {
253 ".. method:: has_attribute_vec2(name)\n"
255 " Checks whether the attribute name of two-dimensional vector type\n"
258 " :arg name: The name of the attribute.\n"
260 " :return: True if the attribute is available.\n"
267 static const char *kwlist[] = {
"name",
nullptr};
270 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"s", (
char **)kwlist, &attr)) {
277 ".. method:: has_attribute_vec3(name)\n"
279 " Checks whether the attribute name of three-dimensional vector\n"
280 " type is available.\n"
282 " :arg name: The name of the attribute.\n"
284 " :return: True if the attribute is available.\n"
291 static const char *kwlist[] = {
"name",
nullptr};
294 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"s", (
char **)kwlist, &attr)) {
301 ".. method:: set_attribute_real(name, value)\n"
303 " Adds a user-defined attribute of float type. If there is no\n"
304 " attribute of the given name, it is added. Otherwise, the new value\n"
305 " replaces the old one.\n"
307 " :arg name: The name of the attribute.\n"
309 " :arg value: The attribute value.\n"
310 " :type value: float\n");
316 static const char *kwlist[] = {
"name",
"value",
nullptr};
320 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"sd", (
char **)kwlist, &s, &d)) {
323 self->sa->setAttributeReal(s, d);
328 ".. method:: set_attribute_vec2(name, value)\n"
330 " Adds a user-defined attribute of two-dimensional vector type. If\n"
331 " there is no attribute of the given name, it is added. Otherwise,\n"
332 " the new value replaces the old one.\n"
334 " :arg name: The name of the attribute.\n"
336 " :arg value: The attribute value.\n"
337 " :type value: :class:`mathutils.Vector`, list or tuple of 2 real numbers\n");
343 static const char *kwlist[] = {
"name",
"value",
nullptr};
345 PyObject *obj =
nullptr;
348 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"sO", (
char **)kwlist, &s, &obj)) {
352 PyErr_SetString(PyExc_TypeError,
353 "argument 2 must be a 2D vector (either a list of 2 elements or Vector)");
356 self->sa->setAttributeVec2f(s, vec);
361 ".. method:: set_attribute_vec3(name, value)\n"
363 " Adds a user-defined attribute of three-dimensional vector type.\n"
364 " If there is no attribute of the given name, it is added.\n"
365 " Otherwise, the new value replaces the old one.\n"
367 " :arg name: The name of the attribute.\n"
369 " :arg value: The attribute value.\n"
370 " :type value: :class:`mathutils.Vector`, list or tuple of 3 real numbers\n");
376 static const char *kwlist[] = {
"name",
"value",
nullptr};
378 PyObject *obj =
nullptr;
381 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"sO", (
char **)kwlist, &s, &obj)) {
385 PyErr_SetString(PyExc_TypeError,
386 "argument 2 must be a 3D vector (either a list of 3 elements or Vector)");
389 self->sa->setAttributeVec3f(s, vec);
394 {
"get_attribute_real",
396 METH_VARARGS | METH_KEYWORDS,
397 StrokeAttribute_get_attribute_real_doc},
398 {
"get_attribute_vec2",
400 METH_VARARGS | METH_KEYWORDS,
401 StrokeAttribute_get_attribute_vec2_doc},
402 {
"get_attribute_vec3",
404 METH_VARARGS | METH_KEYWORDS,
405 StrokeAttribute_get_attribute_vec3_doc},
406 {
"has_attribute_real",
408 METH_VARARGS | METH_KEYWORDS,
409 StrokeAttribute_has_attribute_real_doc},
410 {
"has_attribute_vec2",
412 METH_VARARGS | METH_KEYWORDS,
413 StrokeAttribute_has_attribute_vec2_doc},
414 {
"has_attribute_vec3",
416 METH_VARARGS | METH_KEYWORDS,
417 StrokeAttribute_has_attribute_vec3_doc},
418 {
"set_attribute_real",
420 METH_VARARGS | METH_KEYWORDS,
421 StrokeAttribute_set_attribute_real_doc},
422 {
"set_attribute_vec2",
424 METH_VARARGS | METH_KEYWORDS,
425 StrokeAttribute_set_attribute_vec2_doc},
426 {
"set_attribute_vec3",
428 METH_VARARGS | METH_KEYWORDS,
429 StrokeAttribute_set_attribute_vec3_doc},
430 {
nullptr,
nullptr, 0,
nullptr},
436 #define MATHUTILS_SUBTYPE_COLOR 1
437 #define MATHUTILS_SUBTYPE_THICKNESS 2
452 bmo->data[0] =
self->sa->getColorR();
453 bmo->data[1] =
self->sa->getColorG();
454 bmo->data[2] =
self->sa->getColorB();
457 bmo->data[0] =
self->sa->getThicknessR();
458 bmo->data[1] =
self->sa->getThicknessL();
471 self->sa->setColor(bmo->data[0], bmo->data[1], bmo->data[2]);
474 self->sa->setThickness(bmo->data[0], bmo->data[1]);
489 bmo->data[0] =
self->sa->getColorR();
492 bmo->data[1] =
self->sa->getColorG();
495 bmo->data[2] =
self->sa->getColorB();
504 bmo->data[0] =
self->sa->getThicknessR();
507 bmo->data[1] =
self->sa->getThicknessL();
524 float r = (index == 0) ? bmo->data[0] :
self->sa->getColorR();
525 float g = (index == 1) ? bmo->data[1] :
self->sa->getColorG();
526 float b = (index == 2) ? bmo->data[2] :
self->sa->getColorB();
527 self->sa->setColor(
r, g, b);
530 float tr = (index == 0) ? bmo->data[0] :
self->sa->getThicknessR();
531 float tl = (index == 1) ? bmo->data[1] :
self->sa->getThicknessL();
532 self->sa->setThickness(tr, tl);
558 "Alpha component of the stroke color.\n"
564 return PyFloat_FromDouble(
self->sa->getAlpha());
572 if ((scalar = PyFloat_AsDouble(value)) == -1.0f && PyErr_Occurred()) {
574 PyErr_SetString(PyExc_TypeError,
"value must be a number");
577 self->sa->setAlpha(scalar);
582 "RGB components of the stroke color.\n"
584 ":type: :class:`mathutils.Color`");
600 self->sa->setColor(
v[0],
v[1],
v[2]);
605 "Right and left components of the stroke thickness.\n"
606 "The right (left) component is the thickness on the right (left) of the vertex\n"
607 "when following the stroke.\n"
609 ":type: :class:`mathutils.Vector`");
625 self->sa->setThickness(
v[0],
v[1]);
630 "The visibility flag. True if the StrokeVertex is visible.\n"
643 if (!PyBool_Check(value)) {
644 PyErr_SetString(PyExc_TypeError,
"value must be boolean");
655 StrokeAttribute_alpha_doc,
660 StrokeAttribute_color_doc,
665 StrokeAttribute_thickness_doc,
670 StrokeAttribute_visible_doc,
672 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr}
678 PyVarObject_HEAD_INIT(
nullptr, 0)
"StrokeAttribute",
696 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
PyObject * Vector_from_Vec3f(Vec3f &vec)
PyObject * PyBool_from_bool(bool b)
bool bool_from_PyBool(PyObject *b)
bool Vec3f_ptr_from_PyObject(PyObject *obj, Vec3f &vec)
bool Vec2f_ptr_from_PyObject(PyObject *obj, Vec2f &vec)
PyObject * Vector_from_Vec2f(Vec2f &vec)
static int StrokeAttribute_color_set(BPy_StrokeAttribute *self, PyObject *value, void *UNUSED(closure))
static unsigned char StrokeAttribute_mathutils_cb_index
static PyObject * StrokeAttribute_color_get(BPy_StrokeAttribute *self, void *UNUSED(closure))
static int StrokeAttribute_init(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
static PyObject * StrokeAttribute_get_attribute_real(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
static PyObject * StrokeAttribute_set_attribute_vec3(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
static int StrokeAttribute_mathutils_set(BaseMathObject *bmo, int subtype)
static PyObject * StrokeAttribute_alpha_get(BPy_StrokeAttribute *self, void *UNUSED(closure))
static PyObject * StrokeAttribute_get_attribute_vec2(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
static int StrokeAttribute_visible_set(BPy_StrokeAttribute *self, PyObject *value, void *UNUSED(closure))
PyTypeObject StrokeAttribute_Type
static int StrokeAttribute_alpha_set(BPy_StrokeAttribute *self, PyObject *value, void *UNUSED(closure))
static PyObject * StrokeAttribute_set_attribute_vec2(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
#define MATHUTILS_SUBTYPE_THICKNESS
static PyObject * StrokeAttribute_has_attribute_vec2(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
static PyObject * StrokeAttribute_has_attribute_vec3(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
static PyObject * StrokeAttribute_repr(BPy_StrokeAttribute *self)
static int StrokeAttribute_mathutils_get_index(BaseMathObject *bmo, int subtype, int index)
void StrokeAttribute_mathutils_register_callback()
static PyMethodDef BPy_StrokeAttribute_methods[]
static Mathutils_Callback StrokeAttribute_mathutils_cb
static PyGetSetDef BPy_StrokeAttribute_getseters[]
static PyObject * StrokeAttribute_thickness_get(BPy_StrokeAttribute *self, void *UNUSED(closure))
PyDoc_STRVAR(StrokeAttribute_doc, "Class to define a set of attributes associated with a :class:`StrokeVertex`.\n" "The attribute set stores the color, alpha and thickness values for a Stroke\n" "Vertex.\n" "\n" ".. method:: __init__()\n" " __init__(brother)\n" " __init__(red, green, blue, alpha, thickness_right, thickness_left)\n" " __init__(attribute1, attribute2, t)\n" "\n" " Creates a :class:`StrokeAttribute` object using either a default constructor,\n" " copy constructor, overloaded constructor, or and interpolation constructor\n" " to interpolate between two :class:`StrokeAttribute` objects.\n" "\n" " :arg brother: A StrokeAttribute object to be used as a copy constructor.\n" " :type brother: :class:`StrokeAttribute`\n" " :arg red: Red component of a stroke color.\n" " :type red: float\n" " :arg green: Green component of a stroke color.\n" " :type green: float\n" " :arg blue: Blue component of a stroke color.\n" " :type blue: float\n" " :arg alpha: Alpha component of a stroke color.\n" " :type alpha: float\n" " :arg thickness_right: Stroke thickness on the right.\n" " :type thickness_right: float\n" " :arg thickness_left: Stroke thickness on the left.\n" " :type thickness_left: float\n" " :arg attribute1: The first StrokeAttribute object.\n" " :type attribute1: :class:`StrokeAttribute`\n" " :arg attribute2: The second StrokeAttribute object.\n" " :type attribute2: :class:`StrokeAttribute`\n" " :arg t: The interpolation parameter (0 <= t <= 1).\n" " :type t: float\n")
static PyObject * StrokeAttribute_has_attribute_real(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
static int StrokeAttribute_mathutils_check(BaseMathObject *bmo)
static int StrokeAttribute_mathutils_get(BaseMathObject *bmo, int subtype)
#define MATHUTILS_SUBTYPE_COLOR
static int StrokeAttribute_mathutils_set_index(BaseMathObject *bmo, int subtype, int index)
static int StrokeAttribute_thickness_set(BPy_StrokeAttribute *self, PyObject *value, void *UNUSED(closure))
static PyObject * StrokeAttribute_visible_get(BPy_StrokeAttribute *self, void *UNUSED(closure))
static void StrokeAttribute_dealloc(BPy_StrokeAttribute *self)
static PyObject * StrokeAttribute_get_attribute_vec3(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
static PyObject * StrokeAttribute_set_attribute_real(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
int StrokeAttribute_Init(PyObject *module)
#define BPy_StrokeAttribute_Check(v)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte blue
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble green
static struct PyModuleDef module
ATTR_WARN_UNUSED_RESULT const BMVert * v
static CCL_NAMESPACE_BEGIN const double alpha
uchar Mathutils_RegisterCallback(Mathutils_Callback *cb)
int mathutils_array_parse(float *array, int array_min, int array_max, PyObject *value, const char *error_prefix)
PyObject * Color_CreatePyObject_cb(PyObject *cb_user, uchar cb_type, uchar cb_subtype)
PyObject * Vector_CreatePyObject_cb(PyObject *cb_user, int size, uchar cb_type, uchar cb_subtype)