7 years agocode cleanup: add check spelling osl
Campbell Barton [Wed, 17 Oct 2012 01:53:29 +0000 (01:53 +0000)]
code cleanup: add check spelling osl

7 years agostyle cleanup: make OSL follow our C style convention.
Campbell Barton [Wed, 17 Oct 2012 01:47:37 +0000 (01:47 +0000)]
style cleanup: make OSL follow our C style convention.

7 years agoCycles / OSL:
Thomas Dinges [Wed, 17 Oct 2012 00:28:46 +0000 (00:28 +0000)]
Cycles / OSL:
* Add Light Falloff Node.

7 years agoCycles / OSL:
Thomas Dinges [Tue, 16 Oct 2012 22:42:05 +0000 (22:42 +0000)]
Cycles / OSL:
* Ray Length is now available in OSL (via get_attribute)

7 years agoSmoke: Animated collision objects do no longer block smoke. Smoke gets transfered...
Daniel Genrich [Tue, 16 Oct 2012 17:01:22 +0000 (17:01 +0000)]
Smoke: Animated collision objects do no longer block smoke. Smoke gets transfered velocity from moving collision object.


Part of my Blender Development Project Phase III, merged from Smoke2 branch

WIP docs:

7 years agoun-subdivide bmesh operator, useful for making lower polygon versions of models,...
Campbell Barton [Tue, 16 Oct 2012 16:04:12 +0000 (16:04 +0000)]
un-subdivide bmesh operator, useful for making lower polygon versions of models, can give nicer results then edge collapsing which tends to give a lot of sharp triangles.

works on edges and faces, has iteration option to further reduce the poly count.

access from the edge menu, under subdivide.


7 years agoFix for second bug reported in #32846: Particle emitters are still shown for secondar...
Lukas Toenne [Tue, 16 Oct 2012 15:38:52 +0000 (15:38 +0000)]
Fix for second bug reported in #32846: Particle emitters are still shown for secondary instances with "show emitter" disabled. This requires checking the duplicator visibility on dupli objects themselves after generating the dupli-list.

The emitter visibility option is messy design, it makes such checks unnecessarily complicated. A better approach would be to allow non-mesh objects to carry particle data, these objects would just be invisible anyway without having to care about extra settings. However, this conflicts with the simplistic particle design of "owner is the emitter" ...

7 years agoColor Management: texture baking should be correct when color management is disabled
Sergey Sharybin [Tue, 16 Oct 2012 15:20:18 +0000 (15:20 +0000)]
Color Management: texture baking should be correct when color management is disabled

7 years agoFix #32891: Bake to Texture didn't use color management flag properly
Sergey Sharybin [Tue, 16 Oct 2012 15:07:01 +0000 (15:07 +0000)]
Fix #32891: Bake to Texture didn't use color management flag properly

7 years agoFix/workaround #32846, dupli group + particle instances gets messed up in Cycles...
Lukas Toenne [Tue, 16 Oct 2012 14:55:36 +0000 (14:55 +0000)]
Fix/workaround #32846, dupli group + particle instances gets messed up in Cycles viewport rendering.

Caused by modifier updates during dupli-list generation. The dupli-list generation temporarily changes the ob->obmat matrix, which in turn leads to wrong particle states if used for reset. Skip the particle update if no timestep is performed or initialization required.

Proper solution for this problem would be to avoid changing the object data (= particles) state altogether in modifiers, which are usually only writing to DM data and not touching the object or base mesh. This would require a well designed physics framework and integrating it into current particles is close to impossible.

7 years agofix for free NULL pointer in BM_vert_splice() and BM_iter_as_arrayN() failed with...
Campbell Barton [Tue, 16 Oct 2012 14:35:37 +0000 (14:35 +0000)]
fix for free NULL pointer in BM_vert_splice() and BM_iter_as_arrayN() failed with BM_VERTS_OF_MESH/BM_EDGES_OF_MESH/BM_FACES_OF_MESH.

7 years agoFix object motion blur crash with lamp sampling(?), missed a check.
Brecht Van Lommel [Tue, 16 Oct 2012 13:20:57 +0000 (13:20 +0000)]
Fix object motion blur crash with lamp sampling(?), missed a check.

