Commit Graph

18953 Commits

Author SHA1 Message Date
Campbell Barton
ebafb7e484 bugfix [#20823] Attempting to undo renaming a UV set on this scene causes a crash 2010-01-27 00:01:59 +00:00
Elia Sarti
0d69ebe878 Fix for 3d view's properties region notifier: 3D cursor position was not updated 2010-01-26 23:32:03 +00:00
Benoit Bolsee
58fd865744 CMake: fix MSVC debug build crash at startup when ffmpeg enabled.
A wrong libraries link order was causing this problem for
some reason. Since a sorting algorithm for linked libraries
was already implemented in Unix, I just enabled it for Windows.

Note about CMake 2.6.0: The Link Library Dependencies option
(Linker General settings panel) is automatically enabled, which
causes the Blender libraries to be linked twice because CMake
will also add them in the Additional Dependencies field.
CMake 2.8.0 does not have this problem, please upgrade if you
are still using CMake 2.6.0.
2010-01-26 22:49:59 +00:00
Campbell Barton
709b1a93e6 support for #'s for output animation paths
This was supported...
image: /tmp/foo_###_bar --> /tmp/foo_001_bar.png

But not this...
anim: /tmp/foo_###_bar --> /tmp/foo_001_250_bar.avi
2010-01-26 21:41:38 +00:00
Martin Poirier
586af8ca47 Properties for macro operator call in python.
Dicts are converted to operator properties like this:

bpy.ops.armature.extrude_forked(TRANSFORM_OT_translate={"value":(2,0,1)})

Note that this doesn't work quite well if one operator is twice in the same macro, but that's a problem at the RNA level too. I'll have to deal with that eventually.
2010-01-26 20:43:27 +00:00
Brecht Van Lommel
b7405ce98f Fix for dropping objects in 3d view, need to set property in
sub operator in macro.
2010-01-26 19:06:01 +00:00
Ton Roosendaal
b119ce5fcc Drag and drop 2.5 integration! Finally, slashdot regulars can use
Blender too now! :)

** Drag works as follows:

- drag-able items are defined by the standard interface ui toolkit
- each button can get this feature, via uiButSetDragXXX(but, ...).
  There are calls to define drag-able images, ID blocks, RNA paths, 
  file paths, and so on. By default you drag an icon, exceptionally 
  an ImBuf
- Drag items are registered centrally in the WM, it allows more drag 
  items simultaneous too, but not implemented

** Drop works as follows:

- On mouse release, and if drag items exist in the WM, it converts 
  the mouse event to an EVT_DROP type. This event then gets the full 
  drag info as customdata

- drop regions are defined with WM_dropbox_add(), similar to keymaps 
  you can make a "drop map" this way, which become 'drop map handlers' 
  in the queues.
- next to that the UI kit handles some common button types (like 
  accepting ID or names) to be catching a drop event too.

- Every "drop box" has two callbacks:
  - poll() = check if the event drag data is relevant for this box
  - copy() = fill in custom properties in the dropbox to initialize 
    an operator
- The dropbox handler then calls its standard Operator with its 
  dropbox properties.

** Currently implemented

Drag items:
- ID icons in browse buttons
- ID icons in context menu of properties region
- ID icons in outliner and rna viewer
- FileBrowser icons
- FileBrowser preview images

Drag-able icons are subtly visualized by making them brighter a bit 
on mouse-over. In case the icon is a button or UI element too (most 
cases), the drag-able feature will make the item react to 
mouse-release instead of mouse-press. 

Drop options:

- UI buttons: ID and text buttons (paste name)
- View3d: Object ID drop copies object
- View3d: Material ID drop assigns to object under cursor
- View3d: Image ID drop assigns to object UV texture under cursor
- Sequencer: Path drop will add either Image or Movie strip
- Image window: Path drop will open image


** Drag and drop Notes:

- Dropping into another Blender window (from same application) works 
too. I've added code that passes on mousemoves and clicks to other 
windows, without activating them though. This does make using multi-window
Blender a bit friendler.

- Dropping a file path to an image, is not the same as dropping an 
Image ID... keep this in mind. Sequencer for example wants paths to 
be dropped,  textures in 3d window wants an Image ID.

