Blender
V3.3
source
blender
freestyle
intern
python
StrokeShader
BPy_BlenderTextureShader.cpp
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
7
#include "
BPy_BlenderTextureShader.h
"
8
9
#include "../../stroke/BasicStrokeShaders.h"
10
11
#ifdef __cplusplus
12
extern
"C"
{
13
#endif
14
15
#include "../../../../python/generic/py_capi_utils.h"
16
17
using namespace
Freestyle
;
18
20
21
//------------------------INSTANCE METHODS ----------------------------------
22
23
static
char
BlenderTextureShader___doc__
[] =
24
"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`BlenderTextureShader`\n"
25
"\n"
26
"[Texture shader]\n"
27
"\n"
28
".. method:: __init__(texture)\n"
29
"\n"
30
" Builds a BlenderTextureShader object.\n"
31
"\n"
32
" :arg texture: A line style texture slot or a shader node tree to define\n"
33
" a set of textures.\n"
34
" :type texture: :class:`bpy.types.LineStyleTextureSlot` or\n"
35
" :class:`bpy.types.ShaderNodeTree`\n"
36
"\n"
37
".. method:: shade(stroke)\n"
38
"\n"
39
" Assigns a blender texture slot to the stroke shading in order to\n"
40
" simulate marks.\n"
41
"\n"
42
" :arg stroke: A Stroke object.\n"
43
" :type stroke: :class:`freestyle.types.Stroke`\n"
;
44
45
static
int
BlenderTextureShader___init__
(
BPy_BlenderTextureShader
*
self
,
46
PyObject *args,
47
PyObject *kwds)
48
{
49
static
const
char
*kwlist[] = {
"texture"
,
nullptr
};
50
PyObject *obj;
51
MTex
*_mtex;
52
bNodeTree
*_nodetree;
53
54
if
(!PyArg_ParseTupleAndKeywords(args, kwds,
"O"
, (
char
**)kwlist, &obj)) {
55
return
-1;
56
}
57
_mtex = (
MTex
*)
PyC_RNA_AsPointer
(obj,
"LineStyleTextureSlot"
);
58
if
(_mtex) {
59
self
->py_ss.ss =
new
StrokeShaders::BlenderTextureShader
(_mtex);
60
return
0;
61
}
62
PyErr_Clear();
63
_nodetree = (
bNodeTree
*)
PyC_RNA_AsPointer
(obj,
"ShaderNodeTree"
);
64
if
(_nodetree) {
65
self
->py_ss.ss =
new
StrokeShaders::BlenderTextureShader
(_nodetree);
66
return
0;
67
}
68
PyErr_Format(PyExc_TypeError,
69
"expected either 'LineStyleTextureSlot' or 'ShaderNodeTree', "
70
"found '%.200s' instead"
,
71
Py_TYPE(obj)->tp_name);
72
return
-1;
73
}
74
75
/*-----------------------BPy_BlenderTextureShader type definition ------------------------------*/
76
77
PyTypeObject
BlenderTextureShader_Type
= {
78
PyVarObject_HEAD_INIT(
nullptr
, 0)
"BlenderTextureShader"
,
/* tp_name */
79
sizeof
(
BPy_BlenderTextureShader
),
/* tp_basicsize */
80
0,
/* tp_itemsize */
81
nullptr
,
/* tp_dealloc */
82
0,
/* tp_vectorcall_offset */
83
nullptr
,
/* tp_getattr */
84
nullptr
,
/* tp_setattr */
85
nullptr
,
/* tp_reserved */
86
nullptr
,
/* tp_repr */
87
nullptr
,
/* tp_as_number */
88
nullptr
,
/* tp_as_sequence */
89
nullptr
,
/* tp_as_mapping */
90
nullptr
,
/* tp_hash */
91
nullptr
,
/* tp_call */
92
nullptr
,
/* tp_str */
93
nullptr
,
/* tp_getattro */
94
nullptr
,
/* tp_setattro */
95
nullptr
,
/* tp_as_buffer */
96
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
/* tp_flags */
97
BlenderTextureShader___doc__
,
/* tp_doc */
98
nullptr
,
/* tp_traverse */
99
nullptr
,
/* tp_clear */
100
nullptr
,
/* tp_richcompare */
101
0,
/* tp_weaklistoffset */
102
nullptr
,
/* tp_iter */
103
nullptr
,
/* tp_iternext */
104
nullptr
,
/* tp_methods */
105
nullptr
,
/* tp_members */
106
nullptr
,
/* tp_getset */
107
&
StrokeShader_Type
,
/* tp_base */
108
nullptr
,
/* tp_dict */
109
nullptr
,
/* tp_descr_get */
110
nullptr
,
/* tp_descr_set */
111
0,
/* tp_dictoffset */
112
(initproc)
BlenderTextureShader___init__
,
/* tp_init */
113
nullptr
,
/* tp_alloc */
114
nullptr
,
/* tp_new */
115
};
116
118
119
#ifdef __cplusplus
120
}
121
#endif
BlenderTextureShader___init__
static int BlenderTextureShader___init__(BPy_BlenderTextureShader *self, PyObject *args, PyObject *kwds)
Definition:
BPy_BlenderTextureShader.cpp:45
BlenderTextureShader_Type
PyTypeObject BlenderTextureShader_Type
Definition:
BPy_BlenderTextureShader.cpp:77
BlenderTextureShader___doc__
static char BlenderTextureShader___doc__[]
Definition:
BPy_BlenderTextureShader.cpp:23
BPy_BlenderTextureShader.h
StrokeShader_Type
PyTypeObject StrokeShader_Type
Definition:
BPy_StrokeShader.cpp:268
Freestyle::StrokeShaders::BlenderTextureShader
Definition:
BasicStrokeShaders.h:583
Freestyle
inherits from class Rep
Definition:
AppCanvas.cpp:18
PyC_RNA_AsPointer
void * PyC_RNA_AsPointer(PyObject *value, const char *type_name)
Definition:
py_capi_utils.c:1307
BPy_BlenderTextureShader
Definition:
BPy_BlenderTextureShader.h:25
MTex
Definition:
DNA_texture_types.h:27
bNodeTree
Definition:
DNA_node_types.h:451
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1