8 years agosvn merge ^/trunk/blender -r48370:48375
Campbell Barton [Thu, 28 Jun 2012 14:19:53 +0000 (14:19 +0000)]
svn merge ^/trunk/blender -r48370:48375

8 years agorecent fix for #31581 could crash when doing edge slide on a mesh with no UV's.
Campbell Barton [Thu, 28 Jun 2012 14:18:04 +0000 (14:18 +0000)]
recent fix for #31581 could crash when doing edge slide on a mesh with no UV's.

8 years agocode cleanup: compile with clang and quiet some warnings.
Campbell Barton [Thu, 28 Jun 2012 12:32:06 +0000 (12:32 +0000)]
code cleanup: compile with clang and quiet some warnings.

8 years agosvn merge ^/trunk/blender -r48333:48370
Campbell Barton [Thu, 28 Jun 2012 11:20:19 +0000 (11:20 +0000)]
svn merge ^/trunk/blender -r48333:48370

8 years agoForgot these files in previous commit.
Brecht Van Lommel [Thu, 28 Jun 2012 11:16:47 +0000 (11:16 +0000)]
Forgot these files in previous commit.

8 years agoFix for image node: The button draw function was using the image user pointer for...
Lukas Toenne [Thu, 28 Jun 2012 10:59:40 +0000 (10:59 +0000)]
Fix for image node: The button draw function was using the image user pointer for displaying properties, which does not work correctly. The image node has to redefine image user RNA properties in order to make correct update calls and to have meaningful image layer names. For these properties the node pointer itself has to be used then.

8 years agoCycles: regular rendering now works tiled, and supports save buffers to
Brecht Van Lommel [Thu, 28 Jun 2012 10:34:38 +0000 (10:34 +0000)]
Cycles: regular rendering now works tiled, and supports save buffers to
save memory during render and cache render results.

Implementation notes:

In the render engine API it's now possible to get the render result for
one render layer only, and retrieve the expected tile size in case save
buffers is used. This is needed because EXR expects tiles with particular
size and coordinates.

The EXR temporary files are now also separated per layer, since Cycles
can't give the full render result for all render layers, and EXR doesn't
support writing parts of tiles.

In Cycles internally the handling of render buffers and multi GPU
rendering in particular changed quite a bit, and could use a bit more
refactoring to make things more consistent and simple.

8 years agoMove color management check stuff from blo_read_file_internal to setup_app_data
Sergey Sharybin [Thu, 28 Jun 2012 10:05:22 +0000 (10:05 +0000)]
Move color management check stuff from blo_read_file_internal to setup_app_data