- Although drop boxes could be defined via Python, I suggest they're 
part of the UI and editor design (= how we want an editor to work), and 
not default offered configurable like keymaps. 

- At the moment only one item can be dragged at a time. This is for 
several reasons.... For one, Blender doesn't have a well defined 
uniform way to define "what is selected" (files, outliner items, etc). 
Secondly there's potential conflicts on what todo when you drop mixed 
drag sets on spots. All undefined stuff... nice for later.

- Example to bypass the above: a collection of images that form a strip, 
should be represented in filewindow as a single sequence anyway. 
This then will fit well and gets handled neatly by design.

- Another option to check is to allow multiple options per drop... it 
could show the operator as a sort of menu, allowing arrow or scrollwheel 
to choose. For time being I'd prefer to try to design a singular drop 
though, just offer only one drop action per data type on given spots.

- What does work already, but a tad slow, is to use a function that 
detects an object (type) under cursor, so a drag item's option can be 
further refined (like drop object on object = parent). (disabled)


** More notes

- Added saving for Region layouts (like split points for toolbar)

- Label buttons now handle mouse over

- File list: added full path entry for drop feature.

- Filesel bugfix: wm_operator_exec() got called there and fully handled, 
while WM event code tried same. Added new OPERATOR_HANDLED flag for this. 
Maybe python needs it too?

- Cocoa: added window move event, so multi-win setups work OK (didnt save).

- Interface_handlers.c: removed win->active

- Severe area copy bug: area handlers were not set to NULL

- Filesel bugfix: next/prev folder list was not copied on area copies

** Leftover todos

- Cocoa windows seem to hang on cases still... needs check
- Cocoa 'draw overlap' swap doesn't work
- Cocoa window loses focus permanently on using Spotlight
  (for these reasons, makefile building has Carbon as default atm)

- ListView templates in UI cannot become dragged yet, needs review... 
it consists of two overlapping UI elements, preventing handling icon clicks.

- There's already Ghost library code to handle dropping from OS 
into Blender window. I've noticed this code is unfinished for Macs, but 
seems to be complete for Windows. Needs test... currently, an external 
drop event will print in console when succesfully delivered to Blender's WM.
2010-01-26 18:18:21 +00:00
Brecht Van Lommel
722f57ca75 Fix Blend From Shape having no effect after exiting edit mode.
Also added a UI string for mesh selection mode property to show
up in undo stack.
2010-01-26 17:39:45 +00:00
Martin Poirier
d5ca236948 Typo in error string 2010-01-26 17:37:44 +00:00
Brecht Van Lommel
32fdc12923 Fix #20831: setting shadowbuffersize to 10240 only possible via typing it in. 2010-01-26 17:14:13 +00:00
Martin Poirier
655800bbab Typo in function declaration causing warnings. 2010-01-26 17:09:32 +00:00
Campbell Barton
246bcf48ad weight panel editing now supports mirroring
- use mirror when the option is enabled in editmode.
- fliped group names are used when they exist.
- only the setting that is edited will be applied to the mirrored verts group.
- copy value is applied to all mirrored verts of the selection.
- normalize normalizes all vgroups and mirrors.

utility functions defvert_sync and defvert_sync_mapped, similar to defvert_copy but does not remove existing groups and optionally creates groups as needed.
defvert_sync_mapped uses a an int array for mapping the flipped values.
2010-01-26 17:07:47 +00:00
Brecht Van Lommel
e308fe9632 Fix #20805: L selection in edit mode with bezier doesn't work. 2010-01-26 17:06:28 +00:00
Brecht Van Lommel
8d6a40c016 Fix #19802: tweaking the values of e.g. the add tube operator when
entering editmode on a second mesh would create a duplicate tube.

