Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-07Cleanup: redundant parenthesisCampbell Barton
2022-09-28Fix GC tracking error for instances of mathutils typesCampbell Barton
Mathutils types were always GC tracked even when it wasn't intended. Not having to track objects speeds up Python execution. In an isolated benchmark created to stress test the GC creating 4-million vectors (re-assigning them 100 times), this gives an overall ~2.5x speedup, see: P3221. Details: Since [0] (which added support for sub-classed mathutils types) tp_alloc was called which defaults to PyType_GenericAlloc which always GC tracked the resulting object when Py_TPFLAGS_HAVE_GC was set. Avoid using PyType_GenericAlloc unless the type is sub-classed, in that case the object is un-tracked. Add asserts that the tracked state is as expected before tracking & un-tracking, to ensure changes to object creation don't cause objects to be tracked unintentionally. Also assign the PyTypeObject.tp_is_gc callback so types optionally GC track objects only do so when an object is referenced. [0]: fbd936494495d0de54eef24a97957e000306785f
2022-09-19Cleanup: prefer 'arg' over 'params' for sphinx documentationCampbell Barton
While both are supported, 'arg' is in more common use so prefer it.
2022-08-25BLI_math: ensure non-negative matrices for mat3_to_quat calculationsCampbell Barton
Making the callers responsible for this isn't practical as matrices are often passed indirectly to a functions such as mat3_to_axis_angle, BKE_object_mat3_to_rot & BKE_pchan_mat3_to_rot. Or the matrix is combined from other matrices which could be negative. Given quaternions calculated from negative matrices are completely invalid and checking only needs to negate matrices with a negative determinant, move the check into mat3_to_quat and related functions. Add mat3_normalized_to_quat_fast for cases no error checking on the input matrix is needed such as blending rotations.
2022-08-24Fix T94231: Matrix.to_quaternion() returns invalid rotationCampbell Barton
The result of mat3_normalized_to_quat isn't valid for negative matrices. Isolate the fix to the Matrix.to_quaternion() instead of changing mat3_normalized_to_quat to prevent unintended side effects elsewhere.
2022-07-11PyAPI: add Matrix.is_identity read-only attributeCampbell Barton
Add a convenient way of checking if the matrix is an identity matrix.
2022-05-25Cleanup: use doxy sections for mathutils typesCampbell Barton
Also minor improvements & corrections to comments.
2022-03-28Cleanup: use "num" as a suffix in: source/blender/pythonCampbell Barton
See T85728
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2021-12-02Cleanup: move public doc-strings into headers for 'python'Campbell Barton
2021-10-20Cleanup: use elem macrosCampbell Barton
2021-09-03PyAPI: add read-only 'is_valid' attribute to mathutils typesCampbell Barton
There was no convenient way to check if the owner of a mathutils type was valid. Added to support issue reported in T91111.
2021-07-20Cleanup: use single back-tick quoting in commentsCampbell Barton
While doxygen supports both, conform to our style guide. Note that single back-tick's are already used in a majority of comments.
2021-07-16Cleanup: remove redundant parenthesesCampbell Barton
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-26Cleanup: full sentences in comments, improve comment formattingCampbell Barton
2021-06-24Cleanup: update clang-format so PyObject_HEAD indents properlyCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-05-27Fix incorrect BLI_snprintf usageCampbell Barton
Event though in practice this wasn't causing problems as the fixed size buffers are generally large enough not to truncate text. Using the result from `snprint` or `BLI_snprintf` to step over a fixed size buffer allows for buffer overruns as the returned value is the size needed to copy the entire string, not the number of bytes copied. Building strings using this convention with multiple calls: ofs += BLI_snprintf(str + ofs, str_len_max - ofs); .. caused the size argument to become negative, wrapping it to a large value when cast to the unsigned argument.
2021-05-18Cleanup: use const casts in mathutils APICampbell Barton
2021-05-17Mathutils: add a Matrix.LocRotScale constructor for combining channels.Alexander Gavrilov
Combining location, rotation and scale channels into a matrix is a standard task, so while it is easily accomplished by constructing and multiplying 3 matrices, having a standard utility allows for more clear code. The new constructor builds a 4x4 matrix from separate location, rotation and scale values. Rotation can be represented as a 3x3 Matrix, Quaternion or Euler value, while the other two inputs are vectors. Unneeded inputs can be replaced with None. Differential Revision: https://developer.blender.org/D11264
2021-03-24Cleanup: use new BLI_assert_unreachable macroCampbell Barton
2021-02-13Fix T85573: Building with Python 3.10a5 failsCampbell Barton
Replace deprecated _PyUnicode_AsString{AndSize} usage. T83626 still needs to be resolved before 3.10 is usable.
2020-11-06Cleanup: use ELEM macro (>2 args)Campbell Barton
2020-10-01Cleanup: clang-formatBrecht Van Lommel
2020-09-29API Docs: Use raises field list syntaxAaron Carlisle
See https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html#info-field-lists
2020-09-02Cleanup: use bool instead of int in various placesJacques Lucke
2020-08-20Cleanup: use const variables where possible in the Python APICampbell Barton
2020-08-07Cleanup: Python, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/python` module. No functional changes.
2020-07-14PyAPI: support element multiplication for vector, matrix, quaternionsCampbell Barton
This was disabled during 2.8x for smooth porting of 2.7x scripts, Now '@' is used for matrix multiplication, support '*' to multiple vector elements. See T56276.
2020-06-22Python: support building again version 3.9 (unreleased)Campbell Barton
Resolves T78089, no functional changes.
2020-06-17Cleanup: clang-formatBrecht Van Lommel
2020-06-15API docs: mathutils leaked markupTobias Heinke
Reviewed By: Blendify Differential Revision: https://developer.blender.org/D8021
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-02-20Cleanup: use named unsigned types in the Python APICampbell Barton
2020-02-20mathutils: support for to_2x2 as well as non-square matricesCampbell Barton
2020-02-20mathutils: support Vector.rotate for 2D vectorsTiago Chaves
2019-12-20Cleanup: remove redundant 'char *' castsCampbell Barton
2019-10-16Cleanup: warnings building with Python 3.8Campbell Barton
2019-08-04Cleanup: spellingCampbell Barton
2019-05-19Python API: add a Matrix.Diagonal constructor to mathutils.Alexander Gavrilov
For some reason there seems to be no way to do the very simple and obvious task of converting a scale vector to a matrix via mathutils. The Matrix.Scale constructor does something complicated instead. Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D4893
2019-04-29Cleanup: comments (long lines) in pythonCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
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-16Cleanup: trailing commasCampbell Barton
2019-03-29Cleanup: style, use braces for the Python APICampbell Barton
2019-03-25Cleanup: style, array wrappingCampbell Barton
Add trailing comma for clang-format.
2019-03-15Cleanup: indentation, wrappingCampbell Barton
Mostly functions wrapping args, not confirming to our style guide.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.