c843e84892
Merge branch 'master' into blender2.8
2017-09-01 02:30:48 +10:00
636baa598a
RNA: Limit which classes struct-map contains
...
Only add subclasses of: Menu, Panel, Header, UIList, Operator
This helps avoid unnecessary naming collisions,
See T52599 for details
2017-08-31 23:49:50 +10:00
2f8c8ec8fb
Docs: BMesh.from_mesh behavior w/ multiple calls
2017-08-28 14:25:00 +10:00
cb7f1f8160
Docs: BMesh.from_mesh behavior w/ multiple calls
2017-08-28 12:40:36 +10:00
f8f6f8f26e
Merge branch 'master' into blender2.8
2017-08-25 20:45:16 +10:00
738d942d29
Correct error in recent use of PyC_Long_*
...
Regression in 46cf33bf0
2017-08-25 02:09:23 +10:00
cb4884f50b
Merge branch 'master' into blender2.8
2017-08-23 20:16:47 +10:00
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
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
917d069cdb
Merge branch 'master' into blender2.8
2017-08-23 19:21:52 +10:00
55861cb234
PyAPI: avoid instantiating args twice in macro
...
Would cause problems if args included function calls.
2017-08-23 18:48:32 +10:00
58a4c767a1
Merge branch 'master' into blender2.8
2017-08-23 16:10:45 +10:00
f09dee5aed
Fix error in PointerProperty argument list
...
Regression in a7b3047
2017-08-23 02:14:33 +10:00
f4fe405da9
Manipulator: Add API target_get/set/range wrappers
...
Allows Python manipulators access the values of target properties
needed for Python to make use of the general target property interface.
2017-08-22 18:57:38 +10:00
bd935b5aed
Merge branch 'master' into blender2.8
2017-08-22 18:21:05 +10:00
ccff7c3c82
PyAPI: Minor gawain corrections
2017-08-22 18:13:19 +10:00
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
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
adabc315e9
PyAPI: add gpu.select (initial module)
...
This only exposes load_id, it's needed for Python manipulator drawing.
2017-08-20 23:13:42 +10:00
2530ae6c74
Merge branch 'master' into blender2.8
2017-08-20 21:22:00 +10:00
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
cb03cc6600
PyAPI: gpu.matrix.push_pop context manager
...
Avoid un-balanced push/pop usage (which can interfere with Blender's
internal state) using a context manager.
2017-08-20 19:42:31 +10:00
f6825d333b
Fix bpy library load: invalid function signature
2017-08-20 19:04:16 +10:00
8037f3602f
PyAPI: Add exceptions to stack push/pop
...
Raise exception when stack limits are reached.
2017-08-20 17:26:51 +10:00
33b265c4fb
PyAPI: use PyC_Long_As... for gawain
...
Avoids inline overflow checks.
2017-08-20 15:58:37 +10:00
7497488149
Merge branch 'master' into blender2.8
2017-08-20 15:50:15 +10:00
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
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
2ff9c8a3bc
PyAPI: avoid redundant PyLong_AsLong call
...
Assigning to an RNA array converted from Python to C twice.
2017-08-20 15:30:14 +10:00
64c7cf2036
PyAPI: correct int range checking
2017-08-20 10:34:21 +10:00
4e4e872478
PyAPI: Add gpu.matrix API
2017-08-20 00:01:19 +10:00
2332051419
Merge branch 'master' into blender2.8
2017-08-19 21:54:05 +10:00
1cc4033df8
PyAPI: expose matrix parsing function
2017-08-19 21:36:50 +10:00
4437ccf476
Correct error in gawain wrapper for non-gcc compilers
2017-08-19 20:22:15 +10:00
6fe38bf1cc
PyAPI: Gawain checks for range
...
Raise error on vert-buffer data overflow.
Also exception on attempting to fill data thats already on the GPU.
2017-08-18 18:58:52 +10:00
4e468ceb71
PyAPI: Fix memory leak w/ empty, allocated enums
2017-08-18 18:29:27 +10:00
d0dad02604
Cleanup: use lowercase prefix for local API's
...
Also some minor corrections.
2017-08-18 08:58:26 +10:00
cb67873ac5
PyAPI: Iniital gawain API for Python
...
Wraps vertex-format, vertex-buffer and batch's (enough for drawing).
Doesn't yet expose index-buffers or shaders.
2017-08-18 08:45:41 +10:00
73df38a879
RNA: don't register manipulator properties by name
...
Matching behavior for operators.
2017-08-18 07:50:31 +10:00
a60727080f
Merge branch 'master' into blender2.8
2017-08-12 14:06:29 +10:00
c034193821
Cleanup: remove useless DM_ensure_looptri()
.
...
That one was doing exactly same thing as `dm->getLoopTriArray()`, no
point in having twice the same code here...
2017-08-11 17:08:41 +02:00
9567529b8f
Merge branch 'master' into blender2.8
2017-08-12 00:23:49 +10:00
daa834bc11
RNA: Operators were excluded from struct map
...
Recent changes meant structs that were registered without a name
wouldn't get added to the map.
Now assigning identifiers manages the struct-map.
2017-08-11 20:11:01 +10:00
01ee88563b
Fix T46329: scene_update_{pre,post} doc needs clarification
...
The documentation for the bpy.app.handlers.scene_update_{pre,post}
handlers states that they're called "on updating the scenes data".
However, they're called even when the data hasn't changed. Of course
such handlers are useful, but the documentation should reflect the
current behaviour.
Reviewers: mont29, sergey
Subscribers: Blendify
Maniphest Tasks: T46329
Differential Revision: https://developer.blender.org/D1535
2017-08-08 15:16:51 +02:00
5709021f52
Correct previous commit, instance should be cleared
...
Clear instance in case creating creating new instance fails.
In practice this shouldn't happen,
but better not cause further errors if it does.
2017-08-01 17:17:38 +10:00
5ac9e587d4
PyRNA: Ensure changed types creates a new instance
...
Changing lamp type for eg needs to create a new instance.
2017-08-01 17:14:09 +10:00
0e26707bce
Merge branch 'master' into blender2.8
2017-07-29 06:44:04 +10:00
87d5e34453
Fix T52213: Enum drivers no longer work
...
Regression in D1812: PyDriver variables as Objects
Taking the Python representation is nice in general
but for enums it would convert them into strings,
breaking some existing drivers.
2017-07-29 02:39:16 +10:00
48e8a1a167
Fix crash in recent changes to instancing
...
Registrable classes already handled their own instancing,
changes to enable instancing everywhere conflicted.
2017-07-27 03:27:14 +10:00
40a45e393e
PyAPI: Fix for instancing (Blender owns a reference)
...
Also set newly created values to the instance pointer.
2017-07-26 23:05:00 +10:00