Motion blur documentation is here:

7 years agoCycles: non-camera viewport render border support
Sergey Sharybin [Tue, 16 Oct 2012 11:57:46 +0000 (11:57 +0000)]
Cycles: non-camera viewport render border support

This makes it possible to do a border render inside a viewport even
when not looking through the camera.

Render border could be defined by Ctrl-B shortcut (works for both
camera render border and viewport render border).

Camera render border could still be defined using Shift-B (so no
muscule memory would be broken). Currently used a special flag of
operator to do this, otherwise you'll need to either two operators
with different poll callback or it could go into conflict with a
border zoom,

Border render of a viewport could be enabled/disabled in View
panel using "Render Border" option.

7 years agoFix for (camera) motion blur changes in Cycles OSL. Compilation was broken due to...
Lukas Toenne [Tue, 16 Oct 2012 10:59:35 +0000 (10:59 +0000)]
Fix for (camera) motion blur changes in Cycles OSL. Compilation was broken due to changed object transform functions. Also added a few missing renderer service implementations for matrix callbacks.

7 years agoCycles: object motion blur enabled, so in addition to camera motion, moving
Brecht Van Lommel [Tue, 16 Oct 2012 10:48:19 +0000 (10:48 +0000)]
Cycles: object motion blur enabled, so in addition to camera motion, moving
objects in the scene will also cause motion blur.

This change does come with a bit of a slow down to the CPU rendering kernel even
with motion blur disabled, due to extra overhead in handling of object matrices.
It's a few percentages on simpler scenes, not so noticeable on more complex ones.
With motion blur enabled rendering is of course also slower as would be expected,
though from testing especially GPU rendering handles it quite well.

This does not support motion blur from deforming objects yet, only translation,
scale and rotation. Deformation blur is probably for another release.

7 years agoFix #32819: Crash when starting CUDA kernel compilation if UI translation is not...
Sergey Sharybin [Tue, 16 Oct 2012 10:29:34 +0000 (10:29 +0000)]
Fix #32819: Crash when starting CUDA kernel compilation if UI translation is not "Default"

Issue was caused by some boost filesystem routines accessing current locale
and such an access failed in cases code page isn't specified for the current

Made it so UTF-8 locale name would be tried to be used first.

7 years agofix for 2 cases BM_disk_dissolve() could fail/assert.
Campbell Barton [Tue, 16 Oct 2012 09:11:07 +0000 (09:11 +0000)]
fix for 2 cases BM_disk_dissolve() could fail/assert.
- when there was a vertex with 2 boundary edges and one manifold edge (vert at the boundary between 2 quads) it could assert.
- when there is a vertex with 2 boundary verts connected that both use the same face, it would do nothing.

7 years agoMore UI messages and BKE_reportf<->BKE_report fixes...
Bastien Montagne [Tue, 16 Oct 2012 07:53:10 +0000 (07:53 +0000)]
More UI messages and BKE_reportf<->BKE_report fixes...

7 years agoMESH_OT_vert_connect was missing select flush (newly created edges were not selected).
Campbell Barton [Tue, 16 Oct 2012 03:21:22 +0000 (03:21 +0000)]
MESH_OT_vert_connect was missing select flush (newly created edges were not selected).
also <120 line length for cycles property descriptions.

7 years agostyle cleanup
Campbell Barton [Tue, 16 Oct 2012 01:56:54 +0000 (01:56 +0000)]
style cleanup

7 years agoAdd BMesh and WM symmetrize operators
Nicholas Bishop [Mon, 15 Oct 2012 23:50:09 +0000 (23:50 +0000)]
Add BMesh and WM symmetrize operators

* The symmetrize operation makes the input mesh elements symmetrical,
  but unlike mirroring it only copies in one direction. The edges and
  faces that cross the plane of symmetry are split as needed to
  enforce symmetry.

* The symmetrize operator can be controlled with the "direction"
  property, which combines the choices of symmetry plane and
  positive-negative/negative-positive. The enum for this is

* Added menu items in the top-level Mesh menu and the WKEY specials

* Documentation:

* Reviewed by Brecht:

