Commit Graph

299 Commits

Author SHA1 Message Date
7a1dc20560 Cleanup: quite some harmless but noisy warnings from gcc... 2015-01-11 21:14:39 +01:00
5c6e333780 UI Refactor T41640
Make the UI API more consistent and reduce confusion with some naming.

mainly:
- API function calls
- enum values

some internal static functions have been left for now
2014-11-10 23:06:54 +01:00
2f0bdcb306 Fix T41041: 'Delete keyframe' removes markers too
Operators that trigger UI events (but nothing else)
were using 'CANCELLED' making it impossible to tell if an invoke
function failed, or opened a menu.
2014-10-28 17:51:43 +01:00
9ce8dfaf6a Fix T42324: Curve deform modifier from mesh edge doesnt work properly
Curve parent requires valid path to exist for curve. If the path is disabled in
the curve settings, displist evaluation will check the dependency graph whether
the path is needed for parenting.

The issue was that changing relations in the scene chagned need of the curve path
but nothing tagged the curve to update it's path.

For now use direct call of DAG_id_tag_update from set_parent(). In the bright
future we might detect such a need in flush automatically in the depsgraph.
2014-10-21 19:16:29 +06:00
0a738280e1 Cleanup 2014-10-11 11:44:28 +02:00
f7957e2f7e Cleanup: tabs in empty lines. 2014-10-10 18:45:11 +02:00
32bc1eb677 Cleanup (no functional changes):
* int -> bool where possible
* Use const where possible
* Get rid of magic numbers
* Add/tweak a few UI tips
* A few other misc changes.
2014-10-10 18:45:11 +02:00
b100bdca25 Fix T41950: Parent-Child Menu behaves weird
Issue was, parenting with operator, then unparenting would keep the inverse parent matrix.
So if you then parented again through the mere Object field of Object buttons, you'd still
use previous inver parent matrix, giving some weird behavior from user PoV.

This commit simply makes sure inverse parent matrix is always reset to indentity when clearing
parents.
2014-10-10 18:45:11 +02:00
81c4c29504 Fix T42075: DnD Material not updating render view 2014-10-06 14:08:47 +02:00
ca8d026fef Fix T40595: File broken after "make local->all" 2014-09-04 14:14:42 +10:00
e44cd30abb Fix T41507: Empty prevents image deletion
Also allow assigning `Object.data = None` from Python
2014-08-21 17:05:47 +10:00
00b29156e0 Defines: replace ELEM3-16 with ELEM(...), that can take varargs 2014-07-20 01:33:40 +10:00
481e8ab3c9 Fix: NLA editor not being updated on using "Make Links" (Ctrl)+(L). We're emitting a ND_NLA_ACTCHANGE signal now to make that work.
Found while documenting the NLA for my upcoming book
2014-06-29 14:22:09 +02:00
33e8451d4b Better description for the "make links" operator.
This is a misnomer: the operator copies data (mostly pointers) of
various types from the active to selected objects. "Make Link" implies
creating a permanent connection between these objects ...
2014-06-26 10:41:54 +02:00
3d7d930e31 Fix for crash when doing "make local object+data" on an empty.
This commit added object data loop, without checking ob->data for NULL:
rB6e5e3b73f37f952420d87a3d8acd07a7f68dd5a3
2014-05-12 07:49:31 +02:00
b82d639f3d Stop all dynamic enums using translations (from blend file data) 2014-05-05 15:23:35 +10:00
cf069afdfd Fix: T40016 ID Names translated in menus 2014-05-05 15:09:29 +10:00
a1ba57a008 Fix T40010: Single user looses parent relationship (temporarily) 2014-05-04 08:36:15 +10:00
2ce3e4639a Fix for making single user objects setting FROMGROUP flag incorrectly 2014-05-01 06:52:10 +10:00
4ca67869cc Code cleanup: remove unused includes
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-05-01 04:47:51 +10:00
c67bd49e56 Code cleanup: use 'const' for arrays (editors) 2014-04-27 00:25:15 +10:00
3216e4b202 API Cleanup: Use BKE_constraint prefix for constraint api 2014-04-11 11:47:07 +10:00
617557b08e Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT define 2014-04-01 15:22:28 +11:00
6e5e3b73f3 Fix T37599: Crash making linked objects local and undo
Root of the issues comes to the fact that it's possible to produce
a situation when library object data uses local object. This is
actually forbidden and not supported by .blend IO.

Made it so Make Local wouldn't produce such an unsupported states.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D372
2014-03-28 17:14:11 +06:00
7da2175271 KDTree: deprecate 'normal' argument
Normals for each kdtree node were allocated but never used,
and search args only use in particles/boids code.
2014-03-18 09:14:47 +11:00
a5c35fb27f Code cleanup: use booleans where appropriate 2014-01-28 04:00:04 +11:00
fcec99d9cc Whitespace/Style fix 2014-01-15 14:45:46 +13:00
6734936c13 RNA API: use bool's for enum itemf callbacks. 2014-01-04 18:10:01 +11:00
0d6ae3fda2 Main API: refactor naming, use BKE_main_ prefix and add main arg. 2013-12-30 13:25:27 +11:00
c46463eb3f Code Cleanup: use ELEM macro when checking object type 2013-12-09 21:20:07 +11:00
e99586fee2 Fix #37090: Blender crashes on "Make single user" option
issue was caused by id->mewid pointing to an invalid memory
after file load.

The rule here: all the tools need to reset it to NULL (or
other value they need) in the beginning.

Currently some tools are doing newid clear in the beginning
and some does it in the end. We need to clean it up so clear
only happens in the beginning.

But ideal we need some kind NewIDContext to make duplication
safe for threading.
2013-10-15 17:11:15 +00:00
7ad59c4e2c fix odd (intentional) behavior with vertex parent,
curve children of a triangle vertex parent would only display their relationship line to the first vertex. (confusing)

also added OB_TYPE_SUPPORT_PARVERT macro.
2013-09-01 22:38:41 +00:00
4c7ded98bc support for vertex parenting in object mode for object types which support 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.
2013-09-01 22:01:21 +00:00
c4a50e9aeb remove unneeded NULL checks, add one for give_matarar() return value. 2013-07-28 06:37:58 +00:00
9634f8f115 transform was flushing the selection (inline), now skip this and use the selection as-is.
flush the selection on entering editmode instead (since the selection mode can be changed with another mesh).
is other tools leave the selection incorrectly flushed, those will need to be fixed so transform works as expected.
2013-07-22 10:44:24 +00:00
397da50002 style cleanup: switch statements, include break statements within braces & indent.
also indent case's within the switch (we already did both of these almost everywhere)
2013-07-19 15:23:42 +00:00
bbfc3c6cee Fix #35992: crash using make links > animation data between empty and mesh object. 2013-07-03 20:37:09 +00:00
3181c4ecd5 Fix #35935: make links > groups, which copies group membership between objects,
would also copy object dupligroups (next item in the menu).
2013-07-03 17:16:24 +00:00
d6c14ed855 Fix #35964: viewport render not updating with linking materials with ctrl+L. 2013-07-02 17:21:40 +00:00
24e8f2f4ce fix for crash linking fonts to other objects with linked obdata (link, undo would crash). 2013-06-28 18:39:39 +00:00
a6b505ef0b style cleanup 2013-06-06 06:02:46 +00:00
902976e012 Fix #35378: Shape Key Animation Data still linked when creating full copy of scene
Two issues were found:

- Mesh/Curve/Lattice kay blocks weren't copying their actions
  when making object data local. This lead to object data using
  diffrent AnimData structures which were using the same action.

- Copying actions shall happen after object object data was
  localized. This is so because otherwise we'll copy actions
  for original AnimData, not for copied one.

Reviewed by Joshua, thanks!
2013-06-03 12:28:46 +00:00
6f8c29ab0b fix for 2 errors introduced since release
- shape key NULL pointer dereference.
- use uninitialized variable for bmesh free.

also update credits and merge dissolve flag assignment.
2013-05-09 07:02:51 +00:00
c8cf9415de Fix #35149: solidify modifier + vertex parent not working after going in and out
of editmode on the child object.

Problem was that the object custom data mask was not taken into account when
rebuilding the derivedmesh in some cases, which is needed for the derivedmesh
to contain the mapping back to the original vertices. Now this data mask is
used for any derivedmesh build that will be cached.

Also problematic was that the datamask for the active object was applied to
all objects in the scene, which caused the parent object to be recalculated
when it didn't need to be. Now this datamask is only used for the active object.
2013-05-01 14:34:12 +00:00
ed68497700 style cleanup 2013-04-25 16:35:57 +00:00
2043d801e8 Fix #34806: rigid body world settings were not copied with a full scene copy.
Now copying a scene will also duplicate groups that consist entirely of objects
that are duplicated with the scene. The rigid body world will then also pointers
to these new groups.
2013-04-24 23:09:25 +00:00
4df0c46f83 Make freestyle use local Main for temporary objects
This means main database is no longer pollutes with
temporary scene and objects needed for freestyle
render.

Actually, there're few of separated temporary mains
now. Ideally it's better to use single one, but it's
not so much trivial to pass it to all classes. Not
so big deal actually.

Required some changes to blender kernel, to make it
possible to add object to a given main, also to
check on mesh materials for objects in given main.
This is all straightforward changes.

As an additional, solved issue with main database
being infinitely polluted with text blocks created
by create_lineset_handler function.

This fixes:
- #35003: Freestyle crashes if user expands objects in FRS1_Scene
- #35012: ctrl+f12 rendering crashes when using Freestyle
2013-04-18 08:58:21 +00:00
37e73aa368 code cleanup: use BKE naming conventions for functions in BKE_editmesh.h and BKE_editmesh_bvh.h 2013-04-16 05:59:48 +00:00
456f3b318a code cleanup: minor changes, clang checker option for exact size matches and use vector functions. 2013-04-14 12:01:12 +00:00
6da961775f code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere). 2013-04-13 20:31:52 +00:00