d7e08f2d33
(http://freestyle.sourceforge.net/doc/html/index.html) has been incorporated into the Blender/Freestyle Python API implementation in the form of Sphinx-based embedded docstrings. Some C++-specific descriptions of classes and functions were revised so that they are suitable for Python programmers. Missing docstrings were filled, and sparse descriptions were extended. By means of the new documentation system for Blender, an up-to-date Freestyle Python API reference will be part of the Blender 2.5 documentation.
116 lines
4.1 KiB
C++
116 lines
4.1 KiB
C++
#include "BPy_StrokeTextureShader.h"
|
|
|
|
#include "../../stroke/BasicStrokeShaders.h"
|
|
#include "../BPy_Convert.h"
|
|
#include "../BPy_MediumType.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//------------------------INSTANCE METHODS ----------------------------------
|
|
|
|
static char StrokeTextureShader___doc__[] =
|
|
"[Texture shader]\n"
|
|
"\n"
|
|
".. method:: __init__(textureFile, mediumType=MediumType.OPAQUE_MEDIUM, iTips=False)\n"
|
|
"\n"
|
|
" Builds a StrokeTextureShader object.\n"
|
|
"\n"
|
|
" :arg textureFile: \n"
|
|
" :type textureFile: string\n"
|
|
" :arg mediumType: The medium type and therefore, the blending mode\n"
|
|
" that must be used for the rendering of this stroke.\n"
|
|
" :type mediumType: :class:`MediumType`\n"
|
|
" :arg iTips: Tells whether the texture includes tips or not. If it\n"
|
|
" is the case, the texture image must respect the following format.\n"
|
|
" :type iTips: bool\n"
|
|
"\n"
|
|
" The format of a texture image including tips::\n"
|
|
"\n"
|
|
" ___________\n"
|
|
" | |\n"
|
|
" | A |\n"
|
|
" |___________|\n"
|
|
" | | |\n"
|
|
" | B | C |\n"
|
|
" |_____|_____|\n"
|
|
"\n"
|
|
" * A : The stroke's corpus texture.\n"
|
|
" * B : The stroke's left extremity texture.\n"
|
|
" * C : The stroke's right extremity texture.\n"
|
|
"\n"
|
|
".. method:: shade(s)\n"
|
|
"\n"
|
|
" Assigns a texture and a blending mode to the stroke in order to\n"
|
|
" simulate its marks system.\n"
|
|
"\n"
|
|
" :arg s: A Stroke object.\n"
|
|
" :type s: :class:`Stroke`\n";
|
|
|
|
static int StrokeTextureShader___init__( BPy_StrokeTextureShader* self, PyObject *args)
|
|
{
|
|
const char *s1;
|
|
PyObject *obj2 = 0, *obj3 = 0;
|
|
|
|
if(!( PyArg_ParseTuple(args, "s|O!O", &s1, &MediumType_Type, &obj2, &obj3) ))
|
|
return -1;
|
|
|
|
Stroke::MediumType mt = (obj2) ? MediumType_from_BPy_MediumType(obj2) : Stroke::OPAQUE_MEDIUM;
|
|
bool b = (obj3) ? bool_from_PyBool(obj3) : true;
|
|
|
|
self->py_ss.ss = new StrokeShaders::StrokeTextureShader(s1,mt,b);
|
|
return 0;
|
|
}
|
|
|
|
/*-----------------------BPy_StrokeTextureShader type definition ------------------------------*/
|
|
|
|
PyTypeObject StrokeTextureShader_Type = {
|
|
PyVarObject_HEAD_INIT(NULL, 0)
|
|
"StrokeTextureShader", /* tp_name */
|
|
sizeof(BPy_StrokeTextureShader), /* tp_basicsize */
|
|
0, /* tp_itemsize */
|
|
0, /* tp_dealloc */
|
|
0, /* tp_print */
|
|
0, /* tp_getattr */
|
|
0, /* tp_setattr */
|
|
0, /* tp_reserved */
|
|
0, /* tp_repr */
|
|
0, /* tp_as_number */
|
|
0, /* tp_as_sequence */
|
|
0, /* tp_as_mapping */
|
|
0, /* tp_hash */
|
|
0, /* tp_call */
|
|
0, /* tp_str */
|
|
0, /* tp_getattro */
|
|
0, /* tp_setattro */
|
|
0, /* tp_as_buffer */
|
|
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
|
|
StrokeTextureShader___doc__, /* tp_doc */
|
|
0, /* tp_traverse */
|
|
0, /* tp_clear */
|
|
0, /* tp_richcompare */
|
|
0, /* tp_weaklistoffset */
|
|
0, /* tp_iter */
|
|
0, /* tp_iternext */
|
|
0, /* tp_methods */
|
|
0, /* tp_members */
|
|
0, /* tp_getset */
|
|
&StrokeShader_Type, /* tp_base */
|
|
0, /* tp_dict */
|
|
0, /* tp_descr_get */
|
|
0, /* tp_descr_set */
|
|
0, /* tp_dictoffset */
|
|
(initproc)StrokeTextureShader___init__, /* tp_init */
|
|
0, /* tp_alloc */
|
|
0, /* tp_new */
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|