7 years agocode cleanup: picky rna naming convention
Campbell Barton [Mon, 15 Oct 2012 23:17:24 +0000 (23:17 +0000)]
code cleanup: picky rna naming convention

7 years agocode cleanup: use float sizes for function args.
Campbell Barton [Mon, 15 Oct 2012 23:11:59 +0000 (23:11 +0000)]
code cleanup: use float sizes for function args.

7 years agodragging the playhead now uses continuous grab.
Campbell Barton [Mon, 15 Oct 2012 22:45:47 +0000 (22:45 +0000)]
dragging the playhead now uses continuous grab.

7 years agoCycles: fix some update issues with camera motion blur, and do some more work
Brecht Van Lommel [Mon, 15 Oct 2012 21:12:58 +0000 (21:12 +0000)]
Cycles: fix some update issues with camera motion blur, and do some more work
for getting object motion blur ready.

7 years agoSmoke: Merge parts of Smoke2 branch
Daniel Genrich [Mon, 15 Oct 2012 19:57:18 +0000 (19:57 +0000)]
Smoke: Merge parts of Smoke2 branch

Collision objects do cause vorticity when passing through smoke

Part of my Smoke Development Project (milestone III)

7 years agoCycles: tweak progressive refine tooltip to make it more clear
Brecht Van Lommel [Mon, 15 Oct 2012 17:56:53 +0000 (17:56 +0000)]
Cycles: tweak progressive refine tooltip to make it more clear

7 years agoFix for #32852: set uv unwrap default packing marging to 0.001.
Brecht Van Lommel [Mon, 15 Oct 2012 17:56:51 +0000 (17:56 +0000)]
Fix for #32852: set uv unwrap default packing marging to 0.001.

7 years agoFix #32844: cycles camera motion blur producing completely blurred frames sometimes.
Brecht Van Lommel [Mon, 15 Oct 2012 17:56:40 +0000 (17:56 +0000)]
Fix #32844: cycles camera motion blur producing completely blurred frames sometimes.

7 years agoAdding Estonian and Esperanto iso codes in allowed non-capitalized UI messages...
Bastien Montagne [Mon, 15 Oct 2012 17:52:09 +0000 (17:52 +0000)]
Adding Estonian and Esperanto iso codes in allowed non-capitalized UI messages...

7 years agoAdding new Esperanto language.
Bastien Montagne [Mon, 15 Oct 2012 17:48:33 +0000 (17:48 +0000)]
Adding new Esperanto language.

7 years agoUpdate to stable Eigen 3.1.1
Daniel Genrich [Mon, 15 Oct 2012 16:29:23 +0000 (16:29 +0000)]
Update to stable Eigen 3.1.1

- Fixes several bugs within the Eigen library:

7 years agoanother change needed for qtcreator project generator to work with ninja.
Campbell Barton [Mon, 15 Oct 2012 14:26:14 +0000 (14:26 +0000)]
another change needed for qtcreator project generator to work with ninja.

7 years agoadd support for using ninja to extract build info for qtcreator/netbeans/error-checkers.
Campbell Barton [Mon, 15 Oct 2012 14:11:30 +0000 (14:11 +0000)]
add support for using ninja to extract build info for qtcreator/netbeans/error-checkers.

7 years agoForget this in svn rev51336
Sergey Sharybin [Mon, 15 Oct 2012 13:02:11 +0000 (13:02 +0000)]
Forget this in svn rev51336

7 years agoClamp minimal tile size with Save Buffers and FSAA enabled
Sergey Sharybin [Mon, 15 Oct 2012 12:54:12 +0000 (12:54 +0000)]
Clamp minimal tile size with Save Buffers and FSAA enabled

That was an old check whether tiled EXRs are used during rendering
since version 2.42 where there indeed was a special check for tile
size in EXR tile code.

Now it seems EXR could handle tiles with non-equal size and no
extra tile size check happens for EXR. Anyway EXR tile initialization
happens after initparts, so clamping size in initparts should be
safe for EXR tiles as well.

7 years agoFix #32858: Image appears too dark in Image Editor
Sergey Sharybin [Mon, 15 Oct 2012 11:16:54 +0000 (11:16 +0000)]
Fix #32858: Image appears too dark in Image Editor

