11 years agoDrag and drop 2.5 integration! Finally, slashdot regulars can use
Ton Roosendaal [Tue, 26 Jan 2010 18:18:21 +0000 (18:18 +0000)]
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.

11 years agoFix Blend From Shape having no effect after exiting edit mode.
Brecht Van Lommel [Tue, 26 Jan 2010 17:39:45 +0000 (17:39 +0000)]
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.

11 years agoTypo in error string
Martin Poirier [Tue, 26 Jan 2010 17:37:44 +0000 (17:37 +0000)]
Typo in error string

11 years agoFix #20831: setting shadowbuffersize to 10240 only possible via typing it in.
Brecht Van Lommel [Tue, 26 Jan 2010 17:14:13 +0000 (17:14 +0000)]
Fix #20831: setting shadowbuffersize to 10240 only possible via typing it in.

11 years agoTypo in function declaration causing warnings.
Martin Poirier [Tue, 26 Jan 2010 17:09:32 +0000 (17:09 +0000)]
Typo in function declaration causing warnings.

11 years agoweight panel editing now supports mirroring
Campbell Barton [Tue, 26 Jan 2010 17:07:47 +0000 (17:07 +0000)]
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.

11 years agoFix #20805: L selection in edit mode with bezier doesn't work.
Brecht Van Lommel [Tue, 26 Jan 2010 17:06:28 +0000 (17:06 +0000)]
Fix #20805: L selection in edit mode with bezier doesn't work.

11 years agoUpdate MSVC project files
Benoit Bolsee [Tue, 26 Jan 2010 16:31:00 +0000 (16:31 +0000)]
Update MSVC project files

11 years agoFix #19802: tweaking the values of e.g. the add tube operator when
Brecht Van Lommel [Tue, 26 Jan 2010 15:54:42 +0000 (15:54 +0000)]
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.

11 years agoFix for missing space between colon and number in sliders buttons.
Brecht Van Lommel [Tue, 26 Jan 2010 15:44:27 +0000 (15:44 +0000)]
Fix for missing space between colon and number in sliders buttons.

