Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
|
|
length of the array is only used to check if the property is an array or not.
(this isnt reliable since arrays can be zero length).
|
|
outliner, also typo corrections.
|
|
it (mesh, lattice, curve, surface)
previously this had to be done one by one.
both single and triagle vertex parents can be made, selected based on distance to the verts.
Developer notes:
- looks like this was old TODO, enums existed but weren't used.
- only meshes currently support using.
- added BKE_object_as_kdtree(), may come in handy for similar cases.
|
|
|
|
support this.
|
|
- performance of outliner was low because of unoptimal data structures.
- now it uses BLI_mempool instead of custom mempool and GHash to make searches for duplicates faster.
- also fix undesired behaviour of BLI_mempool_as_arrayN
thanks to Campbell Barton and Lukas Tönne for helping me get a better fix put together.
|
|
This significantly lowers the position of outliner_draw_tree_element in profiler
and partially fixes [#36260] (2,300 Objects Makes Blender Unresponsive)
|
|
indent.
also indent case's within the switch (we already did both of these almost everywhere)
|
|
remove unused script define
|
|
* deduplicated a bunch of code and moved it into outliner_dropzone_find()
* moved all the per-dropzone checks into the poll functions
* one functional change, disable drop parenting on self & self->parent
The basic assumption: if poll() == true then outliner_dropzone_find() will return a valid TreeElement
|
|
|
|
- loop over scene bases rather then looping over all objects, then looking up bases.
- shuffle checks so slow ones are last.
- rather then having own behavior for recursive select, do the regular operation,
then apply the result recursively afterwards.
|
|
|
|
|
|
besides performance in some cases.
* DAG_scene_sort is now removed and replaced by DAG_relations_tag_update in
most cases. This will clear the dependency graph, and only rebuild it right
before it's needed again when the scene is re-evaluated.
This is done because DAG_scene_sort is slow when called many times from
python operators. Further the scene argument is not needed because most
operations can potentially affect more than the current scene.
* DAG_scene_relations_update will now rebuild the dependency graph if it's not
there yet, and DAG_scene_relations_rebuild will force a rebuild for the rare
cases that need it.
* Remove various places where ob->recalc was set manually. This should go
through DAG_id_tag_update() in nearly all cases instead since this is now
a fast operation. Also removed DAG_ids_flush_update that goes along with
such manual tagging of ob->recalc.
|
|
operator search.
|
|
|
|
- The new "Main Data" option is now under the category "Blender File".
- That category also displays the Linked Library files.
(Including allows browsing what's used from this file)
Also fixed CTRL+click on names, crashed.
|
|
did not work.
|
|
|
|
few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()...
|
|
|
|
|
|
|
|
with V and R shortcut keys.
|
|
add an option to apply the transform of an object when re-parenting.
the reason for this is you dont always want to apply transform because...
- your object may be driven/animated and the transformation will be lost.
- with negative scales and rotation it can end up giving odd/not-useful results.
|
|
|
|
|
|
|
|
assigned: object, obdata, by userpref(default) (as discussed with ideasman_42)
|
|
difference is seen right and left.
This auto/heat vgroup creation seems to be fuzzy/unstable (each run gives a slightly different result). I have not the competences (nor time) to investigate that laplacian stuff, so for now just adding an option when parenting to an armature with envelope/heat, to mirror weights along the X axis (as it is done by default when doing it from the Weight Paint mode).
|
|
normalise->normalize).
|
|
Adds the material at materials + 1 unlike the DnD view3d one which replaces the first one
|
|
Crash was caused by recent changes in parent drop operator which were
aimed to prevent parenting objects between different scenes (which probably
makes sense).
The problem was how it was checked if objects belongs to the same scene --
outliner tree with type ID_SCE was used for this which works pretty nice
for All Scenes outliner view. But in other view modes there is no scene
element in outliner tree which lead to some NULL pointer dereferences.
Currently resolved this by assuming that if there's no Scene parent element
in outliner tree parent and child belongs to the same scene which is active
scene. This is truth for current view modes of outliner but if it'll be
changed in the future this assumption shall be updated and re-implemented
with some smarter checks of which scene object from outliner belongs to.
|
|
|
|
OUTLINER_OT_parent_drop
* use scene of child instead of active scene
* poll to check if parent and child are in same scene
OUTLINER_OT_parent_clear
* get scene from child instead of only working on active scene
* poll to check if no parent
OUTLINER_OT_scene_drop && OBJECT_OT_make_links_scene
* memory leak on error
* would only link some objects on error
|
|
Refactored the two (well, three now) other places where an object is linked to a scene into ED_object_scene_link()
|
|
to the poll functions
Parenting was just broken, poll would return true but nothing would happen if you dropped on modifiers or constraints
Parent clear now works the same as dropping on a non-ID_OB types but left the actual modifier/contraint instances open to allow for future expansion
|
|
|
|
a string.
|
|
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
|
|
also stop numpy from being found in /usr/include with cmake.
|
|
|
|
|
|
header cleanup.
|