No need to linearize byte buffer when converting to display space which is data space.

7 years agoMotion Tracking: fixed dopesheet left in incorrect state after joining tracks
Sergey Sharybin [Mon, 15 Oct 2012 10:43:10 +0000 (10:43 +0000)]
Motion Tracking: fixed dopesheet left in incorrect state after joining tracks

7 years agoSolve some issues with smoke when using strict compile flags
Sergey Sharybin [Mon, 15 Oct 2012 09:25:03 +0000 (09:25 +0000)]
Solve some issues with smoke when using strict compile flags

- Mark some functions as static
- ifdef-ed currently unused functions from spectrum.cpp
- Fixed missing prototype for smectrum() function

7 years agocode cleanup: define sizes of vectors for function args and use C style comments
Campbell Barton [Mon, 15 Oct 2012 09:11:17 +0000 (09:11 +0000)]
code cleanup: define sizes of vectors for function args and use C style comments

7 years agoColor Management: remove unused function and get rid of unneeded float->byte conversion
Sergey Sharybin [Mon, 15 Oct 2012 07:47:38 +0000 (07:47 +0000)]
Color Management: remove unused function and get rid of unneeded float->byte conversion

7 years agofix for own mistake using freed memory with menus.
Campbell Barton [Mon, 15 Oct 2012 06:12:05 +0000 (06:12 +0000)]
fix for own mistake using freed memory with menus.

7 years agoAdding some descriptions/tooltips for more keyframe editing operations
Joshua Leung [Mon, 15 Oct 2012 04:17:29 +0000 (04:17 +0000)]
Adding some descriptions/tooltips for more keyframe editing operations

7 years agostyle cleanup: bge
Campbell Barton [Mon, 15 Oct 2012 04:16:34 +0000 (04:16 +0000)]
style cleanup: bge

7 years agosafety NULL check for r51327, don't assume ED_object_modifier_add() succeeds.
Campbell Barton [Mon, 15 Oct 2012 03:56:01 +0000 (03:56 +0000)]
safety NULL check for r51327, don't assume ED_object_modifier_add() succeeds.

7 years agoMaking "Jump to Keyframes" operator (for Action/Graph Editors) more obvious
Joshua Leung [Mon, 15 Oct 2012 03:52:27 +0000 (03:52 +0000)]
Making "Jump to Keyframes" operator (for Action/Graph Editors) more obvious

This operator used to be called "Jump to Frame". It basically takes the midpoint
(frame number and/or value) of selected keyframes, and positions the current
frame (or2d-cursor in Graph Editor) at this point.

The hotkey for this is now Ctrl-G (i.e. as it's similar to a "Goto Frame"
feature). It is also now in the Key menu instead of in the relatively obscure
View menu, even though it doesn't actually result in any keyframe edits taking

(Also, fixed a typo/grammer issue with one of Remove Bone Group operator)