8 years agoFix for [#23375] "texture2D in custom 2D filters can get texture outside of game...
Mitchell Stokes [Thu, 28 Jun 2012 09:37:30 +0000 (09:37 +0000)]
Fix for [#23375] "texture2D in custom 2D filters can get texture outside of game, resulting in ugliness" reported by Jacob F.

The 2D Filter system now only copies the game viewport instead of the whole window. This prevents 2D Filters from grabbing data outside of the game viewport. The textures for 2D filters are now also not forced to be powers of two (if NPOT textures are supported), which can save a little bit of VRAM.

8 years agofix for segfault on undo because of loading color profile info.
Campbell Barton [Thu, 28 Jun 2012 09:18:07 +0000 (09:18 +0000)]
fix for segfault on undo because of loading color profile info.

8 years agoFix #31835: OBJ Importer corrupts a model (crash in edit mode)
Sergey Sharybin [Thu, 28 Jun 2012 09:08:11 +0000 (09:08 +0000)]
Fix #31835: OBJ Importer corrupts a model (crash in edit mode)

Added back face validation to BKE_mesh_validate_arrays.

This is needed because some addons (like OBJ importer) are reading
tessfaces and then converting them to ngons and validation of tessfaces
is needed before such a conversion.

Validation of faces would happen only if there's no polys in mesh.

8 years agocode cleanup: cmake buildsystem edits, unused var warnings and better description...
Campbell Barton [Thu, 28 Jun 2012 08:51:02 +0000 (08:51 +0000)]
code cleanup: cmake buildsystem edits, unused var warnings and better description for WITH_PYTHON_MODULE.
also disable workaround for some linux installs.

8 years agoBasic snapping in node transform operator.
Lukas Toenne [Thu, 28 Jun 2012 08:47:22 +0000 (08:47 +0000)]
Basic snapping in node transform operator.

Snapping actually was working already, but grid spacing was set to 1.0, which is basically pixel size in the node editor. Increased this to 1x grid step for fine snapping and 5x grid step for rough snapping.

Grid drawing in node editor now draws 2 levels in slightly different shades to indicate the different snapping modes better.

Node editor also supports the general use_snap tool setting to enable automatic snapping during transform. For now only the incremental snapping is supported, in future could be extended to enable alignment between nodes in a number of ways.

8 years agodocument calling operators with undo enabled.
Campbell Barton [Thu, 28 Jun 2012 08:17:28 +0000 (08:17 +0000)]
document calling operators with undo enabled.

8 years agoFix #31929: VSE crash with relative paths and rebuilding proxies
Sergey Sharybin [Thu, 28 Jun 2012 07:58:34 +0000 (07:58 +0000)]
Fix #31929: VSE crash with relative paths and rebuilding proxies

8 years agocode cleanup: when heat weighting dont loop through all polys when its not needed.
Campbell Barton [Thu, 28 Jun 2012 07:18:19 +0000 (07:18 +0000)]
code cleanup: when heat weighting dont loop through all polys when its not needed.

8 years agofix [#31940] crash with automatic weights
Campbell Barton [Thu, 28 Jun 2012 07:13:03 +0000 (07:13 +0000)]
fix [#31940] crash with automatic weights

8 years agoRemoving channel manipulation from the Action Actuator Python API since this has...
Mitchell Stokes [Thu, 28 Jun 2012 06:22:47 +0000 (06:22 +0000)]
Removing channel manipulation from the Action Actuator Python API since this has been broken since the animation changes from Pepper. BL_ArmatureObject.channels should be used instead. For more information see bug #28843 for more info:

8 years agocommitted debug memcount by accident
Campbell Barton [Wed, 27 Jun 2012 22:27:04 +0000 (22:27 +0000)]
committed debug memcount by accident

8 years agobge.logic.keyboard.getClipboard() and .setClipboard methods
Dalai Felinto [Wed, 27 Jun 2012 21:57:33 +0000 (21:57 +0000)]
bge.logic.keyboard.getClipboard() and .setClipboard methods
the idea of using methods instead of attributes is to avoid users abusing of the system calls.

Thanks Campbell Barton for reviewing and small corrections

8 years agooption so operators can be executed with undo enabled (and redo).
Campbell Barton [Wed, 27 Jun 2012 21:41:17 +0000 (21:41 +0000)]
option so operators can be executed with undo enabled (and redo).

8 years agomissed tiff using 150 dpi as default in previous commit, use a define now.
Campbell Barton [Wed, 27 Jun 2012 19:28:44 +0000 (19:28 +0000)]
missed tiff using 150 dpi as default in previous commit, use a define now.

8 years agoAvoid adding overlapping triangles in convex hull
Nicholas Bishop [Wed, 27 Jun 2012 18:39:17 +0000 (18:39 +0000)]
Avoid adding overlapping triangles in convex hull

Add an epsilon value to the point-outside-hull test, helps when some
of the input vertices are nearly coplanar.

Fixes bug [#31941] convex hull fails (and depends on vertex order when it shouldn't)

8 years agostyle cleanup
Campbell Barton [Wed, 27 Jun 2012 18:29:47 +0000 (18:29 +0000)]
style cleanup

8 years agochange default DPI for images to 72, aparently 150 gives issues with adobe apps...
Campbell Barton [Wed, 27 Jun 2012 18:11:24 +0000 (18:11 +0000)]
change default DPI for images to 72, aparently  150 gives issues with adobe apps (which is stupid but default value isnt so important).

8 years agoClean-up and refactor of current OCIO integration
Sergey Sharybin [Wed, 27 Jun 2012 18:10:53 +0000 (18:10 +0000)]
Clean-up and refactor of current OCIO integration

- Cleaned up some files -- seems there were some wrongly resolved
  conflicts which resulted into duplicated code in
  and some build configuration files.
- Store all color space related data (such as display device, view
  transform and so) as strings, so it could easily be ported to new
  OCIO configuration files and it'll be much more portable between
  different configurations.

  This required adding some look-ups to RNA associated with such
  settings, but it's indeed the only way to do this. If it'll be
  figured out such look-ups causes performance issues it's possible
  to optimize this further using hash. So far it's only few elements
  in list to be looked up.
- Added support of display device transformation from OCIO
  configuration files. Display device is setting per-window and
  different windows could have different display devices, so it's
  possible to have one blender window opened on sRGB monitor and
  another one on xyz projector.

  Display device is ignored when using ACES ODT Tonecurve view
  transform due to it's not an OCIO transformation. Probably it'll
  be possible to get rid of this tone curve soon (if it'll be
  proved useless or it'll be implemented as a part of OCIO LUT).
- Movie Cache now supports deleter functions for user keys, so
  such keys could have some allocated data which would be removed
  as soon as element in cache is being removed.
- Movie Cache now support callbacks to check whether current
  cache element could be removed from a cache due to it wouldn't
  be accessed anymore.
- Re-written cache stuff for display buffers of ImBuf. Now it's
  using Movie Cache which is global for all ImBufs.

  Probably it's not implemented in fastest way, would be investigated
  further and probably changed it performance wouldn't be good enough.

8 years agostyle cleanup: header comments, use more doxy compat formatting
Campbell Barton [Wed, 27 Jun 2012 17:48:39 +0000 (17:48 +0000)]
style cleanup: header comments, use more doxy compat formatting

8 years agoFix for #31581, UVs shrink on edge slide.
Antony Riakiotakis [Wed, 27 Jun 2012 17:08:12 +0000 (17:08 +0000)]
Fix for #31581, UVs shrink on edge slide.

Issue is that all loops of a face adjacent to the sliding verts were
getting project-corrected. Introduced a test to only project the
affected loops.

The projection code introduces a small offset to the boundaries so that
any boundary tests can work as expected, but this leads to shrinking of
the barycentric coordinates of the projection, causing a shrink of the
uvs in turn. This even affects the uvs that -should- be affected though
the unfixed behavior works strangely in a correctish way (my guess is
because the projection uses the same face as the opposite sliding loop).

I fixed the behaviour by taking the mean value of the uvs. This won't
support seams but current code doesn't either. Also, all CustomData to
exhibit this unfixed behaviour. I only fixed the uv case, other data
(Vcolors, etc) will have discontinuities when edge sliding. I expect
that the CorrectUV code I am working on may address some of these

Also, added NULL checks for utility function (was intended for this bug
but wasn't needed after all)

8 years agoUtility function to get the first loop of a vert. Behaves identical to
Antony Riakiotakis [Wed, 27 Jun 2012 15:39:14 +0000 (15:39 +0000)]
Utility function to get the first loop of a vert. Behaves identical to
the iterator initialization function.

8 years agosvn merge ^/trunk/blender -r48321:48333
Campbell Barton [Wed, 27 Jun 2012 14:36:06 +0000 (14:36 +0000)]
svn merge ^/trunk/blender -r48321:48333

8 years agoadd access to dissolve_limit from python.
Campbell Barton [Wed, 27 Jun 2012 14:01:58 +0000 (14:01 +0000)]
add access to dissolve_limit from python.

8 years agoutility function to get the points inside a list of planes.
Campbell Barton [Wed, 27 Jun 2012 09:51:22 +0000 (09:51 +0000)]
utility function to get the points inside a list of planes.

8 years agostyle cleanup: also some spelling correction.
Campbell Barton [Wed, 27 Jun 2012 05:59:41 +0000 (05:59 +0000)]
style cleanup: also some spelling correction.

8 years agobmesh.ops module for bmesh operator access, only remove_doubles and convex_hull at...
Campbell Barton [Tue, 26 Jun 2012 21:40:01 +0000 (21:40 +0000)]
bmesh.ops module for bmesh operator access, only remove_doubles and convex_hull at the moment.

8 years agosvn merge ^/trunk/blender -r48313:48321
Campbell Barton [Tue, 26 Jun 2012 20:36:19 +0000 (20:36 +0000)]
svn merge ^/trunk/blender -r48313:48321

8 years agofix for a handful of memory leaks relating to parsing and allocating arbitrary sized...
Campbell Barton [Tue, 26 Jun 2012 16:58:58 +0000 (16:58 +0000)]
fix for a handful of memory leaks relating to parsing and allocating arbitrary sized vectors from python args. was always leaking memory, and would crash if args sizes didnt match.

These errors were introduced with n-dimensional vector support.

also fixed an error with bmesh py api allocation.

8 years agoMerging r48308 through r48313 from trunk into soc-2011-tomato
Sergey Sharybin [Tue, 26 Jun 2012 15:29:22 +0000 (15:29 +0000)]
Merging r48308 through r48313 from trunk into soc-2011-tomato

8 years agoFix for crash of keying screen node in cases when there's no
Sergey Sharybin [Tue, 26 Jun 2012 15:26:16 +0000 (15:26 +0000)]
Fix for crash of keying screen node in cases when there's no
triangulation generated for tracks setup

8 years agomathutils.Vector(kw=value) wasn't raising an error as it should.
Campbell Barton [Tue, 26 Jun 2012 14:49:49 +0000 (14:49 +0000)]
mathutils.Vector(kw=value) wasn't raising an error as it should.

8 years agoFix issue with resetting active nurb when sawing from edit mode
Sergey Sharybin [Tue, 26 Jun 2012 10:18:53 +0000 (10:18 +0000)]
Fix issue with resetting active nurb when sawing from edit mode

Issue was caused by loading editNurb into normal nurbs when saving,
this used to set active nurb to NULL.

This isn't actually needed, because active nurb would be set properly
on making editNurb and even if one accessed to active spline via PY API
when object is in object it'll be completely harmless.

8 years agosvn merge ^/trunk/blender -r48305:48307
Campbell Barton [Tue, 26 Jun 2012 10:17:11 +0000 (10:17 +0000)]
svn merge ^/trunk/blender -r48305:48307

8 years agomask and grease pencil now display in the dope sheet summery
Campbell Barton [Tue, 26 Jun 2012 10:14:50 +0000 (10:14 +0000)]
mask and grease pencil now display in the dope sheet summery

8 years agoMerging r48303 through r48305 from trunk into soc-2011-tomato
Sergey Sharybin [Tue, 26 Jun 2012 09:48:24 +0000 (09:48 +0000)]
Merging r48303 through r48305 from trunk into soc-2011-tomato

8 years agoOptimization of keying screen node
Sergey Sharybin [Tue, 26 Jun 2012 09:46:24 +0000 (09:46 +0000)]
Optimization of keying screen node

When creating tile data include only triangles which have got intersection
with tile's rectangle only. This saves quite a lot of per-pixel iterations
through triangles which simply can not affect on current tile.

In fact, it's AABB check is used here. It could be improved further, but
it'll slowdown tile data generation with questionable speedup.

Another major slowdown is in fact caused by voronoi triangulation code.
Currently it's used naive algorithm which is O(N^2) where N is number
of edges. Added few euristics there and removed unused part of code, which
gave quite noticeable speedup already.

This could be improved further, but this node is not ment to be used for
lots of markers. It's also generates wrong triangulation when there're
many sites used. Need to be investigated further.

8 years agofix for checking wrong flag with removing mask shape keys doubles on the dope sheet.
Campbell Barton [Tue, 26 Jun 2012 08:25:17 +0000 (08:25 +0000)]
fix for checking wrong flag with removing mask shape keys doubles on the dope sheet.

8 years agosvn merge ^/trunk/blender -r48288:48302
Campbell Barton [Tue, 26 Jun 2012 07:44:59 +0000 (07:44 +0000)]
svn merge ^/trunk/blender -r48288:48302

8 years agoquiet all -Wshadow warnings in the compositor.
Campbell Barton [Tue, 26 Jun 2012 07:32:24 +0000 (07:32 +0000)]
quiet all -Wshadow warnings in the compositor.

8 years agorename remaining class members with m_ prefix.
Campbell Barton [Tue, 26 Jun 2012 07:09:49 +0000 (07:09 +0000)]
rename remaining class members with m_ prefix.

8 years agouse m_ prefix for compositor class members (all compositor operations).
Campbell Barton [Tue, 26 Jun 2012 01:22:05 +0000 (01:22 +0000)]
use m_ prefix for compositor class members (all compositor operations).

8 years agoBugfix [#31930] DopeSheet - Grease Pencil mode collapses visible channels when
Joshua Leung [Tue, 26 Jun 2012 00:35:05 +0000 (00:35 +0000)]
Bugfix [#31930] DopeSheet - Grease Pencil mode collapses visible channels when
switch channel

This was caused by a typo, which would end up toggling the expanded status of
the Grease Pencil datablock (gpd->flag & 4) instead of the layer active status
(gpl->flag & 4).

8 years agoMerging r48284 through r48288 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 25 Jun 2012 19:52:07 +0000 (19:52 +0000)]
Merging r48284 through r48288 from trunk into soc-2011-tomato

8 years agoFixed crash when trying to perform transformation in Clip Editor without clip opened
Sergey Sharybin [Mon, 25 Jun 2012 19:48:05 +0000 (19:48 +0000)]
Fixed crash when trying to perform transformation in Clip Editor without clip opened

Reported by JumboCoDeC in IRC. Thanks for the report.

8 years agomake hue correct grid more faded out.
Campbell Barton [Mon, 25 Jun 2012 19:42:10 +0000 (19:42 +0000)]
make hue correct grid more faded out.

8 years agosvn merge ^/trunk/blender -r48276:48283
Campbell Barton [Mon, 25 Jun 2012 18:03:19 +0000 (18:03 +0000)]
svn merge ^/trunk/blender -r48276:48283

8 years agofix for crash with blur - happened most when there was a size input, need to mutex...
Campbell Barton [Mon, 25 Jun 2012 18:01:01 +0000 (18:01 +0000)]
fix for crash with blur - happened most when there was a size input, need to mutex lock before allocating the gauss array.

also add suspiciously missing call to BlurBaseOperation::initExecution, X had but Y was missing.

8 years agocode cleanup
Jeroen Bakker [Mon, 25 Jun 2012 17:27:54 +0000 (17:27 +0000)]
code cleanup

8 years agofix for [#31899] Compositor: scale to rendersize doesn't work on
Jeroen Bakker [Mon, 25 Jun 2012 17:26:18 +0000 (17:26 +0000)]
fix for [#31899] Compositor: scale to rendersize doesn't work on
separate channels

8 years agocorrect free command for an array in the compositor
Campbell Barton [Mon, 25 Jun 2012 17:09:11 +0000 (17:09 +0000)]
correct free command for an array in the compositor

8 years agoMerging r48264 through r48276 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 25 Jun 2012 16:37:58 +0000 (16:37 +0000)]
Merging r48264 through r48276 from trunk into soc-2011-tomato

8 years agoIgnore disabled markers when building keying screen.
Sergey Sharybin [Mon, 25 Jun 2012 16:36:22 +0000 (16:36 +0000)]
Ignore disabled markers when building keying screen.

8 years agoCamera solver: take track offset into account
Sergey Sharybin [Mon, 25 Jun 2012 16:36:12 +0000 (16:36 +0000)]
Camera solver: take track offset into account

This helps in cases when it's needed to track a feature which
goes out of screen for a while to prevent jump of camera.

8 years agoFix for [#31900] Loop Selection on wireframe selects vertex behind.
Bastien Montagne [Mon, 25 Jun 2012 13:32:04 +0000 (13:32 +0000)]
Fix for [#31900] Loop Selection on wireframe selects vertex behind.

Revert part of r48105 (calling mouse_mesh() in mouse_mesh_loop() is not a good idea, as it might select another element ouside the selected loop, and is anyway overkill!), added lighter code that simply checks for the nearest vertex/face of current edge.

8 years agofix for #31914
Jeroen Bakker [Mon, 25 Jun 2012 12:58:53 +0000 (12:58 +0000)]
fix for #31914

8 years agoFix #31920: switching from cycles to blender internal with 3d view in rendered
Brecht Van Lommel [Mon, 25 Jun 2012 12:13:21 +0000 (12:13 +0000)]
Fix #31920: switching from cycles to blender internal with 3d view in rendered
draw mode did not draw the 3d view properly.

8 years agoFix cycles not working in 3d local view, and missing update when toggling hiding
Brecht Van Lommel [Mon, 25 Jun 2012 11:43:22 +0000 (11:43 +0000)]
Fix cycles not working in 3d local view, and missing update when toggling hiding
in the outliner.

8 years agoGuardedalloc/C++: delete is valid on a NULL pointer, add a check so MEM_freeN
Brecht Van Lommel [Mon, 25 Jun 2012 11:43:12 +0000 (11:43 +0000)]
Guardedalloc/C++: delete is valid on a NULL pointer, add a check so MEM_freeN
doesn't print warning messages.

8 years agoFix for cycles building with assertions on scons/windows.
Brecht Van Lommel [Mon, 25 Jun 2012 11:42:58 +0000 (11:42 +0000)]
Fix for cycles building with assertions on scons/windows.

8 years agothe mutex struct seems to be different across systems, use memset rather then an...
Campbell Barton [Mon, 25 Jun 2012 11:19:38 +0000 (11:19 +0000)]
the mutex struct seems to be different across systems, use memset rather then an initializer value.
also quiet warning in cycles.

8 years agoFix compile after 48262 ( braces)
Jens Verwiebe [Mon, 25 Jun 2012 11:13:27 +0000 (11:13 +0000)]
Fix compile after 48262 ( braces)

8 years agoMerging r48257 through r48263 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 25 Jun 2012 10:56:48 +0000 (10:56 +0000)]
Merging r48257 through r48263 from trunk into soc-2011-tomato

8 years agoAdded feather control to keying node
Sergey Sharybin [Mon, 25 Jun 2012 10:50:24 +0000 (10:50 +0000)]
Added feather control to keying node

Behaves in the same way as feather dilate/erode node, applies
after dilate/erode in node.

Also use distance dilate/erode instead of size.

8 years agomore guardedalloc use in C++, also make compositorMutex a static var, was allocated...
Campbell Barton [Mon, 25 Jun 2012 10:35:24 +0000 (10:35 +0000)]
more guardedalloc use in C++, also make compositorMutex a static var, was allocated and never freed.

8 years agooptionally use guarded alloc for tiles compositor, also replace allocation functions...
Campbell Barton [Mon, 25 Jun 2012 09:14:37 +0000 (09:14 +0000)]
optionally use guarded alloc for tiles compositor, also replace allocation functions with a macro.

8 years agocomment for TODO - rgb_to_bw / rgb_to_grayscale usage.
Campbell Barton [Mon, 25 Jun 2012 08:58:50 +0000 (08:58 +0000)]
comment for TODO - rgb_to_bw / rgb_to_grayscale usage.

8 years agoMerging r48255 through r48256 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 25 Jun 2012 08:24:12 +0000 (08:24 +0000)]
Merging r48255 through r48256 from trunk into soc-2011-tomato

8 years agoOptimization of Keying Blur operation
Sergey Sharybin [Mon, 25 Jun 2012 08:21:55 +0000 (08:21 +0000)]
Optimization of Keying Blur operation

Separate X and Y passes of blurring like it's done for flat
gaussian blur. This reduces computing difficulty from size^2
to 2*size without any visual changes in matte.

8 years agosvn merge ^/trunk/blender -r48245:48254
Campbell Barton [Mon, 25 Jun 2012 07:41:01 +0000 (07:41 +0000)]
svn merge ^/trunk/blender -r48245:48254

8 years agostyle cleanup
Campbell Barton [Mon, 25 Jun 2012 07:24:48 +0000 (07:24 +0000)]
style cleanup

8 years agoutility mesh function to return UV islands
Campbell Barton [Mon, 25 Jun 2012 07:24:01 +0000 (07:24 +0000)]
utility mesh function to return UV islands

8 years agoUse own version of ff_update_cur_dts for FFmpeg >= 0.11, seems
Sergey Sharybin [Mon, 25 Jun 2012 07:14:21 +0000 (07:14 +0000)]
Use own version of ff_update_cur_dts for FFmpeg >= 0.11, seems
linking against function which isn't public in API gives error
when met some circumstances.

8 years agoFixes for modifier data in multi-user meshes.
Nicholas Bishop [Sun, 24 Jun 2012 20:18:32 +0000 (20:18 +0000)]
Fixes for modifier data in multi-user meshes.

When removing a skin or multires modifier, it skips deletion of the
associated CustomData layer if the object has any other modifiers of
that type. This check has been extended to all objects that use the
object's data.

Similarly, deleting higher multires levels and multires subdivision
will not update the maximum level of any other multires modifiers on
objects that link to the same mesh.

Note that modifier_apply_obdata() doesn't need any changes as it
does not allow applying to multi-user data.

Object joining has also been modified to synchronize multires levels
objects that share a mesh. This is needed because joining can
subdivide or delete levels in order to match the maximum level of the
join-from object to the join-to object.

Fixes bug [#31880] instance multiresolution modifier error.

Reviewed by Sergey:

8 years agoMerging r48241 through r48245 from trunk into soc-2011-tomato
Sergey Sharybin [Sun, 24 Jun 2012 18:01:46 +0000 (18:01 +0000)]
Merging r48241 through r48245 from trunk into soc-2011-tomato

8 years agoTracking dopesheet missed tagigng for update in some cases.
Sergey Sharybin [Sun, 24 Jun 2012 18:00:14 +0000 (18:00 +0000)]
Tracking dopesheet missed tagigng for update in some cases.

8 years agoSkip edge matte operation creation if output socket is not connected.
Sergey Sharybin [Sun, 24 Jun 2012 17:38:14 +0000 (17:38 +0000)]
Skip edge matte operation creation if output socket is not connected.

8 years agoFix [#31807] Ngon triangulation error
Bastien Montagne [Sun, 24 Jun 2012 16:19:19 +0000 (16:19 +0000)]
Fix [#31807] Ngon triangulation error

*This implements a quite simple algorithm, which simply checks angles (actually, absolute cosines) of created tri and remaining face (which may be a tri, quad, or more NGon), so that both are "best" (ie avoid as much as possible too much narrow/wide corners), and also checks the new edge is OK (i.e. does not goes "out" of original face).
*Incidently, it fixes a typo in that bm_face_goodline() func!
*It's quite performant (a bit quicker than previous code, as far as I have tested it) and prevent creation of completely flat triangles as much as possible, but it's far from being a "best" solution (as it is still a "progressive" one)!
*It also introduces a new math func (in BLI_math_vector.h), cos_v3v3v3, which computes cosine (ie dot product of normalized vectors) and is roughly a quicker replacement for angle_v3v3v3, when real angles are not needed.

8 years agoMark some utility functions as static to avoid namespace conflicts
Sergey Sharybin [Sun, 24 Jun 2012 15:54:36 +0000 (15:54 +0000)]
Mark some utility functions as static to avoid namespace conflicts
and make export symbol table smaller.

8 years agoMerging r48238 through r48240 from trunk into soc-2011-tomato
Sergey Sharybin [Sun, 24 Jun 2012 15:31:40 +0000 (15:31 +0000)]
Merging r48238 through r48240 from trunk into soc-2011-tomato

8 years agoOptimization of keying screen node
Sergey Sharybin [Sun, 24 Jun 2012 15:29:43 +0000 (15:29 +0000)]
Optimization of keying screen node

Use AABB check before calculating barycentric coordinates.

In simple tests with FullHD image and 4-9 tracks used for gradient
gave 1.5-2x speedup.

8 years agoStyle cleanup
Sergey Sharybin [Sun, 24 Jun 2012 14:50:03 +0000 (14:50 +0000)]
Style cleanup

8 years agoMerging r48224 through r48237 from trunk into soc-2011-tomato
Sergey Sharybin [Sun, 24 Jun 2012 14:27:23 +0000 (14:27 +0000)]
Merging r48224 through r48237 from trunk into soc-2011-tomato

8 years agoFix crash sliding disabled marker from preview widget.
Sergey Sharybin [Sun, 24 Jun 2012 14:16:40 +0000 (14:16 +0000)]
Fix crash sliding disabled marker from preview widget.

Reported by brothermechanic, thanks!

8 years agoRelease cycles:
Thomas Dinges [Sun, 24 Jun 2012 14:08:34 +0000 (14:08 +0000)]
Release cycles:
*BCon 3 - beta.

8 years agoTypo and spelling fixes pointed by Lockal. thanks!
Sergey Sharybin [Sun, 24 Jun 2012 13:52:20 +0000 (13:52 +0000)]
Typo and spelling fixes pointed by Lockal. thanks!

8 years agoFix #31909: "Make Segment" on path-curves gives wrong result
Sergey Sharybin [Sun, 24 Jun 2012 11:27:28 +0000 (11:27 +0000)]
Fix #31909: "Make Segment" on path-curves gives wrong result

In fact fixed in easiest way -- always re-calculate knots array
on topology changes.

After some discussion with Ton we agreed on that having manually
editable knots is not intuitive and user should only define
cyclic/endpoints flags and knots would be re-calculated based
on this flags.

This means that it's unnecessary to have special logic for knots
manipulating in some topology changing tools and they could just
re-calculate knots for the whole nurb, without worrying that knots
could have been manually edited.

8 years agoFix #31908, better drawing for node group interface links. Links from/to node group...
Lukas Toenne [Sun, 24 Jun 2012 10:49:22 +0000 (10:49 +0000)]
Fix #31908, better drawing for node group interface links. Links from/to node group internal sockets (input/output columns on the side) were drawn in a kind of subtle "background" mode, making them hard to see behind nodes. This was still from pre-2.56.2 versions, where group interfaces were created automatically and these links were just indicators of which external socket a node refers to.

Now these links are drawn in the same way as all others. Also they now display highlighting correctly when inserting a node into a link, making it easier to avoid unwanted insertions.

8 years agoFixes for area of interest in keying nodes: no need to wait for the whole
Sergey Sharybin [Sun, 24 Jun 2012 10:31:48 +0000 (10:31 +0000)]
Fixes for area of interest in keying nodes: no need to wait for the whole
input image to be calculated in some cases, use only actual area which is
needed to calculate current tile.

Seems to be giving some % of speedup. Verified result of keying before
this patch and after this patch and they were identical, so hopefully
now area of interest is indeed correct.

8 years agoRemove unused header include.
Sergey Sharybin [Sun, 24 Jun 2012 09:55:10 +0000 (09:55 +0000)]
Remove unused header include.

8 years agostyle cleanyp
Campbell Barton [Sat, 23 Jun 2012 23:22:19 +0000 (23:22 +0000)]
style cleanyp

8 years agoAdded option for exporting material based textures. Cleaned up header files due to...
Gaia Clary [Sat, 23 Jun 2012 22:03:31 +0000 (22:03 +0000)]
Added option for exporting material based textures. Cleaned up header files due to a bug in osx

8 years agoMerging r48196 through r48223 from trunk into soc-2011-tomato
Sergey Sharybin [Sat, 23 Jun 2012 18:08:56 +0000 (18:08 +0000)]
Merging r48196 through r48223 from trunk into soc-2011-tomato