Cleaning the undo stack from the previous mesh would mess up the redo.
Also, OBJECT_OT_mode_set was causing enter/exit editmode undo push to
be done twice, now it leaves undo push to the operator it calls.
2010-01-26 15:54:42 +00:00
Brecht Van Lommel
dcf54b9b66 Fix for missing space between colon and number in sliders buttons. 2010-01-26 15:44:27 +00:00
Campbell Barton
bffad18da8 [#20046] 2.5 "bridge faces" tool doesn't delete original selection
remove this script, its not good enough, remove grease pencil retopo also.
2010-01-26 14:39:01 +00:00
Brecht Van Lommel
058f68de10 Fix #20049: mdef binding wasn't working correct since raytrace optimization. 2010-01-26 14:08:19 +00:00
Campbell Barton
641774436f am learning bad spelling from blender. grr 2010-01-26 14:00:13 +00:00
Campbell Barton
e307f6c6a0 rename defgroup functions to be more consistant.
* no functional changes *
2010-01-26 13:50:17 +00:00
Brecht Van Lommel
50a7cdd116 Fix attempt to free already freed memory when loading an animation
in the sequencer, was in the code that tests if it's a file that it
understands. Didn't cause a crash here though, just warning.
2010-01-26 13:17:28 +00:00
Brecht Van Lommel
c8eaae0bd7 Fix #19580: text editor - current line is dependent on the
text datablock, not the editor.
2010-01-26 12:12:31 +00:00
Campbell Barton
8f6ce8c2d3 bugfix [#20401] Hair Combing with "Limit Selection to Visible" does not comb all particles
Limit selection was totally broken (border select, circle select etc) because the depth function was using the view matrix multiplied by the object matrix.
I couldnt find any case where this was needed, but take care when using data->mats.modelview from particle mode edit tools.
2010-01-26 11:51:28 +00:00
Brecht Van Lommel
38111eb224 Patch #20800: uv editor zoom rate not properly calculated,
uv's were drawn slightly offset from the image. Patch by
Masahito Takahashi, thanks!
2010-01-26 11:36:48 +00:00
Campbell Barton
009304523e bugfix [#20674] SegFault from console 'c = data.texts["text1"].copy()' 2010-01-26 11:29:39 +00:00
Brecht Van Lommel
4efed23517 Use #include "BLI_math.h" instead of _USE_MATH_DEFINES to get M_PI defined. 2010-01-26 11:25:39 +00:00
Brecht Van Lommel
7c776bc124 Fix for make duplicates real, put new objects on same layers as
duplicator instead of original object.
2010-01-26 11:23:47 +00:00
Brecht Van Lommel
5fe3524ab1 Fix #20803: convert button in particle modifier didn't work
for creating duplis yet.
2010-01-26 11:15:45 +00:00
Brecht Van Lommel
50e324c5d0 Rename Beauty Fill to Beautify Fill like in 2.4x, more accurate
description of what it does since it doesn't actually fill, only
change an existing one.
2010-01-26 11:14:44 +00:00
Brecht Van Lommel
26d8b59864 Assign automatic/envelope weights in weight paint mode is back,
accessible from W key and in new Weights menu in the header.
2010-01-26 11:11:53 +00:00
Joshua Leung
5a1603374c Bugfix #19344: Using the scroll bar zoom widget doesn't work in some situations
Zoom widgets now only show if the scrollbar only shows scale markings (i.e. timegrids).


---

Also removed an empty header file.
2010-01-26 10:52:42 +00:00
Joshua Leung
e03bbf12c3 Assorted Bugfixes:
* Adding new Keying Set paths didn't initialise the id-type setting. Make this default to Object
* Fixed bad poll callbacks for Graph Editor operators working on keyframes, which were expecting F-Curves to be selected too to be eligible for editing. This was often too restrictive, resulting in nothing happening.
* Fixed error with default property for Debug Redraw-Timer Operator not being set. However, this operator is currently still no use, since the info popups are now disabled.
2010-01-26 10:29:10 +00:00
Campbell Barton
4e92b69411 set the keymap to NULL if its not found so as not to use it un-initializes. 2010-01-26 10:14:39 +00:00
Matt Ebb
e6c4aee39a Fix [#20827] c26276 RMB on "clear" command in console menu crashes blender 2010-01-26 10:06:22 +00:00
Campbell Barton
9cbbeb2d65 modifier.c has all its vergex group index lookups inline, use get_named_vertexgroup_num() instead.
no functional changes.
2010-01-26 09:36:33 +00:00
Joshua Leung
0e1eca2d08 Finishing off the Transform code changes for Degrees/Radians:
Added flags for the mapping function offering more control over what values were affected and when. In the WIP code, the values for unselected verts were getting the restoration conversion being repeatedly applied, resulting in the values tending to zero.
2010-01-26 09:25:32 +00:00
Matt Ebb
07a4986be7 WIP commit - degree conversions for transform fcurve editing - grabbing a point works fine, but still
issues with grabbing a single handle.

Using the Radians unit setting still goes fine though so you can use that for now.
2010-01-26 05:58:03 +00:00
Martin Poirier
a1ea4ba717 [#20822] r26267 win32 - LMB cancels zoom in camera view
Very interesting bug caused by an extra redraw.
2010-01-26 03:29:07 +00:00
Matt Ebb
991d8a8fe3 Fix compilation problem (I'm guessing this is the intention in this line) 2010-01-26 03:23:15 +00:00
Joshua Leung
14d4feca57 Radians vs Degrees: The Second Attempt
F-Curves now internally store radians again instead of degrees. 
- This solves problems with inconsistencies when working with drivers.
- No need to version patch old files, potentially screwing them up. As such, removed the version patching for F-Curves.
- Is better suited to optionally showing radians throughout the UI instead or degrees.

As a result, values are now converted on the fly in the Graph Editor for display and operators that operate on values. I've made the conversion system for this rather general, so that other unit type conversions can also be hooked up with the type conversion backend.

Also, made some tweaks to F-Curve RNA wrapping to make it represent the data better.

TODO:
- Transform code currently still needs to be corrected to work with these changes. Currently moving keyframes for rotation curves will make them change too rapidly vertically when using degrees.
2010-01-26 03:16:14 +00:00
Matt Ebb
e6a23762da Fix [#20821] COLOR MANAGEMENT: Corrupts motion picture files
Wasn't tagging movie formats with profiles properly.
2010-01-26 02:49:30 +00:00
Matt Ebb
ba2257b57e Fix [#20798] - Add/change/remove shortcut options dissapearing from buttons @ Tool Shelf
Made the RMB menus for manipulating shortcuts a bit more robust (only dealing with mouse 
clicks/key events, rather than all tweaks/timers/etc) and added ability to add key shortcuts for 
transform tools from the RMB menu.
2010-01-26 01:02:10 +00:00
Campbell Barton
56e5f2c5d5 remove line added previous commit, Cancel for view rotate button should be Confirm 2010-01-25 23:57:08 +00:00
Campbell Barton
33623ba3a3 panel for adjusting the active vertex groups weights 2010-01-25 23:12:02 +00:00
Joshua Leung
9cd3ab1e0c Bugfix #20817: Graph Editor, Drivers: Driving a Shapekey by a bone rotation: Unable to add modifiers
Wrong filters were used for F-Curves for adding the modifiers. Now the Graph Editor curve visibility settings are only taken into account for this when the hotkey version (i.e. only_active == False) is used, which means that the button works again.
2010-01-25 23:11:01 +00:00
Martin Poirier
d693d67206 Forgot to remove this case earlier. Thanks to Jonathan Smith for the reminder. 2010-01-25 22:47:43 +00:00
Brecht Van Lommel
d440990414 Fix #20820: multires subdivide crash. 2010-01-25 21:58:00 +00:00
Martin Poirier
4907e8df20 Remove unneeded notifier data added in revision 26219.
Fix a lot of notifier calls to stop abusing ND_TRANSFORM and use more appropriate data flags.
2010-01-25 19:42:33 +00:00
Brecht Van Lommel
c72fcc759b More fixes for radians-degrees, wasn't converting pose channel constraints
properly yet, also did conversion ik min/max limits.
2010-01-25 18:38:09 +00:00
Campbell Barton
c91a0f8adf make exception a bit nicer (since wiki docs dont make much sense how it was before) 2010-01-25 18:09:46 +00:00
Brecht Van Lommel
905a238075 Fix for radians-degrees version patch, more testing should have gone
into this before committing:

* Subversion was not increased, meaning that conversion would be applied
  even on files saved with the new version.
* Drivers were not converted.
* FCurve generator modifiers were not converted.

This seems to cover all cases we found for Durian, if another conversion
is needed for this, be sure to increase the subversion number and do it
in a separate if() test, otherwise files will break.
2010-01-25 17:51:21 +00:00