7 years agofix for error in filled rip copying customdata (new triangles were flipped across...
Campbell Barton [Mon, 15 Oct 2012 03:36:22 +0000 (03:36 +0000)]
fix for error in filled rip copying customdata (new triangles were flipped across the edges of the empty space they spanned) only noticeable when the customdata on either size of the rip didnt match.

7 years agocode cleanup: remove redundant pointer indirection.
Campbell Barton [Mon, 15 Oct 2012 03:27:05 +0000 (03:27 +0000)]
code cleanup: remove redundant pointer indirection.

7 years agoadd missing redraw notifier for separate UV operator, also some style cleanup and...
Campbell Barton [Mon, 15 Oct 2012 03:17:10 +0000 (03:17 +0000)]
add missing redraw notifier for separate UV operator, also some style cleanup and remove unused define.

7 years agoParenting an object to a deformer (armature/curve/lattice) will now attempt to
Joshua Leung [Mon, 15 Oct 2012 03:16:38 +0000 (03:16 +0000)]
Parenting an object to a deformer (armature/curve/lattice) will now attempt to
check if the object is already parented to said deformer before trying to add a
new modifier

This should help reduce the number of cases where users inadvertantly end up
creating multiple deform modifiers pointing to the same object, which has been
known to be a cause of "double-transform" artifacts.

Note that this is only able to detect these cases by checking if the parent
object is selected, so this will only really work for the Ctrl-P shortcut where
you have to select both objects first. However, it shouldn't be a problem either
in the Outliner (drag and drop), as the object probably won't be a child of its
parent already if you're doing this.

7 years agoUnparenting objects from armatures/curves/lattices now removes the corresponding
Joshua Leung [Mon, 15 Oct 2012 03:00:27 +0000 (03:00 +0000)]
Unparenting objects from armatures/curves/lattices now removes the corresponding
modifiers now

This makes it harder for users to unwittingly create multiple deform modifiers
by parenting and unparenting a number of times, with the net result being that
"Clear Parent" is now the true inverse operation of "Make Parent".

7 years agocode cleanup: check for msvc directly when using warning pragma's.
Campbell Barton [Mon, 15 Oct 2012 02:15:07 +0000 (02:15 +0000)]
code cleanup: check for msvc directly when using warning pragma's.

7 years agoStreamlinining Bone Groups menu (Ctrl G)
Joshua Leung [Mon, 15 Oct 2012 02:01:39 +0000 (02:01 +0000)]
Streamlinining Bone Groups menu (Ctrl G)

The Ctrl-G menu for managing Bone Groups has always been a bit clunky,
especially when compared to the Hooks menu (Ctrl-H). This was because the old
menu was more data-orientated (Bone Group Management, Membership to these
groups) whereas this new arrangement should be a bit more task-orientated (Add
to new group, Add to active group, Remove from all groups, Remove active group).

7 years agofix for py-console ctrl+backspace/del changing the selection.
Campbell Barton [Sun, 14 Oct 2012 21:27:08 +0000 (21:27 +0000)]
fix for py-console ctrl+backspace/del changing the selection.

7 years agoFix for misplaced cursor in wrapped console prompt, also fixes newline for single...
Sv. Lockal [Sun, 14 Oct 2012 19:57:49 +0000 (19:57 +0000)]
Fix for misplaced cursor in wrapped console prompt, also fixes newline for single wrap when input line width equals console width

7 years agoAdding Estonian new language.
Bastien Montagne [Sun, 14 Oct 2012 19:38:27 +0000 (19:38 +0000)]
Adding Estonian new language.

7 years agoMore UI messages and BKE_reportf->BKE_report fixes...
Bastien Montagne [Sun, 14 Oct 2012 15:29:09 +0000 (15:29 +0000)]
More UI messages and BKE_reportf->BKE_report fixes...

7 years agoFew minor fixes to i18n tools (mostly use ordered dicts too for "xgettexted" messages...
Bastien Montagne [Sun, 14 Oct 2012 14:18:30 +0000 (14:18 +0000)]
Few minor fixes to i18n tools (mostly use ordered dicts too for "xgettexted" messages...).

7 years agocorrect another misuse of FLT_MIN
Campbell Barton [Sun, 14 Oct 2012 13:21:40 +0000 (13:21 +0000)]
correct another misuse of FLT_MIN

7 years agofix for incorrect initial boundbox with svbvh raytracing. (bad use of FLT_MIN)
Campbell Barton [Sun, 14 Oct 2012 13:18:32 +0000 (13:18 +0000)]
fix for incorrect initial boundbox with svbvh raytracing. (bad use of FLT_MIN)

7 years agostyle cleanup
Campbell Barton [Sun, 14 Oct 2012 13:08:19 +0000 (13:08 +0000)]
style cleanup

7 years agocode cleanup: remove redundant casts
Campbell Barton [Sun, 14 Oct 2012 08:49:01 +0000 (08:49 +0000)]
code cleanup: remove redundant casts

7 years agocode cleanup: remove redundant casts. quiet some qualifier warnings.
Campbell Barton [Sun, 14 Oct 2012 07:40:16 +0000 (07:40 +0000)]
code cleanup: remove redundant casts. quiet some qualifier warnings.

7 years agoFixed missing display buffer and mipmaps invalidation in cases only
Sergey Sharybin [Sun, 14 Oct 2012 06:59:01 +0000 (06:59 +0000)]
Fixed missing display buffer and mipmaps invalidation in cases only
few of selected objects failed to bake.

7 years agoRip-fill mesh tool (option for rip operator)
Campbell Barton [Sun, 14 Oct 2012 04:42:11 +0000 (04:42 +0000)]
Rip-fill mesh tool (option for rip operator)

Alt+V will fill the area inbetween the ripped faces - a bit like extrude.
faces are flipped to match existing geometry and customdata (uv, vcols etc) is copied from surrounding geometry too.

7 years agoBlenderplayer: Fixing a crash on startup when the graphics driver tried to use uninit...
Mitchell Stokes [Sun, 14 Oct 2012 04:22:38 +0000 (04:22 +0000)]
Blenderplayer: Fixing a crash on startup when the graphics driver tried to use uninitialized memory. I had fixed this previously in Swiss, but it looks like I missed grabbing the fix when bringing the GetViewPort() changes into trunk.

7 years agofix for error compiling on some platforms: use ll suffix for 64bit ints in BLI_endian...
Campbell Barton [Sun, 14 Oct 2012 04:11:34 +0000 (04:11 +0000)]
fix for error compiling on some platforms: use ll suffix for 64bit ints in BLI_endian_switch_int64()

7 years agouse safer string copy functions and change the define for FILE_MAX_LIBEXTRA to use...
Campbell Barton [Sun, 14 Oct 2012 03:56:47 +0000 (03:56 +0000)]
use safer string copy functions and change the define for FILE_MAX_LIBEXTRA to use MAX_ID_NAME (now greater then 32).

7 years agoMinor: precision in template_list doc, that only one list is allowed per template...
Bastien Montagne [Sat, 13 Oct 2012 21:32:58 +0000 (21:32 +0000)]
Minor: precision in template_list doc, that only one list is allowed per template...

Note: I should really try to remove this stupid limitation!

7 years agoMake zoom direction consistent all over the editors
Sergey Sharybin [Sat, 13 Oct 2012 16:42:12 +0000 (16:42 +0000)]
Make zoom direction consistent all over the editors

Was discussed in De Balie with lots of artists and we agreed it makes more
sense to behave this way

7 years agoMore UI messages fixes.
Bastien Montagne [Sat, 13 Oct 2012 15:44:50 +0000 (15:44 +0000)]
More UI messages fixes.
Also forgot to translate reports' titles, and change some usages of BKE_reportf to simple BKE_report, when the former is not needed!

7 years agoAdd translation of reports messages (only direct uses of BKE_report(f)/BKE_reports_ap...
Bastien Montagne [Sat, 13 Oct 2012 13:55:14 +0000 (13:55 +0000)]
Add translation of reports messages (only direct uses of BKE_report(f)/BKE_reports_append(f) funcs for now). Already adds quite a bunch of new msgids!

7 years agoAnd more UI messages spell check.
Bastien Montagne [Sat, 13 Oct 2012 13:40:05 +0000 (13:40 +0000)]
And more UI messages spell check.

7 years agoCycles: progressive refine option
Sergey Sharybin [Sat, 13 Oct 2012 12:38:32 +0000 (12:38 +0000)]
Cycles: progressive refine option

Just makes progressive refine :)

This means the whole image would be refined gradually using as much
threads as it's set in performance settings. Having enough tiles is
required to have this option working as it's expected.

Technically it's implemented by repeatedly computing next sample for
all the tiles before switching to next sample.

This works around 7-12% slower than regular tile-based rendering, so
use this option only if you really need it.

This commit also fixes progressive update of image when Save Buffers
option is enabled.

And one more thing this commit fixes is handling display buffer with
Save Buffers option enabled. If this option is enabled image buffer
wouldn't have neither byte nor float buffer until image is fully
rendered which could backfire in missing image while rendering in
cases color management cache became full.

This issue solved by allocating byte buffer for image buffer from
tile update callback.

Patch was reviewed by Brecht. He also made some minor edits to
original version to patch. Thanks, man!

7 years agoFix for wrong cycles tangent in some cases, was missing transform.
Brecht Van Lommel [Sat, 13 Oct 2012 12:11:01 +0000 (12:11 +0000)]
Fix for wrong cycles tangent in some cases, was missing transform.

7 years agocode cleanup: minor edits on recent commit.
Campbell Barton [Sat, 13 Oct 2012 11:23:04 +0000 (11:23 +0000)]
code cleanup: minor edits on recent commit.

7 years agoMore spell check exceptions...
Bastien Montagne [Sat, 13 Oct 2012 11:08:00 +0000 (11:08 +0000)]
More spell check exceptions...

7 years agoLattice Editing: Distortion-Free "Flip" Operator
Joshua Leung [Sat, 13 Oct 2012 10:42:38 +0000 (10:42 +0000)]
Lattice Editing: Distortion-Free "Flip" Operator

This operator (Ctrl-F) allows you to flip the lattice coordinates without
inverting the normals of meshes deformed by the lattice (or the lattice's
deformation space for that matter). Unlike the traditional mirror tool, this
tool is aware of the fact that the vertex order for lattice control points
matters, and that simply mirroring the coordinates will only cause the lattice
to have an inverted deform along a particular axis (i.e. it will be scaling by a
negative scaling factor along that axis).

The problems (as I discovered the other day) with having such an inverted
deformation space are that:
- the normals of meshes/objects inside that will be incorrect/flipped (and will
disappear in GLSL shading mode for instance)
- transforming objects deformed by the lattices will become really tricky and
counter-intuitive (e.g. rotate in opposite direction by asymmetric amounts to
get desired result)
- it is not always immediately obvious that problems have occurred

Specific use cases this operator is meant to solve:
1) You've created a lattice-based deformer for one cartoonish eye. Now you want
to make the second eye, but want to save some time crafting that basic shape
again but mirrored.
2) You've got an even more finely crafted setup for stretchy-rigs, and now need
to apply it to other parts of the rig.

