63 ".. function:: getCurrentScene()\n"
65 " Returns the current scene.\n"
67 " :return: The current scene.\n"
68 " :rtype: :class:`bpy.types.Scene`\n";
74 PyErr_SetString(PyExc_TypeError,
"current scene not available");
146 ".. function:: blendRamp(type, color1, fac, color2)\n"
148 " Blend two colors according to a ramp blend type.\n"
150 " :arg type: Ramp blend type.\n"
152 " :arg color1: 1st color.\n"
153 " :type color1: :class:`mathutils.Vector`, list or tuple of 3 real numbers\n"
154 " :arg fac: Blend factor.\n"
155 " :type fac: float\n"
156 " :arg color2: 1st color.\n"
157 " :type color2: :class:`mathutils.Vector`, list or tuple of 3 real numbers\n"
158 " :return: Blended color in RGB format.\n"
159 " :rtype: :class:`mathutils.Vector`\n";
163 PyObject *obj1, *obj2;
166 float a[3], fac, b[3];
168 if (!PyArg_ParseTuple(args,
"sOfO", &s, &obj1, &fac, &obj2)) {
173 PyErr_SetString(PyExc_TypeError,
"argument 1 is an unknown ramp blend type");
180 "argument 2 must be a 3D vector "
181 "(either a tuple/list of 3 elements or Vector)") == -1) {
188 "argument 4 must be a 3D vector "
189 "(either a tuple/list of 3 elements or Vector)") == -1) {
199 ".. function:: evaluateColorRamp(ramp, in)\n"
201 " Evaluate a color ramp at a point in the interval 0 to 1.\n"
203 " :arg ramp: Color ramp object.\n"
204 " :type ramp: :class:`bpy.types.ColorRamp`\n"
205 " :arg in: Value in the interval 0 to 1.\n"
207 " :return: color in RGBA format.\n"
208 " :rtype: :class:`mathutils.Vector`\n";
220 PyErr_SetString(PyExc_TypeError,
"1st argument is not a ColorRamp object");
225 PyErr_SetString(PyExc_ValueError,
"failed to evaluate the color ramp");
235 ".. function:: evaluateCurveMappingF(cumap, cur, value)\n"
237 " Evaluate a curve mapping at a point in the interval 0 to 1.\n"
239 " :arg cumap: Curve mapping object.\n"
240 " :type cumap: :class:`bpy.types.CurveMapping`\n"
241 " :arg cur: Index of the curve to be used (0 <= cur <= 3).\n"
243 " :arg value: Input value in the interval 0 to 1.\n"
244 " :type value: float\n"
245 " :return: Mapped output value.\n"
255 if (!(PyArg_ParseTuple(args,
"O!if", &
pyrna_struct_Type, &py_srna, &cur, &value))) {
259 PyErr_SetString(PyExc_TypeError,
"1st argument is not a CurveMapping object");
262 if (cur < 0 || cur > 3) {
263 PyErr_SetString(PyExc_ValueError,
"2nd argument is out of range");
279 "This module provides classes for defining line drawing rules (such as\n"
280 "predicates, functions, chaining iterators, and stroke shaders), as well\n"
281 "as helper functions for style module writing.\n"
286 "- :class:`BinaryPredicate0D`\n"
287 "- :class:`BinaryPredicate1D`\n"
289 " - :class:`FalseBP1D`\n"
290 " - :class:`Length2DBP1D`\n"
291 " - :class:`SameShapeIdBP1D`\n"
292 " - :class:`TrueBP1D`\n"
293 " - :class:`ViewMapGradientNormBP1D`\n"
296 "- :class:`Interface0D`\n"
298 " - :class:`CurvePoint`\n"
300 " - :class:`StrokeVertex`\n"
302 " - :class:`SVertex`\n"
303 " - :class:`ViewVertex`\n"
305 " - :class:`NonTVertex`\n"
306 " - :class:`TVertex`\n"
308 "- :class:`Interface1D`\n"
310 " - :class:`Curve`\n"
312 " - :class:`Chain`\n"
314 " - :class:`FEdge`\n"
316 " - :class:`FEdgeSharp`\n"
317 " - :class:`FEdgeSmooth`\n"
319 " - :class:`Stroke`\n"
320 " - :class:`ViewEdge`\n"
322 "- :class:`Iterator`\n"
324 " - :class:`AdjacencyIterator`\n"
325 " - :class:`CurvePointIterator`\n"
326 " - :class:`Interface0DIterator`\n"
327 " - :class:`SVertexIterator`\n"
328 " - :class:`StrokeVertexIterator`\n"
329 " - :class:`ViewEdgeIterator`\n"
331 " - :class:`ChainingIterator`\n"
333 " - :class:`ChainPredicateIterator`\n"
334 " - :class:`ChainSilhouetteIterator`\n"
336 " - :class:`orientedViewEdgeIterator`\n"
338 "- :class:`Material`\n"
340 "- :class:`Operators`\n"
341 "- :class:`SShape`\n"
342 "- :class:`StrokeAttribute`\n"
343 "- :class:`StrokeShader`\n"
345 " - :class:`BackboneStretcherShader`\n"
346 " - :class:`BezierCurveShader`\n"
347 " - :class:`BlenderTextureShader`\n"
348 " - :class:`CalligraphicShader`\n"
349 " - :class:`ColorNoiseShader`\n"
350 " - :class:`ColorVariationPatternShader`\n"
351 " - :class:`ConstantColorShader`\n"
352 " - :class:`ConstantThicknessShader`\n"
353 " - :class:`ConstrainedIncreasingThicknessShader`\n"
354 " - :class:`GuidingLinesShader`\n"
355 " - :class:`IncreasingColorShader`\n"
356 " - :class:`IncreasingThicknessShader`\n"
357 " - :class:`PolygonalizationShader`\n"
358 " - :class:`SamplingShader`\n"
359 " - :class:`SmoothingShader`\n"
360 " - :class:`SpatialNoiseShader`\n"
361 " - :class:`StrokeTextureShader`\n"
362 " - :class:`StrokeTextureStepShader`\n"
363 " - :class:`TextureAssignerShader`\n"
364 " - :class:`ThicknessNoiseShader`\n"
365 " - :class:`ThicknessVariationPatternShader`\n"
366 " - :class:`TipRemoverShader`\n"
367 " - :class:`fstreamShader`\n"
368 " - :class:`streamShader`\n"
370 "- :class:`UnaryFunction0D`\n"
372 " - :class:`UnaryFunction0DDouble`\n"
374 " - :class:`Curvature2DAngleF0D`\n"
375 " - :class:`DensityF0D`\n"
376 " - :class:`GetProjectedXF0D`\n"
377 " - :class:`GetProjectedYF0D`\n"
378 " - :class:`GetProjectedZF0D`\n"
379 " - :class:`GetXF0D`\n"
380 " - :class:`GetYF0D`\n"
381 " - :class:`GetZF0D`\n"
382 " - :class:`LocalAverageDepthF0D`\n"
383 " - :class:`ZDiscontinuityF0D`\n"
385 " - :class:`UnaryFunction0DEdgeNature`\n"
387 " - :class:`CurveNatureF0D`\n"
389 " - :class:`UnaryFunction0DFloat`\n"
391 " - :class:`GetCurvilinearAbscissaF0D`\n"
392 " - :class:`GetParameterF0D`\n"
393 " - :class:`GetViewMapGradientNormF0D`\n"
394 " - :class:`ReadCompleteViewMapPixelF0D`\n"
395 " - :class:`ReadMapPixelF0D`\n"
396 " - :class:`ReadSteerableViewMapPixelF0D`\n"
398 " - :class:`UnaryFunction0DId`\n"
400 " - :class:`ShapeIdF0D`\n"
402 " - :class:`UnaryFunction0DMaterial`\n"
404 " - :class:`MaterialF0D`\n"
406 " - :class:`UnaryFunction0DUnsigned`\n"
408 " - :class:`QuantitativeInvisibilityF0D`\n"
410 " - :class:`UnaryFunction0DVec2f`\n"
412 " - :class:`Normal2DF0D`\n"
413 " - :class:`VertexOrientation2DF0D`\n"
415 " - :class:`UnaryFunction0DVec3f`\n"
417 " - :class:`VertexOrientation3DF0D`\n"
419 " - :class:`UnaryFunction0DVectorViewShape`\n"
421 " - :class:`GetOccludersF0D`\n"
423 " - :class:`UnaryFunction0DViewShape`\n"
425 " - :class:`GetOccludeeF0D`\n"
426 " - :class:`GetShapeF0D`\n"
428 "- :class:`UnaryFunction1D`\n"
430 " - :class:`UnaryFunction1DDouble`\n"
432 " - :class:`Curvature2DAngleF1D`\n"
433 " - :class:`DensityF1D`\n"
434 " - :class:`GetCompleteViewMapDensityF1D`\n"
435 " - :class:`GetDirectionalViewMapDensityF1D`\n"
436 " - :class:`GetProjectedXF1D`\n"
437 " - :class:`GetProjectedYF1D`\n"
438 " - :class:`GetProjectedZF1D`\n"
439 " - :class:`GetSteerableViewMapDensityF1D`\n"
440 " - :class:`GetViewMapGradientNormF1D`\n"
441 " - :class:`GetXF1D`\n"
442 " - :class:`GetYF1D`\n"
443 " - :class:`GetZF1D`\n"
444 " - :class:`LocalAverageDepthF1D`\n"
445 " - :class:`ZDiscontinuityF1D`\n"
447 " - :class:`UnaryFunction1DEdgeNature`\n"
449 " - :class:`CurveNatureF1D`\n"
451 " - :class:`UnaryFunction1DFloat`\n"
452 " - :class:`UnaryFunction1DUnsigned`\n"
454 " - :class:`QuantitativeInvisibilityF1D`\n"
456 " - :class:`UnaryFunction1DVec2f`\n"
458 " - :class:`Normal2DF1D`\n"
459 " - :class:`Orientation2DF1D`\n"
461 " - :class:`UnaryFunction1DVec3f`\n"
463 " - :class:`Orientation3DF1D`\n"
465 " - :class:`UnaryFunction1DVectorViewShape`\n"
467 " - :class:`GetOccludeeF1D`\n"
468 " - :class:`GetOccludersF1D`\n"
469 " - :class:`GetShapeF1D`\n"
471 " - :class:`UnaryFunction1DVoid`\n"
473 " - :class:`ChainingTimeStampF1D`\n"
474 " - :class:`IncrementChainingTimeStampF1D`\n"
475 " - :class:`TimeStampF1D`\n"
477 "- :class:`UnaryPredicate0D`\n"
479 " - :class:`FalseUP0D`\n"
480 " - :class:`TrueUP0D`\n"
482 "- :class:`UnaryPredicate1D`\n"
484 " - :class:`ContourUP1D`\n"
485 " - :class:`DensityLowerThanUP1D`\n"
486 " - :class:`EqualToChainingTimeStampUP1D`\n"
487 " - :class:`EqualToTimeStampUP1D`\n"
488 " - :class:`ExternalContourUP1D`\n"
489 " - :class:`FalseUP1D`\n"
490 " - :class:`QuantitativeInvisibilityUP1D`\n"
491 " - :class:`ShapeUP1D`\n"
492 " - :class:`TrueUP1D`\n"
493 " - :class:`WithinImageBoundaryUP1D`\n"
495 "- :class:`ViewMap`\n"
496 "- :class:`ViewShape`\n"
497 "- :class:`IntegrationType`\n"
498 "- :class:`MediumType`\n"
499 "- :class:`Nature`\n"
510 {
"evaluateColorRamp",
514 {
"evaluateCurveMappingF",
518 {
nullptr,
nullptr, 0,
nullptr},
524 PyModuleDef_HEAD_INIT,
548 PyObject *sys_path = PySys_GetObject(
"path");
549 PyObject *py_modpath = PyUnicode_FromString(modpath);
550 PyList_Append(sys_path, py_modpath);
551 Py_DECREF(py_modpath);
553 printf(
"Adding Python path: %s\n", modpath);
558 "Freestyle: couldn't find 'scripts/freestyle/modules', Freestyle won't work properly.\n");
const char * BKE_appdir_folder_id(const int folder_id, const char *subfolder)
bool BKE_colorband_evaluate(const struct ColorBand *coba, float in, float out[4])
General operations, lookup, etc. for materials.
void ramp_blend(int type, float r_col[3], const float fac, const float col[3])
void BLI_join_dirfile(char *__restrict dst, const size_t maxlen, const char *__restrict dir, const char *__restrict file) ATTR_NONNULL()
int BBox_Init(PyObject *module)
int BinaryPredicate0D_Init(PyObject *module)
int BinaryPredicate1D_Init(PyObject *module)
int ContextFunctions_Init(PyObject *module)
PyObject * Freestyle_Init(void)
static PyObject * Freestyle_evaluateCurveMappingF(PyObject *, PyObject *args)
static int ramp_blend_type(const char *type)
static char Freestyle_evaluateCurveMappingF___doc__[]
static PyModuleDef module_definition
static char module_docstring[]
static char Freestyle_evaluateColorRamp___doc__[]
static PyObject * Freestyle_blendRamp(PyObject *, PyObject *args)
static char Freestyle_getCurrentScene___doc__[]
static char Freestyle_blendRamp___doc__[]
static PyObject * Freestyle_getCurrentScene(PyObject *)
static PyObject * Freestyle_evaluateColorRamp(PyObject *, PyObject *args)
static PyMethodDef module_functions[]
int FrsMaterial_Init(PyObject *module)
int FrsNoise_Init(PyObject *module)
int Id_Init(PyObject *module)
int IntegrationType_Init(PyObject *module)
int Interface0D_Init(PyObject *module)
int Interface1D_Init(PyObject *module)
int Iterator_Init(PyObject *module)
int MediumType_Init(PyObject *module)
int Nature_Init(PyObject *module)
int Operators_Init(PyObject *module)
int SShape_Init(PyObject *module)
int StrokeAttribute_Init(PyObject *module)
int StrokeShader_Init(PyObject *module)
int UnaryFunction0D_Init(PyObject *module)
int UnaryFunction1D_Init(PyObject *module)
int UnaryPredicate0D_Init(PyObject *module)
int UnaryPredicate1D_Init(PyObject *module)
int ViewMap_Init(PyObject *module)
int ViewShape_Init(PyObject *module)
@ CUMA_EXTEND_EXTRAPOLATE
struct FreestyleGlobals g_freestyle
_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 type
StructRNA RNA_CurveMapping
static struct PyModuleDef module
PyObject * pyrna_struct_CreatePyObject(PointerRNA *ptr)
PyTypeObject pyrna_struct_Type
int mathutils_array_parse(float *array, int array_min, int array_max, PyObject *value, const char *error_prefix)
PyObject * Vector_CreatePyObject(const float *vec, const int size, PyTypeObject *base_type)
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
PyObject_HEAD PointerRNA ptr