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
2018-06-21Cleanup: remove DM from 'join as shape' operator.Bastien Montagne
Also deduplicated the 'mesh as shapekey' code, we had kind of two funcs doing the same thing here...
2018-06-12Cleanup: remove moar G.main from BKE area.Bastien Montagne
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-06-14Make whole ID copying code use const source pointer.Bastien Montagne
Noisy change, but safe, and better do it sooner than later if we are to rework copying code. Also, previous commit shows this *is* useful to catch some mistakes.
2016-07-14Get rid of BKE_key_make_local().Bastien Montagne
This function was only a wrapper around id_clear_lib_data(), and shapekeys are not linkable nor shareable anyway, no point keeping this currently, was only adding confusion about shapekey 'status' as a datatblock.
2016-07-14Add option to id_make_local to force localization of datablock, even if not ↵Bastien Montagne
used locally. Will be used by link/append code.
2016-07-10Cleanup/Refactor: pass Main pointer to all ID copy functions.Bastien Montagne
Also allows us to get rid of a few _copy_ex() versions...
2016-07-09Add BKE_key_copy_ex() that takes a Main as parameter.Bastien Montagne
2016-07-09Cleanup to shapekeys' make_local (and copy) functions.Bastien Montagne
Mostly pass bmain and do not check for NULL key, keys' make_local is suspiciously simple in fact, but think until those behave like real full-featured IDs, it's doing enough!
2015-10-12Add functions to compute normals (verts, polys and loops ones) for a given ↵Bastien Montagne
shapekey. Title says pretty much everything, we now have BKE and RNA funcs to get vertex, poly and loop normals of a given shapekey. This will be used e.g. in FBX exporter (shapekeys need normal data too). Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D1510
2015-10-08BKE_key: add BKE_key_from_id helper functionsCampbell Barton
2015-06-08RNA: Object.shape_key_remove methodCampbell Barton
Python had no ability to remove shape keys Original D1169 from @lichtwerk, with edits
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-01-06Remove slurph shape-key featureCampbell Barton
This is an old option which wasn't working in over a year without complaint.
2014-11-17ShapeKeys: Add `BKE_keyblock_is_basis` to check whether a given keyblock is ↵Bastien Montagne
used a basis by others. Also fix stupid debug-only error in previous commit.
2014-11-17Cleanup: rename `BKE_key_convert/update` to `BKE_keyblock_convert/update`.Bastien Montagne
We are handling a keyblock here, not a whole key(set). Names are alreay a bit confusing, let's be consistent at least.
2014-11-17ShapeKey: Refactor a bit `BKE_key_convert_from_...`Bastien Montagne
Thing is, those functions always reallocate the whole keyblock's data mem, while in some cases we already have right amount of elements, so we can just copy over. Further more, `BKE_key_convert_from_offset`, despite its name, was not making any check nor allocation on keyblock's data elements! So split 'copy' operation itself in `BKE_key_update_from_...`, where no mem checks/operations are performed (only an assert). Only useful in sculpt mode currently, but will be used by fix for T35170 too.
2014-10-21ShapeKeys: rework 'move skey' code, and add options to move to first/last ↵Bastien Montagne
position. Main moving logic is moved to new `BKE_keyblock_move()`, which makes it available from anywhere. In addition, move code was reworked so that it only loops once on whole keyblocks list, and it accepts arbitrary org and dest indices, not only neighbor ones. Partly based on work by revzin (Grigory Revzin) in his soc-2014-shapekey GSoC branch, thanks!
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2013-08-19Optimization and threading fix for shapekeys weights calculationSergey Sharybin
This commit fixes two different issues, which were caused by how weights are being calculated for relative shapekeys. Weights for key block used to saved in KeyBlock DNA structure, which lead to situations when different objects could start writing to the same weights array if they're sharing the same key datablock. Solved this in a way so weights are never stored in KeyBlock and being passed to shapekeys routines as an array of pointers. This way weights are still computed run-time (meaning they're calculated before shapekey evaluation and freed afterwards). This required some changes to GameEngine as well, to make it never cache weights in the key blocks. Another aspect of this commit makes it so weight for a given vertex group is only computed once. So if multiple key blocks are using the same influence vertex group, they'll share the same exact weights array. This gave around 1.7x speedup in test chinchilla file which is close enough to if we've been caching weights permanently in DNA (test machine is dual-code 4 threads laptop, speedup measured in depsgraph_mt branch, trunk might be not so much high speedup). Some further speed is optimization possible, but it could be done later as well. Thanks Brecht for idea of how the things might be solved in really clear way. -- svn merge -r58786:58787 ^/branches/soc-2013-depsgraph_mt
2013-07-19optimization: avoid memcpy with shake key vertex array.Campbell Barton
2013-01-03fix [#33682] Animation not updated when the active shape index isnt setCampbell Barton
2012-10-09code cleanup: make header defines more consistent, JOYSENSOR header guard ↵Campbell Barton
had a typo too.
2012-09-19joining mesh objects now keeps relative key setting of each keyblock. also ↵Campbell Barton
joining absolute shapekeys now sorts by time.
2012-09-19code cleanup: make shape key api names consistent with our new convention.Campbell Barton
2012-05-22code cleanup: key/interpolationCampbell Barton
2012-05-13code cleanup: header cleanup and remove some duplicate defines.Campbell Barton
2012-05-05code cleanup: function naming, use BKE_*type* prefix.Campbell Barton
2012-04-12change add_keyblock() not to sort keyblocks by time since this can be a ↵Campbell Barton
problem when using the function in lower level parts of the code, instead add add_keyblock_ctime() which sets time and sorts on absolute shape keys.
2012-02-18svn merge ^/trunk/blender -r44189:44204Campbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2011-10-24svn merge ^/trunk/blender -r41226:41227 .Campbell Barton
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-02-27merge with/from trunk at r35190Joseph Eagar
2011-02-18doxygen: blenkernel under core as module.Nathan Letwory
2011-02-13fix for warnings from Sparse static source code checker, mostly BKE/BLI and ↵Campbell Barton
python functions. - use NULL rather then 0 where possible (makes code & function calls more readable IMHO). - set static variables and functions (exposed some unused vars/funcs). - use func(void) rather then func() for definitions.
2011-01-03fix for linking on msvc with own recent changes.Campbell Barton
2011-01-03- add in asserts for unlikely cases of invalid ID types being assigned to ↵Campbell Barton
key->from. - mode duplicate pointer/offset code into a static function.
2010-11-17use 'const char *' by default with RNA functions except when the value is ↵Campbell Barton
flagged as PROP_THICK_WRAP. Also use const char in many other parts of blenders code. Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
2010-07-19part 1 of merge from trunk at r30358; it compiles, but doesn't link quite yet :)Joseph Eagar
2010-06-23Sculpt+shape keys:Sergey Sharybin
- Sculpting on the basis key should change original mesh - For relative keys sculpting on basis key should update others
2010-06-22[#22262] Sculpting shape keys using the Smooth brush switches the shape to ↵Sergey Sharybin
the Basis PBVH used the same verts array as mesh data and shape key/reference key coords were applying on the mesh data, so on some refreshing undeformed mesh was displayed. Added utility functions to get vert coords from key block, apply new vert coords on keyblock and function to apply coords on bpvh, so now pbvh uses it's ovn vertex array and no changes are making to the mesh data. Additional change: Store key block name in SculptUndoNode, so now shape wouldn't be copied to wrong keyblock on undo
2010-03-09merge with trunk at r27259 and commit of a patch by anthony jones to fix ↵Joseph Eagar
msvc (though further work may be needed because changes made by the merge
2010-02-12correct fsf addressCampbell Barton
2010-01-13merge with trunk/2.5 at r25907Joseph Eagar
2009-12-28- object.add_shape_key(name="Key", from_mix=True)Campbell Barton
- ensure new shape key names are unique - Transfer ShapeKey now can have its settings changes (redo operator)
2009-12-28moved shape key insert function into BKE_object.hCampbell Barton
2009-11-29ok, apparently didn't commit this either. apparently includes a merge with ↵Joseph Eagar
trunk/2.5 at r24811 I thought I'd committed but did not, yeek.
2009-11-22* New option on modifiers that don't change topology: Apply as ShapeMatt Ebb
Rather than applying the modifier to the object data, it will create a new shape with the deformed vertices in there. Only mesh at the moment, other object types on the todo.
2009-11-11Forgot to include these files in sculpt shape key commit.Brecht Van Lommel