* I've implemented a separate operator for this vs extending/patching mirror
transform tool as it's easier to implement this way, but also because there are
still some cases where the old mirroring seems valid (i.e. you explicitly want
these sort of distortion effects).
* Currently this doesn't take selections into account, as it doesn't seem useful
to do so.

7 years agofix for own error, leaving in test code to set the smooth flag.
Campbell Barton [Sat, 13 Oct 2012 10:41:34 +0000 (10:41 +0000)]
fix for own error, leaving in test code to set the smooth flag.

7 years agoadded filter for user installed addons
Gaia Clary [Sat, 13 Oct 2012 10:33:09 +0000 (10:33 +0000)]
added filter for user installed addons

7 years agodifferenciate log message for enabled/disabled modules
Gaia Clary [Sat, 13 Oct 2012 10:31:35 +0000 (10:31 +0000)]
differenciate log message for enabled/disabled modules

7 years agoimprove edge rip when the edge has only 2 other connected edges.
Campbell Barton [Sat, 13 Oct 2012 03:59:06 +0000 (03:59 +0000)]
improve edge rip when the edge has only 2 other connected edges.

common case ripping an edge of the default cube, it didn't run the edge size check.

7 years agostyle cleanup: spelling
Campbell Barton [Sat, 13 Oct 2012 03:54:27 +0000 (03:54 +0000)]
style cleanup: spelling

