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_SmoothingShader.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

107 lines
3.9 KiB
C++

#include "BPy_SmoothingShader.h"
#include "../../stroke/AdvancedStrokeShaders.h"
#ifdef __cplusplus
extern "C" {
#endif
///////////////////////////////////////////////////////////////////////////////////////////
//------------------------INSTANCE METHODS ----------------------------------
static char SmoothingShader___doc__[] =
"[Geometry shader]\n"
"\n"
".. method:: __init__(iNbIteration, iFactorPoint, ifactorCurvature, iFactorCurvatureDifference, iAnisoPoint, iAnisNormal, iAnisoCurvature, icarricatureFactor)\n"
"\n"
" Builds a SmoothingShader object.\n"
"\n"
" :arg iNbIteration: The number of iterations (400).\n"
" :type iNbIteration: int\n"
" :arg iFactorPoint: 0.0\n"
" :type iFactorPoint: float\n"
" :arg ifactorCurvature: 0.0\n"
" :type ifactorCurvature: float\n"
" :arg iFactorCurvatureDifference: 0.2\n"
" :type iFactorCurvatureDifference: float\n"
" :arg iAnisoPoint: \n"
" :type iAnisoPoint: float\n"
" :arg iAnisNormal: 0.0\n"
" :type iAnisNormal: float\n"
" :arg iAnisoCurvature: 0.0\n"
" :type iAnisoCurvature: float\n"
" :arg icarricatureFactor: 1.0\n"
" :type icarricatureFactor: float\n"
"\n"
".. method:: shade(s)\n"
"\n"
" Smoothes the stroke by moving the vertices to make the stroke\n"
" smoother. Uses curvature flow to converge towards a curve of\n"
" constant curvature. The diffusion method we use is anisotropic to\n"
" prevent the diffusion accross corners.\n"
"\n"
" :arg s: A Stroke object.\n"
" :type s: :class:`Stroke`\n";
static int SmoothingShader___init__( BPy_SmoothingShader* self, PyObject *args)
{
int i1;
double d2, d3, d4, d5, d6, d7, d8;
if(!( PyArg_ParseTuple(args, "iddddddd", &i1, &d2, &d3, &d4, &d5, &d6, &d7, &d8) ))
return -1;
self->py_ss.ss = new SmoothingShader(i1, d2, d3, d4, d5, d6, d7, d8);
return 0;
}
/*-----------------------BPy_SmoothingShader type definition ------------------------------*/
PyTypeObject SmoothingShader_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"SmoothingShader", /* tp_name */
sizeof(BPy_SmoothingShader), /* 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 */
SmoothingShader___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)SmoothingShader___init__, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
};
///////////////////////////////////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif