Commit Graph

1900 Commits

Author SHA1 Message Date
Campbell Barton
723eaa36ce fix own error in BM_mesh_calc_edge_groups() was clearning wrong dirty-index flag.
also remove unused transform defines.
2013-08-14 08:14:50 +00:00
Campbell Barton
ce2e2b141e use gcc malloc attribute for low level allocation functions, prevents gcc from checking if resulting pointers alias existing pointers, also use sentinel attribute for uiButGetStrInfo so incorrect usage gives a warning. 2013-08-05 20:57:13 +00:00
Campbell Barton
d7ff7ad3e9 correct sloppy NULL checks, in interface code:
- uiPupMenuBegin was checking for NULL title but would still crash if it were NULL.
- now tag the function as 'nonnull' and remove NULL checks. make sure NULL isnt passed to it.
2013-07-27 14:17:20 +00:00
Campbell Barton
d68917cb86 code cleanup: typos 2013-07-27 07:02:27 +00:00
Campbell Barton
e69fdfab30 adjust createSpaceNormalTangent so it can take values from a matrix without having to negate the plane first.
also add ED_armature_ebone_to_mat3/4 since there were quite a few places that did this inline.
2013-07-25 12:07:55 +00:00
Campbell Barton
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
Campbell Barton
925c5010e8 fix for checking char arrays against NULL, instead check their first character. also remove some dead code (return directly after return). 2013-07-16 11:42:07 +00:00
Campbell Barton
cf20aa8344 move ED_armature_edit_bone_select() into a more general utility function so view3d-select bone operators can use it and get matching selection behavior when entering editmode.
- specifically - write to the connected parents tipsel flag when setting the rootsel flag.
2013-07-16 01:49:20 +00:00
Campbell Barton
aabddad346 draw loopcut display on the deformed mesh when in editmode. 2013-07-10 02:05:16 +00:00
Brecht Van Lommel
3f34a88fc8 Fix #36075: editing shading nodes could still crash blender internal rendered
draw mode. This happens because it uses node data structures in threads, now
it does same as preview render, which is to immediately stop the render thread
when e.g. deleting nodes.
2013-07-10 01:05:56 +00:00
Campbell Barton
a3643ee3d6 fix [#36073] Changing list items misses undo push 2013-07-09 23:40:53 +00:00
Brecht Van Lommel
751062fc5f Fix #35979, #35937, #35739: undo crashes and missing updates with blender
internal viewport rendering. Lots of tweaks here, mainly:

* Stop 3D viewport render and free database before undo.
* Accumulate update flags rather than replace them each time it rerenders, to
  avoid previous updates getting lost.
* Don't check against Render struct view parameters for changes, those are set
  in the job thread which might not run before the next update call.
2013-07-08 22:26:10 +00:00
Joshua Leung
bf6a74e3fc Bugfix [35841] WM_OT_context_[toggle/cycle/etc.] operators dont show shortcut
keys in menus (or tooltips) for properties they are used to toggle/cycle through

Some properties can be toggled using hotkeys via WM_OT_context_* operators, but
these hotkeys aren't really shown anywhere obvious like other hotkeys (i.e.
they're not shown in tooltips or menus). Although it is possible to look these
up in the userprefs/keymaps editor, it is quite tricky doing so, and most users
would just assume that since no shortcut is displayed, there simply isn't one at
all.

This commit introduces a slightly hacky fix which basically amounts to checking
if a property can be set by any of the few operators which are used for this
purpose. In order to keep this from being too sluggish, I've currently limited
this to only working on Editor (e.g. "Show Seconds" in Anim Editors) and
ToolSettings (e.g. "Use Proportional Edit") properties.

There are still some corner cases that would be nice to solve too (i.e. the
Pivot Type enum menu/dropdown should really be able to show the hotkeys which
have been assigned for each of those items, since they're by-and-large quite
hidden and obscure), though being able to show some of these is perhaps better
than not showing any!
2013-07-07 12:53:15 +00:00
Gaia Clary
a07a72d93d Added generic function to Sync pose bone with active vgroup. For use in Weight Paint and Vertex Paint 2013-07-04 21:49:48 +00:00
Brecht Van Lommel
ea5f0ec962 Fix #35997: add armature > single bone, then change location or rotation would
move only the origin and not the bone. It doesn't need to use any object
matrices to add the bone, the only reason this worked before is because they
were still unit matrices due to depsgraph not running immediately on add.
2013-07-04 14:59:26 +00:00
Campbell Barton
6d9de6a72b fix [#35975] "Select Linked" = "Select All" in Weight Paint mode?
looks like this was broken since bmesh merge.
2013-07-03 09:53:06 +00:00
Campbell Barton
d0ce73c548 fix [#35939] [Edit - Vertex mode] [Select]-[Mirror] did not returns right result. 2013-07-01 21:56:59 +00:00
Campbell Barton
3d845b4a17 move api functions from r57909 into BKE. 2013-07-01 20:27:03 +00:00
Gaia Clary
11145c7c22 Restrict Weight Edit Panel to mesh/lattice Edit and Weight Paint vertex selection mode 2013-07-01 19:30:41 +00:00
Brecht Van Lommel
77e0709e48 Fix #35551: the topology mirror setting affected shape key and vertex group but
this was confusing as there was no setting visible for it. Now these menus
contain an entry to mirror without and with topology mirror.
2013-06-28 17:13:09 +00:00
Bastien Montagne
063be8fdc0 Fix [#35750] list items in properties editor (text colors not following list item theme).
Issue goes back since we stopped using LISTROW button to draw item's name (i.e. since we have custom buttons in list items!).

This commit:
* Adds a new flag to uiBlock, UI_BLOCK_LIST_ITEM, to mark blocks used for each list item.
* Adds a new button type, LISTLABEL, which basically behaves exactly as LABEL, but uses wcol_list_item color set.
* When uiItemL is called, it checks whether current block has UI_BLOCK_LIST_ITEM set, and if so, switch produced button to LISTLABEL type.
* Adds a new helper func, ui_layout_list_set_labels_active, called after the active list item has been "drawn", to set all LISTLABEL buttons as UI_SELECT.

Note custom widget_state_label() was removed, in interface_widgets.c, as it did nothing more than default widget_state().

Thanks to Brecht for the review and advices.
2013-06-26 07:28:55 +00:00
Bastien Montagne
436c546d67 Use bit-shift op for all bit-flags.
Btw, there is a comment stating that bits 12-15 are the same for uiBlock->flag and uiBut->flag, this is obviously no more true currently (maybe it is now bits 14-17, i.e. ALIGN flags?).
2013-06-25 10:30:07 +00:00
Sergey Sharybin
45d7ebbdf2 Include DNA_scene_types before ED_object instead of forward enum declaration
Forward enum declaration is a bad idea, especially for C++ which requires
enum specification to dteermine which data type to use to store it.

Alternative would be to not use enum as an arument and pass it as int,
but actually would rather be strict on typing -- using explicit enum
as parameter type helps understanding the code and prevents possible
mistakes when using the function.
2013-06-25 09:27:31 +00:00
Brecht Van Lommel
02fbfa5c70 Fix unnecessary 3D viewport redraws in various cases, in particular when editing
node materials.

Area and region listener callbacks now get the screen and area pointers passed, so
they can do more fine grained checks to see if redraw is really needed, for example
depending on the 3D view drawtype.
2013-06-24 22:41:33 +00:00
Brecht Van Lommel
8390aa5181 Fix unnecessary redraw of 3D views when making changes in compositing nodes. 2013-06-24 22:41:27 +00:00
Gaia Clary
960d2ec028 removed obsolete forward declaration 2013-06-24 13:04:58 +00:00
Campbell Barton
bc79e226ee de-duplicate ED_mesh_active_dvert_* functions.
not to devs - please don't just copy static functions around, make them api calls and add to headers.
2013-06-24 04:41:03 +00:00
Gaia Clary
70fd2320c8 Added polished Vertex Weights Panel (properties sidebar) 2013-06-23 15:37:08 +00:00
Campbell Barton
1ed8343d6d add axis option to EDBM_verts_mirror_cache_begin 2013-06-19 21:23:00 +00:00
Campbell Barton
06e1bc6178 internal editmesh api: add an extended version of EDBM_verts_mirror_cache_begin which takes arguments to give some more control. 2013-06-19 18:22:00 +00:00
Campbell Barton
9d4cc7885d fix for filesel autocomplete, it had the annoying behavior if you entered in a non-existing name, of executing it and then asking to add the dir. 2013-06-19 11:53:48 +00:00
Dalai Felinto
29be979758 New icon: CAMERA_STEREO
Adding only the .svg file, the PNG can make once the multiview branch is merged.
I wanted to commit this to avoid having conflicts in the .svg file if
someone works on new icons too.

The new icon is at X-23
2013-06-16 11:14:07 +00:00
Campbell Barton
fcc4251c07 resolve [#33374] Extrude and mirror editing
mirror editing option was only added to extrude so mirror editing would always be disabled.
the option is now hidden to avoid confusing users.
2013-06-16 05:35:44 +00:00
Campbell Barton
72abfbfc95 fix automerge + mirror, previously only the selected verts would auto-merge. 2013-06-16 05:13:12 +00:00
Gaia Clary
1d1bf3b2ba prepared local vgroup selection function for more general usage 2013-06-12 09:52:37 +00:00
Brecht Van Lommel
860fce4eb9 Code cleanup: removed some unused UI button types
* CHARTAB: not needed anymore with improved copy/paste support and text input.
* IDPOIN: replaced by SEARCH_MENU.
* ICONROW/ICONTEXTROW: replaced by RNA enums.
* NUMABS: can use min/max limits instead.
* BUT_TOGDUAL, TOG3, TOGR, SLI: not used in 2.5 interface.
2013-06-09 18:05:50 +00:00
Campbell Barton
820acf1b9e add editmode wire color,
also changed lattice to use this, it used a hard-coded green color which was hard to see over the default background.
2013-06-08 21:58:00 +00:00
Lukas Toenne
f681ce08c4 Fix #35640, part 2. Check id.lib in poll functions for operators which do critical modification of node trees (create nodes, link, etc.). Transform operators and hide/show type operators are still
allowed, this does not modify actual behavior of the nodes and can be useful for inspecting linked nodes.
2013-06-05 19:06:33 +00:00
Campbell Barton
666c8b51ca changes to mirror tools
- give feedback on how many mirror verts succeed/fail (for select mirror, shape key mirror, weight mirror)
... when a mirror failed it was confusing and not obvious what was going on.

- slight change to select mirror, now center vertices will remain selected.

- speedup to EDBM_verts_mirror_cache_begin, cache customdata layer offset.
2013-06-05 05:58:51 +00:00
Campbell Barton
c89c716e84 fix [#35613] Dopesheet, Graph Editor Trouble Selecting Channels 2013-06-04 20:26:58 +00:00
Campbell Barton
0c004723fe fix [#35434] Segmentation fault switching screen layout from python
(take 2), only free popup handlers.
2013-06-02 20:59:00 +00:00
Dalai Felinto
77e4227c25 fix stubs for blenderplayer linking 2013-06-01 08:59:52 +00:00
Campbell Barton
225c5fee6b move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
Campbell Barton
ef4db04da8 code cleanup: lots of calls to BKE_mesh_calc_normals_mapping were not using the mapping functionality.
replace ED_mesh_calc_normals with BKE_mesh_calc_normals().
2013-05-28 14:23:07 +00:00
Campbell Barton
dc39ecf010 code cleanup: remove old/unused bmesh bevel transform mode, remove commented character list UI widget and the members these used in 'G' global. 2013-05-28 13:01:31 +00:00
Ton Roosendaal
092d9c31a1 Bug fix, irc submitted:
3D Viewport render (internal) didn't render bump maps (it was black even).
2013-05-25 11:52:52 +00:00
Brecht Van Lommel
6bc2d57235 Fix #35449: image sequences to drive e.g. particle length or used in modifiers
were no properly updating when rendering animations.

The render engine was only updating the image user current frame on images used
by material textures. Now moved the function that updates all from the editors
to blenkernel level and do it on all frame changes.
2013-05-22 22:17:07 +00:00
Brecht Van Lommel
f314ff02bd Fix #35390: sequencer end frame of preview range was not drawing correct. 2013-05-18 10:24:38 +00:00
Bastien Montagne
9d567dd366 This commit addresses the somewhat weak handling of stackless textures in Blender with default (BI) renderer. To do so, it's defining an "other" texture context, and when in this one, it switches to using the "new shading" texture handling already known with Cycles engine.
So now, in the new "other" tex context, you can (depending on active data) have direct access to modifiers', force's or brushes' textures...

I also refactored a bit how texture contexts are handled (once again, we had some quite similar code in both space_buttons and RNA sources). This should also solve some harmless glitches like "no texture context selected in UI" sometimes when you remove data related to current texture (see e.g. after removing the material from default cube, in startup scene).

This usage of two different systems for textures, and the handling of switches between them, has been a bit tricky to get working right, but it is OK now I think. I also had to add a bool flag to buttons space, SB_TEX_USER_LIMITED (use_limited_texture_context in RNA), which indicates "new shading" texture code whether it has to ignore materials, lamps etc. (BI) or not (Cycles).

Btw, pinned textures from modifiers/force/etc. were also broken (showing nothing), now it should work too.

Thanks to Brecht for reviewing.
2013-05-17 07:10:10 +00:00
Campbell Barton
b9fa4f7df9 workaround for loopselect-slide (with multicut enabled) changing from vertex-select to edge-select.
this is needed to slide, but wasn't so nice for users, now restore the original mode.
2013-05-16 18:33:07 +00:00