0dc309bef6
Cleanup: remove redundant const qualifiers for POD types
2022-01-12 12:51:11 +11:00
3d3bc74884
Cleanup: remove redundant const qualifiers for POD types
...
MSVC used to warn about const mismatch for arguments passed by value.
Remove these as newer versions of MSVC no longer show this warning.
2022-01-07 14:16:26 +11:00
bc1e517bb3
Docs: improve on doc-strings for BPY_extern_run.h
...
Also add ATTR_NONNULL function attributes.
2021-12-13 13:12:09 +11:00
42a6b2fd06
Cleanup: move public doc-strings into headers for 'python'
2021-12-02 22:53:44 +11:00
083a8921ec
Fix strict warning about discarding const qualifier
...
Solved by using const qualifier for arguments which aren't mutable
in PyC functions.
Differential Revision: https://developer.blender.org/D12369
2021-09-01 17:00:08 +02:00
ac6b263906
Cleanup: inconsistent parameter name
2021-08-04 12:32:25 +02:00
2453dc1b0e
PyAPI: add multi-dimensional array conversion utility functions
...
Add array conversion functions that take dimension arguments.
- PyC_AsArray_Multi (version of PyC_AsArray).
- PyC_Tuple_PackArray_Multi_* (version of PyC_Tuple_Pack_*).
2021-07-29 11:04:33 +10:00
58eacb8e7c
Cleanup: pass sizeof array element to PyC_AsArray
...
Replace the is_double argument which was only used for single/double
precision floats.
This allows supporting different sized int types more easily.
2021-07-27 22:36:01 +10:00
4430e8a008
Python: gpu module: add new submodules and types
...
This commit extends the gpu python API with:
```
gpu.types.Buffer #"__init__", "to_list"
gpu.types.GPUTexture #"__init__", "clear", "read", "format"
gpu.types.GPUFrameBuffer #"__init__", "bind", "clear", "is_bound", "viewport", ("__enter__", "__exit__" with "GPUFrameBufferStackContext")
gpu.types.GPUUniformBuf #"__init__", "update"
gpu.state #"blend_set", "blend_get", "depth_test_set", "depth_test_get", "depth_mask_set", "depth_mask_get", "viewport_set", "viewport_get", "line_width_set", "line_width_get", "point_size_set", "color_mask_set", "face_culling_set", "front_facing_set", "program_point_size_set"
```
Add these methods to existing objects:
```
gpu.types.GPUShader #"uniform_sample", "uniform_buffer"
```
Maniphest Tasks: T80481
Differential Revision: https://developer.blender.org/D8826
2021-02-17 12:27:19 -03:00
cafd6b519c
PyAPI: Use PyPreConfig & PyConfig for Python initialization
...
Use Python 3.8's API for setting the initial configuration.
This replaces a mix of our logic and direct calls to the Python API
and has no user visible changes.
Using the Python API makes the logic easier to follow and provides
utilities such as `PyConfig_SetBytesArgv`
that wasn't available in previous releases.
Note that this uses Python's utf8/wchar_t conversions,
which used to cause problems (see T31506).
Since `Py_UTF8Mode` was set, the systems locale isn't used for decoding,
allowing us to use Python's utility functions that call
`Py_DecodeLocale` internally.
Ref D10382
2021-02-12 08:10:12 +11:00
606805d1b7
Cleanup: use 'r_' prefix for return arguments, order last
2021-02-05 22:34:03 +11:00
af88d23ffa
Revert "Fix typo; Documentation; Expose layer for framebuffer attachament; Add framebuffer viewport setter; Remove framebuffer restore; Expose framebuffer push/pop stack API; Remove blend modes; Remove depth_range_set; Implement GPU_face_culling, GPU_front_facing, GPU_point_size, GPU_line_width, GPU_viewport, GPU_color_mask and GPU_depth_mask"
...
This reverts commit 9db3d1951d .
This was an accidental commit of the patch D8826
2021-01-10 21:07:04 -03:00
9db3d1951d
Fix typo; Documentation; Expose layer for framebuffer attachament; Add framebuffer viewport setter; Remove framebuffer restore; Expose framebuffer push/pop stack API; Remove blend modes; Remove depth_range_set; Implement GPU_face_culling, GPU_front_facing, GPU_point_size, GPU_line_width, GPU_viewport, GPU_color_mask and GPU_depth_mask
2021-01-10 19:01:53 -03:00
fea1026bb8
Cleanup: use 'pragma once'
...
Add explanations for cases the header-guard defines are still used.
2021-01-04 17:38:11 +11:00
397cec6a4d
Cleanup: Pass 'FILE *' instead of 'void *' for BPY_python_backtrace
...
This was committed as a temporary workaround in 82150f5641
as release builds were failing (only debug builds worked).
This adds `stdio.h` to the header which is now split into a file that
contains more specialized functionality.
Also move function body inside BPY_python_backtrace,
removing PyC_StackPrint as we have PyC_StackSpit() for
similar functionality that can be called from a debugger.
2020-08-17 18:31:04 +10:00
82150f5641
Workaround release builds failing
...
Issue caused by e9c4325515 .
2020-08-06 19:19:25 +10:00
Daniel Bailey
e9c4325515
Python: include Python stack trace in the crash log
...
This helps Python developers troubleshoot errors when
Python causes a crash.
2020-08-06 15:44:00 +10:00
2bc791437e
Cleanup: use 'r_' prefix for output arguments
...
Also pass some args as 'const'.
2020-03-25 17:58:58 +11:00
576d385ddb
PyAPI: add utility functions get the size from an evaluated string
...
Allows including null bytes in the resulting string.
2019-12-11 18:04:44 +11:00
b5f77973a7
Cleanup: remove BLI_dynstr use in py_capi_utils
...
Needed for standalone mathutils module.
2019-10-22 17:38:48 +11:00
07feb6e814
PyC API: utility to parse a string as an RNA like enum
...
More convenient than comparing strings,
with the advantage that errors don't need to repeat expected values.
2019-10-01 05:18:25 +10:00
e12c08e8d1
ClangFormat: apply to source, most of intern
...
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-17 06:21:24 +02:00
de13d0a80c
doxygen: add newline after \file
...
While \file doesn't need an argument, it can't have another doxy
command after it.
2019-02-18 08:22:12 +11:00
eef4077f18
Cleanup: remove redundant doxygen \file argument
...
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
2019-02-06 15:45:22 +11:00
65ec7ec524
Cleanup: remove redundant, invalid info from headers
...
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
2019-02-02 01:36:28 +11:00
debb68024e
PyAPI: add PyC_Err_SetString_Prefix for internal use
2019-01-17 08:38:59 +11:00
66738d4aa0
Merge branch 'master' into blender2.8
2018-10-11 09:08:30 +11:00
2083a7e274
Cleanup: style (pointers)
2018-10-11 09:03:39 +11:00
d022794cad
Cleanup: rename checks for Python struct strings
...
Using 'format' prefix made this read as if t was for string formatting.
Use 'PyC_StructFmt' prefix instead since these values are compatible
with formatting from Python's 'struct' module.
2018-10-08 08:37:32 +11:00
af7967b010
CPython: py_capi_utils: format char utilities do not need to be inline.
2018-10-07 12:22:17 -03:00
91bfea5b05
CPython: py_capi_utils: use more descriptive names for format string utilities.
2018-10-07 12:21:09 -03:00
ee2e30683c
Cleanup: style
2018-10-07 17:49:22 +11:00
495a7128cb
Cleanup: use the naming convention in py_capi_utils
...
And use inline functions instead of preprocessor directives.
2018-10-06 01:15:15 -03:00
98e62d459a
py_capi_utils: add utilities for format string in struct module style syntax.
2018-10-06 00:13:40 -03:00
88a893a838
Merge branch 'master' into blender2.8
2018-09-03 12:48:51 +10:00
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
39ee0f01e3
Merge branch 'master' into blender2.8
2018-08-31 14:25:42 +10:00
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
ea339dc62c
Merge branch 'master' into blender2.8
2018-06-26 09:34:13 +02:00
a69f985f40
PyAPI: move deep-copy args check to py_capi_utils
2018-06-26 09:31:57 +02:00
Dalai Felinto
159806140f
Removing Blender Game Engine from Blender 2.8
...
Folders removed entirely:
* //extern/recastnavigation
* //intern/decklink
* //intern/moto
* //source/blender/editors/space_logic
* //source/blenderplayer
* //source/gameengine
This includes DNA data and any reference to the BGE code in Blender itself.
We are bumping the subversion.
Pending tasks:
* Tile/clamp code in image editor draw code.
* Viewport drawing code (so much of this will go away because of BI removal
that we can wait until then to remove this.
2018-04-17 17:51:28 +02:00
31f2a6755d
PyAPI: Add PyC_Tuple_Pack_F64 utility
2018-04-02 19:48:34 +02:00
017c731cf3
Logging: use for Python API
...
Adds categories "bpy.context" & "bpy.rna"
2018-04-02 13:13:57 +02:00
0b325ba201
PyAPI: PyC_Err_PrintWithFunc utility function
...
Move function error printing utility into py_capi_utils.
2017-11-29 13:41:10 +11:00
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
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
55861cb234
PyAPI: avoid instantiating args twice in macro
...
Would cause problems if args included function calls.
2017-08-23 18:48:32 +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