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
2020-10-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
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-24Cleanup: use doxy sections, update comments missed from refactorCampbell Barton
2020-07-21Drivers: add lerp and clamp functions to namespace.Alexander Gavrilov
Implementation of lerp without a function requires repeating one of the arguments, which is not ideal. To avoid that, add a new function to the driver namespace. In addition, provide a function for clamping between 0 and 1 to support easy clamped lerp, and a smoothstep function from GLSL that is somewhat related. The function implementations are added to a new bl_math module. As an aside, add the round function and two-argument log to the pylike expression subset. Differential Revision: https://developer.blender.org/D8205
2020-07-20T77086 Animation: Passing Dependency Graph to DriversSybren A. Stüvel
Custom driver functions need access to the dependency graph that is triggering the evaluation of the driver. This patch passes the dependency graph pointer through all the animation-related calls. Instead of passing the evaluation time to functions, the code now passes an `AnimationEvalContext` pointer: ``` typedef struct AnimationEvalContext { struct Depsgraph *const depsgraph; const float eval_time; } AnimationEvalContext; ``` These structs are read-only, meaning that the code cannot change the evaluation time. Note that the `depsgraph` pointer itself is const, but it points to a non-const depsgraph. FCurves and Drivers can be evaluated at a different time than the current scene time, for example when evaluating NLA strips. This means that, even though the current time is stored in the dependency graph, we need an explicit evaluation time. There are two functions that allow creation of `AnimationEvalContext` objects: - `BKE_animsys_eval_context_construct(Depsgraph *depsgraph, float eval_time)`, which creates a new context object from scratch, and - `BKE_animsys_eval_context_construct_at(AnimationEvalContext *anim_eval_context, float eval_time)`, which can be used to create a `AnimationEvalContext` with the same depsgraph, but at a different time. This makes it possible to later add fields without changing any of the code that just want to change the eval time. This also provides a fix for T75553, although it does require a change to the custom driver function. The driver should call `custom_function(depsgraph)`, and the function should use that depsgraph instead of information from `bpy.context`. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D8047
2020-07-03Clang-Tidy: Enable readability-redundant-control-flowHans Goudey
2020-05-01Cleanup: moved drivers to BKE_fcurve_driver.h / fcurve_driver.cSybren A. Stüvel
All the driver-specific code in `fcurve.c` has been moved into a new file `fcurve_driver.c`. The corresponding declarations have been moved from `BKE_fcurve.h` to `BKE_fcurve_driver.h`. All the `#include "BKE_fcurve.h"` statements have been investigated and replaced with `BKE_fcurve_driver.h` where necessary. No functional changes.
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-03-29Cleanup: style, use braces for the Python APICampbell Barton
2019-03-26Fix T62946: missing warning when Python driver expression execution is disabled.Brecht Van Lommel
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-02Cleanup: use G_FLAG_*/G_FILE_* for G.f/fileflagsCampbell Barton
Was confusing eg: G_AUTOPACK belonged to G.fileflags, G_PICKSEL to G.f.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
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-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2018-09-16Fix driver expression bytecode validation crash if parsing fails.Alexander Gavrilov
Another NULL pointer access: nothing to validate if it already failed.
2018-09-16Fix a crash when a driver expression evaluates to NaN.Alexander Gavrilov
The debug logging statement was accessing a NULL pointer. Also happens in 2.79.
2018-08-01Merge branch 'master' into blender2.8Campbell Barton
2018-08-01Cleanup: declare vars or make staticCampbell Barton
2018-07-06Merge branch 'master' into blender2.8Campbell Barton
2018-07-06PyDrivers: update bytecode check for Python3.6Campbell Barton
2018-06-18Fix merge error in bpy_driver.cCampbell Barton
2018-06-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17Python: Allow untrusted py-drivers to run limited expressionsCampbell Barton
Limit to a restricted set of built-ins, as well as the math module. Also restrict of op-codes, disallowing imports and attribute access. This allows most math expressions to run without any performance cost once the initial check is done. See: D1862 for details.
2018-06-11Drivers: ensure Python expressions are cached with copy-on-write.Brecht Van Lommel
Store the compiled expressions on the original driver. Ref T55442.
2018-06-04Cleanup: strip trailing space in Python moduleCampbell Barton
2016-07-31PyAPI: minor optimization for dictionary creationCampbell Barton
Pass size when its known.
2016-07-31Py-Driver: re-use self PyObject when its unchanged.Campbell Barton
2016-07-31Py-Driver: use intern stringsCampbell Barton
Avoids managing strings inline
2016-07-30Py-Driver: add 'self' optionCampbell Barton
Drivers can use this to refer to the data which the driver is applied to, useful for objects, bones, to avoid having to create a variable pointing to its self.
2016-07-14PyAPI: fix memory leaks in dictionary assignmentCampbell Barton
Thanks to Kévin Dietrich for spotting driver leak, checked other uses of PyDict_SetItem and found more.
2016-05-17C99/C++11: replace deprecated finite() by isfinite().Brecht Van Lommel
2016-04-25Recent pydriver update missed setting 'curval'Campbell Barton
Using PyObject's for drivers (82b0a9e36) still needs to set the 'current value' for debug info to display in the UI. Resolves T48251
2016-04-05PyDriver support for all RNA property typesCampbell Barton
Support for driver variables that don't resolve to numbers, eg: objects, bones, curves... etc. Without this, Python expressions to access this data needed to use an absolute path from `bpy.data`, however this is inconvenient, breaks easily (based on naming) and wouldn't set the dependencies correctly.
2016-02-25Correct commentsCampbell Barton
2015-11-16Add missing newlines for debug printsCampbell Barton
2014-11-16Cleanup: use BLI_listbase_*** prefix for count,sort,sort_rCampbell Barton
2014-05-07Remove redundant NULL checkCampbell Barton
2013-09-19replace macro PYC_INTERPRETER_ACTIVE for PyC_IsInterpreterActive() function ↵Campbell Barton
call, (indirectly referenced Python define of ~30 lines, most were optimized out but still caused some code bloat).
2013-06-12minor changes to the script auto-execution based on Brecht's suggestions.Campbell Barton
2013-06-10Python script auto-execution changes:Campbell Barton
- script execution is off by default - if a blend file attempts to execute a script this shows a message in the header with the action that was suppressed (script/driver/game-autostart) and 2 buttons to either reload the file trusted, or to ignore the message. - the file selector will always default to use the trust setting in the user preferences, but reloading an open file will keep using the current setting (whatever was set before or set on the command-line). - added SCons setting WITH_BF_PYTHON_SECURITY, this sets the default state for the user prefereces not to trust blend files on load. ... this option was in CMake before, but always off, now its enabled by default for SCons and CMake, and forced on in CMake for now.
2013-03-17code cleanup: add 'const' to headers to quiet msvc warnings, also remove ↵Campbell Barton
(char *) casts that aren't needed now we're on Python3.3
2013-01-07code cleanup: warnings and use stdbool for bpy* funcs.Campbell Barton
2012-10-15code cleanup: define sizes of vectors for function args and use C style commentsCampbell Barton
2012-05-19code cleanup: use TRUE/FALSE rather then 1/0 for better readability, also ↵Campbell Barton
replace do prefix with do_ for bool vars.
2012-03-18spelling cleanupCampbell Barton
2011-12-26formatting edits only to use more consisted styleCampbell Barton