This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/freestyle/intern/python/StrokeShader/BPy_PolygonalizationShader.cpp
Tamito Kajiyama d7e08f2d33 Major documentation updates. The original Freestyle API reference
(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.
2010-04-17 23:47:47 +00:00

96 lines
3.5 KiB
C++

#include "BPy_PolygonalizationShader.h"
#include "../../stroke/BasicStrokeShaders.h"
#ifdef __cplusplus
extern "C" {
#endif
///////////////////////////////////////////////////////////////////////////////////////////
//------------------------INSTANCE METHODS ----------------------------------
static char PolygonalizationShader___doc__[] =
"[Geometry shader]\n"
"\n"
".. method:: __init__(iError)\n"
"\n"
" Builds a PolygonalizationShader object.\n"
"\n"
" :arg iError: The error we want our polygonal approximation to have\n"
" with respect to the original geometry. The smaller, the closer\n"
" the new stroke is to the orinal one. This error corresponds to\n"
" the maximum distance between the new stroke and the old one.\n"
" :type iError: float\n"
"\n"
".. method:: shade(s)\n"
"\n"
" Modifies the Stroke geometry so that it looks more \"polygonal\".\n"
" The basic idea is to start from the minimal stroke approximation\n"
" consisting in a line joining the first vertex to the last one and\n"
" to subdivide using the original stroke vertices until a certain\n"
" error is reached.\n"
"\n"
" :arg s: A Stroke object.\n"
" :type s: :class:`Stroke`\n";
static int PolygonalizationShader___init__( BPy_PolygonalizationShader* self, PyObject *args)
{
float f;
if(!( PyArg_ParseTuple(args, "f", &f) ))
return -1;
self->py_ss.ss = new StrokeShaders::PolygonalizationShader(f);
return 0;
}
/*-----------------------BPy_PolygonalizationShader type definition ------------------------------*/
PyTypeObject PolygonalizationShader_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"PolygonalizationShader", /* tp_name */
sizeof(BPy_PolygonalizationShader), /* 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 */
PolygonalizationShader___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)PolygonalizationShader___init__, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
};
///////////////////////////////////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif