Age | Commit message (Collapse) | Author |
|
|
|
`defvert_array_find_weight_safe()` was confusing 'invalid vgroup' and
'valid but totally empty vgroup' cases.
Note that this also affected at least ShrinkWrap and SimpleDeform
modifiers.
|
|
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.
|
|
Functions like that do not have anything to do in BKE really, even less
when actually more used for bones than vgroups!
|
|
Those were forcing to use vgroup name define in bones area, or even
mixing with maxbonename... ugly, and totally avoidable.
|
|
Things like `BLI_uniquename` had nothing, but really nothing to do in
BLI_path_util files!
Also, got rid of length limitation in `BLI_uniquename_cb`, we can use
alloca here to avoid overhead of malloc while keeping free size (within
reasonable limits of course).
|
|
Corrects mirror syncing for invert, levels & smooth.
Note that the code changed to process mirroring even if both verts are selected,
since group flipping can mean that is still meaningful.
|
|
|
|
Since the coloring uses sum or average of the weights of all selected
groups, the weight pick tool should also use that instead of reading
the weight of the single active group that you can't see.
|
|
|
|
The final stage of the process (copying/interpolating new dst cddata from src cddata)
was simply broken in normal case, where we need to convert from source to destination
object space.
This patch is a bit verbose, but I cannot see how to avoid it really.
To think this code is in master since over 6 months and it only gets reported now... :/
|
|
- Add blentranslation `BLT_*` module.
- moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`).
- moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
|
|
Patch by @chadf
|
|
Will phase these out eventually
|
|
matching convention for fixed length api, eg: copy_v3_fl
|
|
Own fault, thanks a bunch to LazyDodo for finding that - and odd
GCC did not warn about it...
|
|
|
|
|
|
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)'
and 'strcmp(foo, bar) == 0' in several places...
|
|
same file names with ED_object's one.
|
|
This add code needed to map a CD data layout from source mesh towards destination one,
and code needed to actually transfer data, using BKE's mesh remap generated data.
This allows to transfer most CD layers (vgroups, vcols, uvs...) as well as fake, boolean ones
(like smooth/sharp edges/faces, etc.). Some types are not yet transferable, mainly
shape keys, this is known TODO.
Data transfer can also use some advanced mixing in some cases (mostly, vgroups and vcols).
Notes:
* New transfer operators transfer data from active object towards selected ones.
* Modifier will be committed separately.
* Old weight transfer code (for vgroups) is kept for now, mostly because it is the only
usable one in weightpaint mode (it transfers from selected object to active one,
this is not sensible in Object mode, but needed in WeightPaint one). This will be addressed soon.
Again, heavily reviewed and enhanced by Campbell, thanks!
|
|
|
|
D740 by ldo with own edits
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This option is needed when vertex groups are used for both armature
deformation and the other purpose such as influence of mesh modifier.
Thanks to Campbell for code review!
|
|
- out of bounds read when passing in empty string.
- single character prefix didnt work.
- with no suffix, the string body was truncated.
|
|
overwritten immediately after.
|
|
BKE_defgroup_new function.
|
|
|
|
|
|
|
|
Also done a few cleanup here and there...
|
|
functions.
|
|
path_util_1.patch from Lawrence D'Oliveiro (ldo)
|
|
to check on the active group or all groups.
notes:
- vertices with zero weights are considered the same as vertices outside of a group.
- currently these show black but this can be made a theme color.
- multi-paint overrides this option (noted in description)
|
|
|
|
NULL when deforming verts in the BGE, so I'm adding a NULL check back in.
|
|
- free_dverts -> BKE_defvert_array_free
- copy_dverts -> BKE_defvert_array_copy
also move the functions from BKE_mesh into BKE_deform
|
|
returning OPERATOR_PASS_THROUGH rather then a boolean.
|
|
- replace ngon_fake_area() with generic call to BM_face_calc_area().
- add defvert_find_shared() utility function.
|
|
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
|
|
checking >= 0.
also remove unused bmesh decimator code.
|
|
|
|
behave like similar functions, also when drawing vertex weight colors, only call this function when multi-paint is enabled.
|
|
|