Campbell Barton
7ff1750218
PyAPI: add optional imports to expression eval API
...
Avoids having to use `__import__` to access modules.
2018-09-03 12:43:43 +10:00
Campbell Barton
0ddf3e110e
Cleanup: comment blocks
2018-09-02 18:51:31 +10:00
Campbell Barton
98800aa4e0
C/Python API: Add PyC_RunString_AsIntPtr
...
Utility to get an int or pointer from a Python expression.
2018-08-31 14:21:32 +10:00
Campbell Barton
6a39d72558
Cleanup: declare vars or make static
2018-08-01 08:57:31 +10:00
Campbell Barton
21f61cbe73
BLF: replace global aa pref w/ monochrome flag
...
Now disabling anti-aliasing doesn't impact sequencer, render stamp etc.
2018-07-31 16:57:05 +10:00
Campbell Barton
ff6c6f18c1
Cleanup: id-property creation
...
D3473 by @JacquesLucke
2018-07-30 16:36:07 +10:00
Campbell Barton
ddee0931b8
RNA: use bool for boolean RNA types
...
We were using int's for bool arguments in BKE,
just to avoid having wrapper functions.
2018-07-01 15:57:59 +02:00
Campbell Barton
af36dd4664
Cleanup: trailing newlines
2018-06-29 08:02:49 +02:00
Campbell Barton
df237b964b
PyAPI: add ImBuf.copy
...
DD348 by @kilon w/ edits.
2018-06-26 09:31:57 +02:00
Campbell Barton
a69f985f40
PyAPI: move deep-copy args check to py_capi_utils
2018-06-26 09:31:57 +02:00
Bastien Montagne
cbf5c738d6
Cleanup: get rid of last G.main's in bpy area.
...
Essentially 'validating' them as G_MAIN, and adding some asserts in
dubious places, that handled IDs are actually in G_MAIN.
2018-06-22 11:37:47 +02:00
Campbell Barton
409cfba1a3
Python API: Initial 'imbuf' API
...
Support only basic operations new/load/write & resize.
Add now so we can extend as needed & more easily accept patches.
2018-06-07 08:00:13 +02:00
Campbell Barton
7719c11006
Cleanup: strip trailing space in Python module
2018-06-04 08:54:40 +02:00
Campbell Barton
d3b3df0371
IDProp API: add native C repr function
...
Was using Python which wasn't very efficient (even for logging).
2018-05-05 14:41:25 +02:00
Campbell Barton
d2591e5c2d
IDProp Py API: Add default argument to pop
...
Match dict.pop behavior.
2018-05-05 09:48:06 +02:00
Campbell Barton
f3c5b0394f
IDProp API: expose repr utility function
...
Useful for logging properties passed to operators.
2018-05-04 07:29:05 +02:00
Campbell Barton
31f2a6755d
PyAPI: Add PyC_Tuple_Pack_F64 utility
2018-04-02 19:48:34 +02:00
Campbell Barton
017c731cf3
Logging: use for Python API
...
Adds categories "bpy.context" & "bpy.rna"
2018-04-02 13:13:57 +02:00
Campbell Barton
0b325ba201
PyAPI: PyC_Err_PrintWithFunc utility function
...
Move function error printing utility into py_capi_utils.
2017-11-29 13:41:10 +11:00
Germano
0a435d49ba
Fix T53074: Use the pybuffer->itemsize to get the corresponding GLtype
...
It seems that `typestr` does not always define the final size of the element. And it varies by operating system.
Then use the `typestr` only to know the itemtype is `float` type or not.
2017-10-17 12:06:52 -02:00
Campbell Barton
c454d816a9
Cleanup: style
2017-10-06 16:56:41 +11:00
Campbell Barton
08f728a3e9
Cleanup: redundant casts
2017-10-04 16:52:55 +11:00
Campbell Barton
92272f56e6
PyAPI: fast keyword parsing for __import__
...
No functional changes.
2017-10-04 15:54:41 +11:00
Campbell Barton
1f18523edf
Cleanup: switch fall-through warning
2017-09-28 13:41:54 +10:00
Germano
5c6e3ff497
bgl module: extend gl_buffer_type_from_py_format_char function to work with more string formats
...
Only basic types of character codes were being used
2017-09-27 16:07:06 -03:00
Campbell Barton
6c98859b77
Cleanup: warning
2017-09-28 02:04:58 +10:00
Germano
2de5e14f53
bgl module: Interpret a buffer as a bgl.Buffer
...
Differential Revision: https://developer.blender.org/D2857
2017-09-27 11:20:00 -03:00
Campbell Barton
60956397ca
Cleanup: BLI_utildefines prefix for header-only libs
...
This allows to have different macro headers without them sharing
similar names to regular C modules.
2017-09-19 20:16:05 +10:00
Campbell Barton
b9513706cb
Cleanup: mark VA_NARGS_COUNT as public
...
Was already used in two other headers, remove underscore prefix.
2017-08-23 20:16:17 +10:00
Campbell Barton
37cfa44222
Cleanup: move variadic defines to their own header
...
So we can use in headers without pulling in many other defines.
2017-08-23 20:16:17 +10:00
Campbell Barton
55861cb234
PyAPI: avoid instantiating args twice in macro
...
Would cause problems if args included function calls.
2017-08-23 18:48:32 +10:00
Campbell Barton
691ed21842
PyAPI: replace PyC_FromArray with typed functions
...
This was meant to be generic but introduced possible type errors
and unnecessary complication.
Replace with typed PyC_Tuple_PackArray_* functions.
Also add PyC_Tuple_Pack_* macro which replaces some uses of
Py_BuildValue, with the advantage of not having to parse a string.
2017-08-22 18:10:57 +10:00
Brecht Van Lommel
81a76469ca
Fix for recent fix in fc890cd, cstdint is c++11 only so don't use it yet.
2017-08-21 19:05:17 +02:00
Campbell Barton
e27a59d411
Replace BLI_INLINE w/ Py_LOCAL_INLINE for Python
...
Recent inclusion caused build error with the BGE.
2017-08-20 21:14:33 +10:00
Campbell Barton
46cf33bf01
PyAPI: Make use of PyC_LongAs... API
...
Avoids setting exceptions inline,
also use Matrix_ParseAny for bmesh.ops.
Some inline exceptions are kept because they show useful details.
2017-08-20 15:49:10 +10:00
Campbell Barton
a10a7f42de
PyAPI: Integer conversion functions
...
Python's C-API doesn't provide functions to get
int's at specific integer sizes.
Leaving the caller to check for overflow,
which ended up being ignored in practice.
Add API functions that convert int/uint 8/16/32/64, also bool.
Raising overflow exception for unsupported ranges.
2017-08-20 15:39:08 +10:00
Campbell Barton
3d1e5bca88
PyAPI: don't use deprecated PyModule_GetFilename
...
Allows compiling with newer Python versions.
Also add missing decref when compiling as a py-module.
2017-07-17 12:53:55 +10:00
Alexander Romanov
a7b3047cef
Datablock ID Properties
...
The absence of datablock properties "will certainly be resolved soon as the need for them is becoming obvious" said the [[http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.67/Python_Nodes |Python Nodes release notes]]. So this patch allows Python scripts to create ID Properties which reference datablocks.
This functionality is implemented for `PointerProperty` and now such properties can be created with Python.
In addition to the standard update callback, `PointerProperty` can have a `poll` callback (standard RNA) which is useful for search menus. For details see the test included in this patch.
Original author: @artfunkel
Alexander (Blend4Web Team)
Reviewers: brecht, artfunkel, mont29, campbellbarton
Reviewed By: mont29, campbellbarton
Subscribers: jta, sergey, campbellbarton, wisaac, poseidon4o, mont29, homyachetser, Evgeny_Rodygin, AlexKowel, yurikovelenov, fjuhec, sharlybg, cardboard, duarteframos, blueprintrandom, a.romanov, BYOB, disnel, aditiapratama, bliblubli, dfelinto, lukastoenne
Maniphest Tasks: T37754
Differential Revision: https://developer.blender.org/D113
2017-04-13 12:33:05 +03:00
Jacques Lucke
73a9ff0d2d
PyAPI: Fast buffer access to id property arrays
...
Support Python's buffer protocol for ID-properties.
2017-04-10 21:12:02 +10:00
Campbell Barton
e392bb4937
PyAPI: add BPY_execute_string_as_string
...
Utility to execute a string and get the resulting string,
matching BPY_execute_string_as_number.
Not used just yet but generally useful function.
2017-03-18 12:19:03 +11:00
Campbell Barton
d863b5182e
Cleanup: use return args last and 'r_' prefix.
2017-03-18 09:39:36 +11:00
Campbell Barton
a96c9def6f
PyAPI: minor optimization for dictionary creation
...
Pass size when its known.
2016-07-31 17:22:04 +10:00
Campbell Barton
e97ab8347a
PyAPI: fix leak in unlikely case converting idprops fail
2016-07-31 16:59:08 +10:00
Campbell Barton
2dfc954c4a
PyAPI: Add PyC_UnicodeAsByteAndSize
...
Read the string length from Python directly when assigning id-properties
2016-07-31 16:52:44 +10:00
Campbell Barton
409316434c
Docs: add initial idprop.types API docs
2016-07-31 15:40:40 +10:00
Campbell Barton
c885cea7bb
Cleanup: spelling
2016-07-16 17:48:57 +10:00
Campbell Barton
f5e020a7a6
PyAPI: fix memory leaks in dictionary assignment
...
Thanks to Kévin Dietrich for spotting driver leak,
checked other uses of PyDict_SetItem and found more.
2016-07-14 17:30:52 +10:00
Campbell Barton
cca57bf04c
PyAPI: Use module names on initializaton
...
No need to re-convert from C strings to PyUnicode.
2016-07-14 15:51:56 +10:00
Thomas Szepe
0d4961cc52
Fix typo in bgl.Buffer report function
...
A GL_INT buffer was reported as GL_BYTE.
2016-07-02 18:38:05 +02:00
Brecht Van Lommel
21fddf7d1c
C99/C++11: replace deprecated finite() by isfinite().
2016-05-17 21:39:16 +02:00