7 years agoadd support for ripping off a single face from a single vertex when the vertex has...
Campbell Barton [Sat, 13 Oct 2012 01:46:57 +0000 (01:46 +0000)]
add support for ripping off a single face from a single vertex when the vertex has 3 surrounding verts & faces.

7 years agoBugfix [#32865] Usercounts for World Textures not decremented after preview
Joshua Leung [Sat, 13 Oct 2012 01:19:23 +0000 (01:19 +0000)]
Bugfix [#32865] Usercounts for World Textures not decremented after preview

When adjusting settings for world textures (with Both/World preview modes),
every tweak would result in the usercount of the texture increasing. As a
result, before long the texture would claim to have over 100 users. Fortunately,
this only appeared to be just a cosmetic issue (i.e. no real memory leak here),
though it was a bit unsettling.

NOTE: this is still a bit glitchy, as now we have flickering when updating
texture settings - the texture still temporarily has a second user during
preview rendering.

7 years ago* Fix small bug in Python operator example; improved example of modal operator
Jiri Hnidek [Fri, 12 Oct 2012 18:19:39 +0000 (18:19 +0000)]
* Fix small bug in Python operator example; improved example of modal operator

7 years agoTemplates:
Thomas Dinges [Fri, 12 Oct 2012 18:10:15 +0000 (18:10 +0000)]
* UI Panel: Add examples for different button sizes.

7 years agoquiet some -Wshadow warnings
Campbell Barton [Fri, 12 Oct 2012 14:35:10 +0000 (14:35 +0000)]
quiet some -Wshadow warnings

7 years agocode cleanup: video playback move frame step into the PlayState struct.
Campbell Barton [Fri, 12 Oct 2012 14:03:43 +0000 (14:03 +0000)]
code cleanup: video playback move frame step into the PlayState struct.

7 years agofix for own error in copy_as_script(), imports were incorrect.
Campbell Barton [Fri, 12 Oct 2012 04:00:41 +0000 (04:00 +0000)]
fix for own error in copy_as_script(), imports were incorrect.

7 years agooptimization for PyObject -> ID-property sequence conversion, use PySequence_Fast.
Campbell Barton [Fri, 12 Oct 2012 03:59:50 +0000 (03:59 +0000)]
optimization for PyObject -> ID-property sequence conversion, use PySequence_Fast.

7 years agoquiet clang static checker warning by returning an error for invalid situation gettin...
Campbell Barton [Fri, 12 Oct 2012 03:24:47 +0000 (03:24 +0000)]
quiet clang static checker warning by returning an error for invalid situation getting an IDProp mapping from a PyObject.

also print the path installed to when installing an addon.

7 years agoremove BLI_noise from BLI_blenlib.h, not that many files need this.
Campbell Barton [Fri, 12 Oct 2012 00:18:32 +0000 (00:18 +0000)]
remove BLI_noise from BLI_blenlib.h, not that many files need this.

7 years agofix for many RNA definitions having soft/hard ranges swapped, make this BLI_assert...
Campbell Barton [Thu, 11 Oct 2012 23:46:12 +0000 (23:46 +0000)]
fix for many RNA definitions having soft/hard ranges swapped, make this BLI_assert() on debug builds.

7 years agoget the width and height of the font at once when drawing auto-key,
Campbell Barton [Thu, 11 Oct 2012 23:42:26 +0000 (23:42 +0000)]
get the width and height of the font at once when drawing auto-key,
also move BLF'g global font init into its own static function.

7 years agoRevert part of own r51193 (now I know where Courant comes from...), and add another...
Bastien Montagne [Thu, 11 Oct 2012 18:41:07 +0000 (18:41 +0000)]
Revert part of own r51193 (now I know where Courant comes from...), and add another exception to UI messages spellchecker! Thanks to Lockal for pointing this.

7 years agoRemoved duplicate include of stdio.h
Joshua Leung [Thu, 11 Oct 2012 10:19:38 +0000 (10:19 +0000)]
Removed duplicate include of stdio.h

At least on mingw, this doesn't seem to be needed.

7 years agoOSX/cmake: after osl librenew with globals patch, forcing oiio is not longer needed
Jens Verwiebe [Thu, 11 Oct 2012 10:15:37 +0000 (10:15 +0000)]
OSX/cmake: after osl librenew with globals patch, forcing oiio is not longer needed

7 years agoAuto key warning - Stripping down to basics
Joshua Leung [Thu, 11 Oct 2012 09:53:17 +0000 (09:53 +0000)]
Auto key warning - Stripping down to basics

Now just a static icon + text display in corner of view. No blinking. No
red/orange text. No window borders.

7 years agoLimit Distance Constraint - jpbouza Feature Request
Joshua Leung [Thu, 11 Oct 2012 08:26:49 +0000 (08:26 +0000)]
Limit Distance Constraint - jpbouza Feature Request

The Limit Distance constraint is now allowed to use the owner/target space
settings. Previously this wasn't exposed it didn't seem sensible/useful.
However, this can be useful when dealing with dependencies between bones and the
armature gets scaled.

Usage notes:
- It is advised to select the same space for both owner and target, otherwise
the comparisons are meaningless