11 years ago[#20046] 2.5 "bridge faces" tool doesn't delete original selection
Campbell Barton [Tue, 26 Jan 2010 14:39:01 +0000 (14:39 +0000)]
[#20046] 2.5 "bridge faces" tool doesn't delete original selection
remove this script, its not good enough, remove grease pencil retopo also.

11 years agoFix #20049: mdef binding wasn't working correct since raytrace optimization.
Brecht Van Lommel [Tue, 26 Jan 2010 14:08:19 +0000 (14:08 +0000)]
Fix #20049: mdef binding wasn't working correct since raytrace optimization.

11 years agoam learning bad spelling from blender. grr
Campbell Barton [Tue, 26 Jan 2010 14:00:13 +0000 (14:00 +0000)]
am learning bad spelling from blender. grr

11 years agorename defgroup functions to be more consistant.
Campbell Barton [Tue, 26 Jan 2010 13:50:17 +0000 (13:50 +0000)]
rename defgroup functions to be more consistant.
* no functional changes *

11 years agoFix attempt to free already freed memory when loading an animation
Brecht Van Lommel [Tue, 26 Jan 2010 13:17:28 +0000 (13:17 +0000)]
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.

11 years agoFix #19580: text editor - current line is dependent on the
Brecht Van Lommel [Tue, 26 Jan 2010 12:12:31 +0000 (12:12 +0000)]
Fix #19580: text editor - current line is dependent on the
text datablock, not the editor.

11 years agobugfix [#20401] Hair Combing with "Limit Selection to Visible" does not comb all...
Campbell Barton [Tue, 26 Jan 2010 11:51:28 +0000 (11:51 +0000)]
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.

11 years agoPatch #20800: uv editor zoom rate not properly calculated,
Brecht Van Lommel [Tue, 26 Jan 2010 11:36:48 +0000 (11:36 +0000)]
Patch #20800: uv editor zoom rate not properly calculated,
uv's were drawn slightly offset from the image. Patch by
Masahito Takahashi, thanks!

11 years agobugfix [#20674] SegFault from console 'c = data.texts["text1"].copy()'
Campbell Barton [Tue, 26 Jan 2010 11:29:39 +0000 (11:29 +0000)]
bugfix [#20674] SegFault from console 'c = data.texts["text1"].copy()'

11 years agoUse #include "BLI_math.h" instead of _USE_MATH_DEFINES to get M_PI defined.
Brecht Van Lommel [Tue, 26 Jan 2010 11:25:39 +0000 (11:25 +0000)]
Use #include "BLI_math.h" instead of _USE_MATH_DEFINES to get M_PI defined.

11 years agoFix for make duplicates real, put new objects on same layers as
Brecht Van Lommel [Tue, 26 Jan 2010 11:23:47 +0000 (11:23 +0000)]
Fix for make duplicates real, put new objects on same layers as
duplicator instead of original object.

11 years agoRigify:
Nathan Vegdahl [Tue, 26 Jan 2010 11:17:41 +0000 (11:17 +0000)]
- Removed control-shape deformation bones from the spine rig (no longer necessary thanks to the new "custom shape at" feature).
- Various improvements to the mouth rig, including a corrective shape key for mouth-open.
- The new method of generating into the same armature object every time wasn't copying pose bone data in the process, such as rotation mode and transform locks.

11 years agoFix #20803: convert button in particle modifier didn't work
Brecht Van Lommel [Tue, 26 Jan 2010 11:15:45 +0000 (11:15 +0000)]
Fix #20803: convert button in particle modifier didn't work
for creating duplis yet.

11 years agoRename Beauty Fill to Beautify Fill like in 2.4x, more accurate
Brecht Van Lommel [Tue, 26 Jan 2010 11:14:44 +0000 (11:14 +0000)]
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.

11 years agoAssign automatic/envelope weights in weight paint mode is back,
Brecht Van Lommel [Tue, 26 Jan 2010 11:11:53 +0000 (11:11 +0000)]
Assign automatic/envelope weights in weight paint mode is back,
accessible from W key and in new Weights menu in the header.

11 years agoBugfix #19344: Using the scroll bar zoom widget doesn't work in some situations
Joshua Leung [Tue, 26 Jan 2010 10:52:42 +0000 (10:52 +0000)]
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.

11 years agoAssorted Bugfixes:
Joshua Leung [Tue, 26 Jan 2010 10:29:10 +0000 (10:29 +0000)]
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.

11 years agoset the keymap to NULL if its not found so as not to use it un-initializes.
Campbell Barton [Tue, 26 Jan 2010 10:14:39 +0000 (10:14 +0000)]
set the keymap to NULL if its not found so as not to use it un-initializes.

11 years agoFix [#20827] c26276 RMB on "clear" command in console menu crashes blender
Matt Ebb [Tue, 26 Jan 2010 10:06:22 +0000 (10:06 +0000)]
Fix [#20827] c26276 RMB on "clear" command in console menu crashes blender

11 years agomodifier.c has all its vergex group index lookups inline, use get_named_vertexgroup_n...
Campbell Barton [Tue, 26 Jan 2010 09:36:33 +0000 (09:36 +0000)]
modifier.c has all its vergex group index lookups inline, use get_named_vertexgroup_num() instead.
no functional changes.

11 years agoFinishing off the Transform code changes for Degrees/Radians:
Joshua Leung [Tue, 26 Jan 2010 09:25:32 +0000 (09:25 +0000)]
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.

11 years agoupdate tagged objects in the scene after calling each operator, this makes running...
Campbell Barton [Tue, 26 Jan 2010 08:41:16 +0000 (08:41 +0000)]
update tagged objects in the scene after calling each operator, this makes running a set of recorded operators work as expected.

11 years agoWIP commit - degree conversions for transform fcurve editing - grabbing a point works...
Matt Ebb [Tue, 26 Jan 2010 05:58:03 +0000 (05:58 +0000)]
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.

11 years ago[#20822] r26267 win32 - LMB cancels zoom in camera view
Martin Poirier [Tue, 26 Jan 2010 03:29:07 +0000 (03:29 +0000)]
[#20822] r26267 win32 - LMB cancels zoom in camera view

Very interesting bug caused by an extra redraw.

11 years agoFix compilation problem (I'm guessing this is the intention in this line)
Matt Ebb [Tue, 26 Jan 2010 03:23:15 +0000 (03:23 +0000)]
Fix compilation problem (I'm guessing this is the intention in this line)

11 years agoRadians vs Degrees: The Second Attempt
Joshua Leung [Tue, 26 Jan 2010 03:16:14 +0000 (03:16 +0000)]
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.

- 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.

11 years agoFix [#20821] COLOR MANAGEMENT: Corrupts motion picture files
Matt Ebb [Tue, 26 Jan 2010 02:49:30 +0000 (02:49 +0000)]
Fix [#20821] COLOR MANAGEMENT: Corrupts motion picture files

Wasn't tagging movie formats with profiles properly.

11 years agoFix [#20798] - Add/change/remove shortcut options dissapearing from buttons @ Tool...
Matt Ebb [Tue, 26 Jan 2010 01:02:10 +0000 (01:02 +0000)]
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.

11 years agoSmall fix: Always show the 'brush' button in texture panel, so it's possible to turn...
Matt Ebb [Tue, 26 Jan 2010 00:59:53 +0000 (00:59 +0000)]
Small fix: Always show the 'brush' button in texture panel, so it's possible to turn it off in object mode.

11 years agoremove line added previous commit, Cancel for view rotate button should be Confirm
Campbell Barton [Mon, 25 Jan 2010 23:57:08 +0000 (23:57 +0000)]
remove line added previous commit, Cancel for view rotate button should be Confirm

11 years agopanel for adjusting the active vertex groups weights
Campbell Barton [Mon, 25 Jan 2010 23:12:02 +0000 (23:12 +0000)]
panel for adjusting the active vertex groups weights

11 years agoBugfix #20817: Graph Editor, Drivers: Driving a Shapekey by a bone rotation: Unable...
Joshua Leung [Mon, 25 Jan 2010 23:11:01 +0000 (23:11 +0000)]
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.

11 years agoForgot to remove this case earlier. Thanks to Jonathan Smith for the reminder.
Martin Poirier [Mon, 25 Jan 2010 22:47:43 +0000 (22:47 +0000)]
Forgot to remove this case earlier. Thanks to Jonathan Smith for the reminder.

11 years agoFix #20820: multires subdivide crash.
Brecht Van Lommel [Mon, 25 Jan 2010 21:58:00 +0000 (21:58 +0000)]
Fix #20820: multires subdivide crash.

11 years agonetrender: utility function to extract information from a blend file on disk. Used...
Martin Poirier [Mon, 25 Jan 2010 21:10:33 +0000 (21:10 +0000)]
netrender: utility function to extract information from a blend file on disk. Used to get render resolution for jobs in the web interface (lazy init).

11 years agoRemove unneeded notifier data added in revision 26219.
Martin Poirier [Mon, 25 Jan 2010 19:42:33 +0000 (19:42 +0000)]
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.

11 years agoMore fixes for radians-degrees, wasn't converting pose channel constraints
Brecht Van Lommel [Mon, 25 Jan 2010 18:38:09 +0000 (18:38 +0000)]
More fixes for radians-degrees, wasn't converting pose channel constraints
properly yet, also did conversion ik min/max limits.

11 years agomake exception a bit nicer (since wiki docs dont make much sense how it was before)
Campbell Barton [Mon, 25 Jan 2010 18:09:46 +0000 (18:09 +0000)]
make exception a bit nicer (since wiki docs dont make much sense how it was before)

11 years agoFix for radians-degrees version patch, more testing should have gone
Brecht Van Lommel [Mon, 25 Jan 2010 17:51:21 +0000 (17:51 +0000)]
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.

11 years agoUse modal keymap events for transform numinput increment and decrement
Martin Poirier [Mon, 25 Jan 2010 17:48:02 +0000 (17:48 +0000)]
Use modal keymap events for transform numinput increment and decrement

11 years agoundo would often crash when filter_group was used.
Campbell Barton [Mon, 25 Jan 2010 17:24:04 +0000 (17:24 +0000)]
undo would often crash when filter_group was used.
conversion wasnt included in lib_link_screen_restore

11 years agoFix for recent commit, crash on entering edit mode.
Brecht Van Lommel [Mon, 25 Jan 2010 16:42:04 +0000 (16:42 +0000)]
Fix for recent commit, crash on entering edit mode.

11 years agofix for weight paint bug with constructive modifiers. eg. weight paint with mask...
Campbell Barton [Mon, 25 Jan 2010 15:47:19 +0000 (15:47 +0000)]
fix for weight paint bug with constructive modifiers. eg. weight paint with mask or build modifier would fail

11 years agoSmoke:
Daniel Genrich [Mon, 25 Jan 2010 15:24:48 +0000 (15:24 +0000)]
* UI updates for my last commit by nudelZ

11 years agoSmoke: The well known Miika Hämäläinen (aka MiikaH) patch (http://blenderartists...
Daniel Genrich [Mon, 25 Jan 2010 15:10:14 +0000 (15:10 +0000)]
Smoke: The well known Miika Hämäläinen (aka MiikaH) patch (

* Better (and windows enabled) OpenMP handling (> 2x-5x speed)
* More Volumetric Texture mapping options (heat, etc) <-- Matt if that's not to your liking, just revert that part, it's separate anyway
* Initial velocity taken from particle settings (no more slow starting)
* Option to select compression method (there seem to be a bug in my high compression usage, at least it's been reported to result in exploding smoke - better use low compression for the time being)

It's been tested since a while but as usual please report any (new!) bugs. ;-)

11 years agoShow Cone option for spot lamps, to visualize which objects are being affected.
Brecht Van Lommel [Mon, 25 Jan 2010 14:47:32 +0000 (14:47 +0000)]
Show Cone option for spot lamps, to visualize which objects are being affected.

11 years agoRigify now generates the rig into the same armature every time, so you don't have...
Nathan Vegdahl [Mon, 25 Jan 2010 14:19:12 +0000 (14:19 +0000)]
Rigify now generates the rig into the same armature every time, so you don't have to re-hook-up things like armature modifiers, parenting, etc.

By default the generated rig object is named "rig".  But you can add a custom "rig_object_name" property to the metarig to specify the name of the object to generate into.

11 years ago* Added #define _USE_MATH_DEFINES
Thomas Dinges [Mon, 25 Jan 2010 13:19:52 +0000 (13:19 +0000)]
* Added #define _USE_MATH_DEFINES
in some files to get Blender to compile again on msvc. Without that, it didn't found M_PI.

11 years agoAdded simplification back for quicker preview renders with less subdivision
Brecht Van Lommel [Mon, 25 Jan 2010 11:39:56 +0000 (11:39 +0000)]
Added simplification back for quicker preview renders with less subdivision
levels, child particles, and shadow/SSS/AO quality.. Now also works on what
is displayed in the 3d view instead of only rendering, see panel in the scene

Most file changes were to make scene available in the isDisabled modifier
callback function.

11 years agoBleh... second attempt at getting this right!
Joshua Leung [Mon, 25 Jan 2010 11:15:04 +0000 (11:15 +0000)]
Bleh... second attempt at getting this right!

11 years agoBugfix for Rotation Keyframe version patching:
Joshua Leung [Mon, 25 Jan 2010 11:09:41 +0000 (11:09 +0000)]
Bugfix for Rotation Keyframe version patching:

Use strstr not strcmp, since RNA paths are not purely property names.

11 years agoDurian Request/Bugfixes: Graph Editor Zooming doesn't go far enough
Joshua Leung [Mon, 25 Jan 2010 11:06:55 +0000 (11:06 +0000)]
Durian Request/Bugfixes: Graph Editor Zooming doesn't go far enough

Pushed limits for Graph Editor view extents to proper limits, and fixed clamping used in View2D code which was preventing height of View2D viewports from getting below 1.0

11 years agoscene.update() rna function, so operators and data thats tagged for update get their...
Campbell Barton [Mon, 25 Jan 2010 10:20:41 +0000 (10:20 +0000)]
scene.update() rna function, so operators and data thats tagged for update get their data updated.
dont show popup for 'Load Factory Settings'

11 years agoRestored missing PoseMode Operators:
Joshua Leung [Mon, 25 Jan 2010 10:16:36 +0000 (10:16 +0000)]
Restored missing PoseMode Operators:
* Select Grouped
Selects bones in the same layer or same group as the selected ones. Optimised the code for the select same groups too.

* Flip Quats
Flips quaternion values so that the rotation progresses over a different path while maintaining the same endpoint orientations.

11 years agoAdd option to choose between radians or degrees for rotation units in the UI.
Matt Ebb [Mon, 25 Jan 2010 10:05:17 +0000 (10:05 +0000)]
Add option to choose between radians or degrees for rotation units in the UI.

Setting is in Scene->unit settings with the others, degrees by default.

11 years agoMathutils refactor & include in sphinx generated docs, (TODO, include getset'ers...
Campbell Barton [Mon, 25 Jan 2010 09:44:04 +0000 (09:44 +0000)]
Mathutils refactor & include in sphinx generated docs, (TODO, include getset'ers in docs)

 - Mathutils.MidpointVecs --> vector.lerp(other, fac)
 - Mathutils.AngleBetweenVecs --> vector.angle(other)
 - Mathutils.ProjectVecs --> vector.project(other)
 - Mathutils.DifferenceQuats --> quat.difference(other)
 - Mathutils.Slerp --> quat.slerp(other, fac)
 - Mathutils.Rand: removed, use pythons random module
 - Mathutils.RotationMatrix(angle, size, axis_flag, axis) --> Mathutils.RotationMatrix(angle, size, axis); merge axis & axis_flag args
 - Matrix.scalePart --> Matrix.scale_part
 - Matrix.translationPart --> Matrix.translation_part
 - Matrix.rotationPart --> Matrix.rotation_part
 - toMatrix --> to_matrix
 - toEuler --> to_euler
 - toQuat --> to_quat
 - Vector.toTrackQuat --> Vector.to_track_quat

11 years agoAdded a 'linked' icon to modal key maps, to communicate better that they're
Matt Ebb [Mon, 25 Jan 2010 07:19:28 +0000 (07:19 +0000)]
Added a 'linked' icon to modal key maps, to communicate better that they're
instantiated. Helps [#20778] [2.5 - r26180] "Gesture Border" items in user
preferences panel are not unique

11 years agoFix for bug in drivers, introduced in previous commit.
Matt Ebb [Mon, 25 Jan 2010 07:05:02 +0000 (07:05 +0000)]
Fix for bug in drivers, introduced in previous commit.

11 years agoFix [#20786] Added widget on toolbar does not remove
Matt Ebb [Mon, 25 Jan 2010 06:48:04 +0000 (06:48 +0000)]
Fix [#20786] Added widget on toolbar does not remove

Fix [#20794] Can't save my file by pressing "Enter" button

- removed the ability to activate a text field by pressing enter when the mouse is over it. This wasn't that practical and now allows the convenient 2.4 behaviour in the file selector filename field, of pressing enter twice to save.

11 years agoRadians -> Degrees (in UI)
Matt Ebb [Mon, 25 Jan 2010 06:24:05 +0000 (06:24 +0000)]
Radians -> Degrees (in UI)

Rotations are now stored internally as radians, while exposing degrees in the UI -
in the graph editor and UI controls. This is done in two areas:
1) Using the unit system to convert RNA data to display as degrees in the UI controls
2) FCurves now use degrees for rotation, so you can edit in the graph editor what
you see in the UI.

All rotation data is consistently accessible in DNA and RNA as radians, degrees are only
used for the UI controls and graph editor.

This commit includes conversions will convert old files (stored data and also fcurve data)
to the new units, hopefully everything should go smoothly!

Part of this also changes a few properties that were hard-coded as degrees before (such
as IK pole angle and brush texture rotation) to also use the same consistent system of
radians (dna/rna) and degrees (ui).

Thanks to Joshua for hints and review here too.

11 years agoBugfix #20806: Remove button removes entire bone group not bone from group
Joshua Leung [Sun, 24 Jan 2010 23:18:48 +0000 (23:18 +0000)]
Bugfix #20806: Remove button removes entire bone group not bone from group

Thanks to kristijonas vaicekauskas (krizas)  for the patch

11 years agoBugfix #20782: Animating two materials on a mesh--only first material's keyframes...
Joshua Leung [Sun, 24 Jan 2010 23:08:38 +0000 (23:08 +0000)]
Bugfix #20782: Animating two materials on a mesh--only first material's keyframes show up in f-curves editor

Wrong indices were being used to reference materials, resulting in too few materials showing up. It seems that at some point since coding this in the 2.4 codebase and now, the range has changed from [0, totcol) to [1, totcol].

11 years agoForgot to rename use_return in this script as well.
Elia Sarti [Sun, 24 Jan 2010 19:30:54 +0000 (19:30 +0000)]
Forgot to rename use_return in this script as well.

11 years agounlinking objects from a scene in python wasnt notifying the outliner which would...
Campbell Barton [Sun, 24 Jan 2010 17:40:05 +0000 (17:40 +0000)]
unlinking objects from a scene in python wasnt notifying the outliner which would crash on redraw.

11 years agoremove deprecated functions
Campbell Barton [Sun, 24 Jan 2010 13:11:43 +0000 (13:11 +0000)]
remove deprecated functions

11 years agoUpdate MSVC project files
Benoit Bolsee [Sun, 24 Jan 2010 13:03:49 +0000 (13:03 +0000)]
Update MSVC project files

11 years agocopy of docs from 2.4x for python modules that have been kept
Campbell Barton [Sun, 24 Jan 2010 12:58:38 +0000 (12:58 +0000)]
copy of docs from 2.4x for python modules that have been kept

11 years agoForgot this (rename use_return to use_output)
Elia Sarti [Sun, 24 Jan 2010 11:02:43 +0000 (11:02 +0000)]
Forgot this (rename use_return to use_output)

11 years agoRNA functions
Elia Sarti [Sun, 24 Jan 2010 10:51:59 +0000 (10:51 +0000)]
RNA functions

Fixed and completed support for returning multiple values. This includes support for returning arrays, both fixed and dynamically sized. The way this is achieved is by storing an additional int value next to the dynamic parameter in the ParameterList stack which gets passed to the C function as an additional parameter. In the case of return parameters it is duty of the C function to set this int to the correct length value for the dynamic parameter (which makes sense). Note that for the dynamic output/return parameter it is assumed the function has allocated that memory (which gets freed automatically).

Also, I cleaned the makesrna's bridge function generation code a bit and renamed PROP_RETURN to PROP_OUTPUT, which represents better the reality now that there are multiple returns. The function now to mark multiple returns (outputs) is RNA_def_function_output.

For an example, look at Action.get_frame_range in rna_action_api.c, by the way Aligorith I removed the #ifdef for this function now that there's support for returning arrays, feel free to modify (the function seems to work).

11 years agoBugfix #20664: NLA Editor - Hiding stuff causes instant crash ..
Joshua Leung [Sun, 24 Jan 2010 10:18:16 +0000 (10:18 +0000)]
Bugfix #20664: NLA Editor - Hiding stuff causes instant crash ..

11 years agoBugfix #20776: Segfault Driving a Shapekey in Graph Editor > Drivers > Selecting...
Joshua Leung [Sun, 24 Jan 2010 09:58:30 +0000 (09:58 +0000)]
Bugfix #20776: Segfault Driving a Shapekey in Graph Editor > Drivers > Selecting the Bone

ID-Type for Driver Targets should sometimes not be editable, otherwise, users could set invalid datablocks, leading to crashes.

Added missing checks for this to prevent this happening again.

11 years agoNLA Editor: Sync Action Extents with Referenced Range
Joshua Leung [Sun, 24 Jan 2010 06:28:53 +0000 (06:28 +0000)]
NLA Editor: Sync Action Extents with Referenced Range

This operator can be accessed from the "Action Clip" panel, and is used to include keyframes that have been added to a strip already in the NLA. Although this is not a recommended workflow, having this ability is useful at times.

11 years agoView3d transform was sending a too-general notifier to redraw, causing several animat...
Joseph Eagar [Sun, 24 Jan 2010 04:26:01 +0000 (04:26 +0000)]
View3d transform was sending a too-general notifier to redraw, causing several animation editors and the property editor to redraw too, which can really slow things down.  added a more specific ND_VIEW3D_TRANSFORM notifier to solve this.

11 years agoremove own experiemental code
Joseph Eagar [Sun, 24 Jan 2010 02:59:09 +0000 (02:59 +0000)]
remove own experiemental code

11 years agosupport for compiling blender without python working again (with cmake at least)
Campbell Barton [Sat, 23 Jan 2010 20:43:55 +0000 (20:43 +0000)]
support for compiling blender without python working again (with cmake at least)

11 years ago- panel python template
Campbell Barton [Sat, 23 Jan 2010 18:51:56 +0000 (18:51 +0000)]
- panel python template
- nicer syntax to capitalize words

11 years agoSmall fixes for particles.
Janne Karhu [Sat, 23 Jan 2010 15:45:01 +0000 (15:45 +0000)]
Small fixes for particles.
* Particle collision with size was broken since raytrace optimizations by jaguarandi, now the collision code falls back to old slower method when the collision ray has a radius.
* Single goal/avoid object now works for boids.
* Some tiny improvements on collision avoidance for boids.

11 years agoThread queue: use _ftime to get current time on windows, same as
Brecht Van Lommel [Sat, 23 Jan 2010 14:29:56 +0000 (14:29 +0000)]
Thread queue: use _ftime to get current time on windows, same as
pthreads-win32 test suite.

11 years agocompile fix
Joseph Eagar [Sat, 23 Jan 2010 13:57:54 +0000 (13:57 +0000)]
compile fix

11 years agoaccidentally commited a patch that modifies wait_timeout, which I've not thourougly...
Joseph Eagar [Sat, 23 Jan 2010 11:32:21 +0000 (11:32 +0000)]
accidentally commited a patch that modifies wait_timeout, which I've not thourougly tested, but I'm not reverting it since it's needed to make msvc compile.  it's only used if compiling with windows anyway.  patch by mitchel stokes.

11 years agoInitial results of my profiling of the animation system.
Joseph Eagar [Sat, 23 Jan 2010 11:25:20 +0000 (11:25 +0000)]
Initial results of my profiling of the animation system.
Basically two simple changes, changes, I pulled in the faster
ghash in bmesh (which uses mempools for allocation, providing
a substanstial speedup in some cases, and also I inlined some
of the functions), and I changed __inline to __forceinline for inlining
of math functions.

I also removed the timer in the view3d zoom op (ctrl-middlemouse)
that was making it nonfunctional.  Why was that there?

11 years agoAnimation Editors: DopeSheet filtering option to only include Objects that are member...
Joshua Leung [Sat, 23 Jan 2010 03:57:11 +0000 (03:57 +0000)]
Animation Editors: DopeSheet filtering option to only include Objects that are members of the specified group

Between the datablock filtering options and the auto-snapping menu in the headers of Animation Editors, there is a new toggle for enabling this new feature (only when there are groups in the scene). Enabling this, a field to enter/select a group in the scene to filter with, will appear beside it.

This feature has been added to make it easier to manage animating multiple character shots in Durian.
By assigning the rigs of several bandits to a single group, or Sintel and her staff to another group, or Sintel and the guardians to another group, and so on, it is possible to filter the animation data shown in the editors to a useful subset of the total motion in the scene.

This makes it easier to retime or edit the motions of one set of characters and their props without affecting the motions of other no-related objects. The downside is that there is a bit more setup work required upfront, but that's probably a small price to pay for some groupings that may be useful in other ways too later (perhaps for compositing or lighting work).

11 years agoDurian Request: Expansion of Action Groups not linked between DopeSheet editors and...
Joshua Leung [Sat, 23 Jan 2010 03:04:37 +0000 (03:04 +0000)]
Durian Request: Expansion of Action Groups not linked between DopeSheet editors and the Graph Editor

Action Groups can now be expanded/collapsed in DopeSheet editors without the same thing happening in the Graph Editor, and visa versa.

This should help improve the workflow, since the channel lists are generally kept more compact in the DopeSheet, while they are more expanded in the Graph Editor, so less time is spent expanding/collapsing stuff. Also this should hopefully alleviate some of the errors from accidentally deleting and then having to restore channels that were not intended to be deleted.

Also, switched the order of the expand/collapse hotkeys (in the channels list region) for channels so that Ctrl +/- now expands/collapses selected channels only, while +/- expands/collapses all channels. This should make it more convenient to quickly open up all groups to select F-Curves for the Graph Editor.

11 years agowhen python calls an operator, return a set from the operator flag, this matches...
Campbell Barton [Sat, 23 Jan 2010 01:02:53 +0000 (01:02 +0000)]
when python calls an operator, return a set from the operator flag, this matches the set that python operators themselves return. eg.
{'MODAL'} or... {'FINISHED'}

11 years agoGraph Editor: Bugfixes for option where only the keyframes of selected F-Curves are...
Joshua Leung [Fri, 22 Jan 2010 23:51:31 +0000 (23:51 +0000)]
Graph Editor: Bugfixes for option where only the keyframes of selected F-Curves are shown

* Selected keyframes in unselected F-Curves were still being modified, although not shown
* Selection tools for keyframes were changing the selection status of F-Curves, making keyframes sometimes disappear after trying to select another keyframe

* Warning fixes in a few other files

11 years agobugfix [#20774] ctrl+alt+f switches to Object mode if you are in local view
Campbell Barton [Fri, 22 Jan 2010 21:57:41 +0000 (21:57 +0000)]
bugfix [#20774] ctrl+alt+f switches to Object mode if you are in local view

11 years agobugfix [#20767] Particle edit mode crashes
Campbell Barton [Fri, 22 Jan 2010 21:40:31 +0000 (21:40 +0000)]
bugfix [#20767] Particle edit mode crashes
& missing include added

11 years agobugfix [#20771] Blender crashes after using pop-up color selection dialog in Texture...
Campbell Barton [Fri, 22 Jan 2010 16:47:52 +0000 (16:47 +0000)]
bugfix [#20771] Blender crashes after using pop-up color selection dialog in Texture Paint

11 years agoChange order of linking slightly so things link.
Kent Mein [Fri, 22 Jan 2010 16:28:16 +0000 (16:28 +0000)]
Change order of linking slightly so things link.


11 years ago- bugfix (user supplied fix) [#20745] makesrna with rename error.
Campbell Barton [Fri, 22 Jan 2010 14:59:01 +0000 (14:59 +0000)]
- bugfix (user supplied fix) [#20745] makesrna with rename error.
- error with last commit, length had an index arg.