blender.git
8 years agotrust 'bm->elem_index_dirty' is correct, this avoids looping over edges/faces/verts...
Campbell Barton [Mon, 28 Nov 2011 18:52:35 +0000 (18:52 +0000)]
trust 'bm->elem_index_dirty' is correct, this avoids looping over edges/faces/verts if its not needed, but if set wrong it could crash too so added verification when built with debeg.

also added debug define to help solve invalid values with valgrind's memcheck.

gives noticeable speedup since there was a loop no all faces to set index values on redraw.

8 years agovalidate the index values when an operator finishes since the arrays are looped over...
Campbell Barton [Mon, 28 Nov 2011 18:43:34 +0000 (18:43 +0000)]
validate the index values when an operator finishes since the arrays are looped over anyway.

8 years agofix for error filling in index data
Campbell Barton [Mon, 28 Nov 2011 18:21:10 +0000 (18:21 +0000)]
fix for error filling in index data

8 years agosvn merge ^/trunk/blender -r42197:42221
Campbell Barton [Mon, 28 Nov 2011 17:09:13 +0000 (17:09 +0000)]
svn merge ^/trunk/blender -r42197:42221

8 years agoview3d - replace magic numbers with an enum to be used with mesh_foreachScreenVert...
Campbell Barton [Mon, 28 Nov 2011 16:44:17 +0000 (16:44 +0000)]
view3d - replace magic numbers with an enum to be used with mesh_foreachScreenVert, mesh_foreachScreenEdge since it wasnt clear how the values are used.

also resolved use of un-initialized variable.

8 years agoFix #29434: Cone collision bounds is on the wrong axis
Sergey Sharybin [Mon, 28 Nov 2011 16:25:42 +0000 (16:25 +0000)]
Fix #29434: Cone collision bounds is on the wrong axis

Because of strange reason, cone boundbox was rotated and it wasn't
reflecting physics engine which used "correct" cone boundbox.

Changed displaying of cone bounding box type.

8 years agoRename tracking settings presets to something which makes more sense.
Sergey Sharybin [Mon, 28 Nov 2011 16:10:50 +0000 (16:10 +0000)]
Rename tracking settings presets to something which makes more sense.

8 years agoFixes and tweaks to RNA messages (found while translating in french).
Bastien Montagne [Mon, 28 Nov 2011 15:41:32 +0000 (15:41 +0000)]
Fixes and tweaks to RNA messages (found while translating in french).

Also setting better default values in WeightVGProximity modifier

8 years agofix for missing NULL check in remove doubles.
Campbell Barton [Mon, 28 Nov 2011 15:31:34 +0000 (15:31 +0000)]
fix for missing NULL check in remove doubles.

8 years agoFix #29389: cycles viewport render not updating on frame changes. This sort of
Brecht Van Lommel [Mon, 28 Nov 2011 14:55:35 +0000 (14:55 +0000)]
Fix #29389: cycles viewport render not updating on frame changes. This sort of
worked by accident before, because of flags that weren't cleared properly. Now
moved the call to update render engines into scene_update_* itself.

8 years agoCamera tracking: moved camera solver into it's own job
Sergey Sharybin [Mon, 28 Nov 2011 13:49:42 +0000 (13:49 +0000)]
Camera tracking: moved camera solver into it's own job

In some cases solving can take a while (especially when refining is used)
and keeping interface locked is a bit annoying. Now camera solver is moved
to job system and interface isn't locking.

Reporting progress isn't really accurate, but trying to make it more linear
can lead to spending more effort on it than having benefit. Also, changing
status in the information line helps to understand that blender isn't hang
up and solving is till working nicely.

Main changes in code:
- libmv_solveReconstruction now accepts additional parameters:
  * progress_update_callback - a function which is getting called
    from solver algorithm to report progress back to Blender.
  * callback_customdata - a user-defined context which is passing
    to progress_update_callback so progress can be updated in needed
    blender-side data structures.

  This parameters are optional.

- Added structure MovieTrackingStats which is placed in MovieTracking
  structure. It's supposed to be used for displaying information about
  different operations (currently it's only camera solver, but can be
  easily used for something else in the future) in clip editor.
  This statistics structure is getting allocated for time operator is
  working and not saving into .blend file.

- Clip Editor now displays statistics stored in MovieTrackingStats structure
  like it's done for rendering.

8 years agoCamera tracking: missed this presets files in previous commit
Sergey Sharybin [Mon, 28 Nov 2011 13:27:48 +0000 (13:27 +0000)]
Camera tracking: missed this presets files in previous commit

8 years agoCamera tracking: merging tracking presets stuff from tomato branch
Sergey Sharybin [Mon, 28 Nov 2011 13:26:46 +0000 (13:26 +0000)]
Camera tracking: merging tracking presets stuff from tomato branch

This commit implements:

- Configurable settings for newly creating tracks
  Now it's possible to set tracking algorithm and it's settings for
  all newly creating tracks including manual tracks creation and
  tracks creation by "Detect Features" operator.
- Moves margin, frames limit and adjust frame inside per-track
  settings.
  Was request from Francois for this.
- Adjust Frames replaced with menu called Pattern Match where it's
  possible to choose between matching pattern from keyframe frame
  or from previously tracked frame.
  Didn't see somebody used adjust frames values differ from 0 and 1,
  and this menu should make things more clear here/

8 years agofix for [#29437] normals incorrect using bevel modifier in edit mode
Andrew Wiggin [Mon, 28 Nov 2011 10:57:30 +0000 (10:57 +0000)]
fix for [#29437] normals incorrect using bevel modifier in edit mode

8 years agoremove duplicate extern_colamd from blenderplayer cmake
Antony Riakiotakis [Mon, 28 Nov 2011 08:38:08 +0000 (08:38 +0000)]
remove duplicate extern_colamd from blenderplayer cmake

8 years agoFix typo in track selection operator.
Sergey Sharybin [Mon, 28 Nov 2011 07:18:53 +0000 (07:18 +0000)]
Fix typo in track selection operator.

Found by Campbell Barton, thanks.

8 years agofix for building as a python module
Campbell Barton [Mon, 28 Nov 2011 07:02:38 +0000 (07:02 +0000)]
fix for building as a python module

8 years agomore work on getting bmesh dirty index flags reliable.
Campbell Barton [Mon, 28 Nov 2011 06:49:16 +0000 (06:49 +0000)]
more work on getting bmesh dirty index flags reliable.

now there very close, some hard to redo cases to check on.

8 years agominor changes
Campbell Barton [Mon, 28 Nov 2011 05:56:00 +0000 (05:56 +0000)]
minor changes
- comment BM_SetIndex as setting dirty.
- have alloc_flag_layer validate the index data and clear the dirty flag since it loops on the data anyway.

8 years agofix for minor memory leak for BMO_VInitOpf() in an error case, also use the BLI versi...
Campbell Barton [Mon, 28 Nov 2011 05:00:34 +0000 (05:00 +0000)]
fix for minor memory leak for BMO_VInitOpf() in an error case, also use the BLI version of strdup().

8 years agobasic bevel modifier working again in bmesh, closely matches the edge split modifier...
Campbell Barton [Mon, 28 Nov 2011 04:19:44 +0000 (04:19 +0000)]
basic bevel modifier working again in bmesh, closely matches the edge split modifier since it calls out to the bevel operator.
- edge angles are ok
- width is interpreted as percent

added BMESH_TODO comments with details about what needs working on.

8 years agochange edge split modifier to loop over all edges and compare the face angles, rather...
Campbell Barton [Mon, 28 Nov 2011 03:41:14 +0000 (03:41 +0000)]
change edge split modifier to loop over all edges and compare the face angles, rather then looping over all faces and looking at every faces-edges-fance which would compare faces twice.

8 years agouse lower angle when checking to draw an edge, adding uv sphere looked strange
Campbell Barton [Mon, 28 Nov 2011 03:07:12 +0000 (03:07 +0000)]
use lower angle when checking to draw an edge, adding uv sphere looked strange

8 years agoSuperficial changes for bmesh bevel to sync with bmesh branch, also noticed length...
Campbell Barton [Mon, 28 Nov 2011 03:01:06 +0000 (03:01 +0000)]
Superficial changes for bmesh bevel to sync with bmesh branch, also noticed length comparison can be done without sqrt for baking.

8 years agowhen comparing lengths no need to sqrt
Campbell Barton [Mon, 28 Nov 2011 01:20:53 +0000 (01:20 +0000)]
when comparing lengths no need to sqrt

8 years ago2 of the 3 places that check 2 edges share a vertex were incorrect (silly mistake)
Campbell Barton [Mon, 28 Nov 2011 00:27:26 +0000 (00:27 +0000)]
2 of the 3 places that check 2 edges share a vertex were incorrect (silly mistake)

    so make into a function: BM_Edge_Share_Vert()

8 years agosvn merge ^/trunk/blender -r42194:42197
Campbell Barton [Sun, 27 Nov 2011 23:56:29 +0000 (23:56 +0000)]
svn merge ^/trunk/blender -r42194:42197

8 years agoremove redundant check
Campbell Barton [Sun, 27 Nov 2011 23:49:09 +0000 (23:49 +0000)]
remove redundant check

8 years agoquiet some warnings and logical errors.
Campbell Barton [Sun, 27 Nov 2011 23:41:01 +0000 (23:41 +0000)]
quiet some warnings and logical errors.
- curve map insert point had a nested loop which used the same value to index different arrays.
- dynamic paint used ternary operator where both outcomes were the same.

8 years agosvn merge ^/trunk/blender -r42182:42194
Campbell Barton [Sun, 27 Nov 2011 21:18:59 +0000 (21:18 +0000)]
svn merge ^/trunk/blender -r42182:42194

8 years agoBLI_mempool_findelem() only worked when no elements were freed, use the iterator...
Campbell Barton [Sun, 27 Nov 2011 21:11:17 +0000 (21:11 +0000)]
BLI_mempool_findelem() only worked when no elements were freed, use the iterator for now.

8 years agoDo not use search area of unselected tracks when searching for nearest
Sergey Sharybin [Sun, 27 Nov 2011 19:27:13 +0000 (19:27 +0000)]
Do not use search area of unselected tracks when searching for nearest
track on mouse selection operator.

8 years agoBuildbot configuration tweaks
Sergey Sharybin [Sun, 27 Nov 2011 19:21:49 +0000 (19:21 +0000)]
Buildbot configuration tweaks
- Force libsamplerate linking statically
- Remove global compiler flags for sse2 and sse.
  Tests of release builds didn't show big difference in time of
  tracking using SAD algorithm or time of solving,
  so this shouldn't introduce big slowdown.

8 years agoCamera tracking: refactor of tracks synchronization stuff
Sergey Sharybin [Sun, 27 Nov 2011 19:17:59 +0000 (19:17 +0000)]
Camera tracking: refactor of tracks synchronization stuff

Currently this stuff is used for 2d tracking job only, but the same
thing would necessary for camera solver job, so moved it into more
general utility stuff.

8 years agoenable multires baking code, this works between different multires levels but current...
Campbell Barton [Sun, 27 Nov 2011 16:50:25 +0000 (16:50 +0000)]
enable multires baking code, this works between different multires levels but currently not baking to level 0, added TODO in code.

8 years agoaccessing rna 'default_flag' attribute of a non enum-flag could crash. eg.
Campbell Barton [Sun, 27 Nov 2011 14:13:10 +0000 (14:13 +0000)]
accessing rna 'default_flag' attribute of a non enum-flag could crash. eg.

  bpy.types.Modifier.bl_rna.properties["type"].default_flag

now check the default/default_flag match the enum property they are used with.

8 years agoUI: tweak to panel header padding, made region expander a bit smaller and
Brecht Van Lommel [Sun, 27 Nov 2011 14:06:47 +0000 (14:06 +0000)]
UI: tweak to panel header padding, made region expander a bit smaller and
fix bug #29422, left expander drawing over adjacent editor.

8 years agominor cycles edits
Campbell Barton [Sun, 27 Nov 2011 03:49:09 +0000 (03:49 +0000)]
minor cycles edits
- use sets rather then tuples
- use relative imports

8 years agouse faster method of getting vert/edge/face indices which uses BLI_mempool_findelem...
Campbell Barton [Sun, 27 Nov 2011 02:05:46 +0000 (02:05 +0000)]
use faster method of getting vert/edge/face indices which uses BLI_mempool_findelem to skip over chunks rather than going over every element

8 years agosvn merge ^/trunk/blender -r42172:42182
Campbell Barton [Sun, 27 Nov 2011 01:42:56 +0000 (01:42 +0000)]
svn merge ^/trunk/blender -r42172:42182

8 years agomempool utility function to get the element at an index BLI_mempool_findelem(), not...
Campbell Barton [Sun, 27 Nov 2011 01:20:08 +0000 (01:20 +0000)]
mempool utility function to get the element at an index BLI_mempool_findelem(), not used yet.

8 years agoFix [#29410] Blender svn 2.60.5 r42177, compositor, glare node bug.
Bastien Montagne [Sat, 26 Nov 2011 21:42:04 +0000 (21:42 +0000)]
Fix [#29410] Blender svn 2.60.5 r42177, compositor, glare node bug.

The problem was in fact in the changes made to blend_ramp() func at rev42164. The checks on green pointer (if(g) {...) were checking the existance of a valid value (i.e. if input color was rgb or only shades of grey in r pointer), but as we get now a full float[3] pointer, this test is no more possible. And doing if(r_col[1]) {... was wrong, as it only broke things in case green was 0.0 (which was the case with the generated glare color of bug report).

So, just removed all those tests!

8 years agofix [#29380] VParent + Mask Mod,
Campbell Barton [Sat, 26 Nov 2011 20:48:18 +0000 (20:48 +0000)]
fix [#29380] VParent + Mask Mod,
    line was out of sync with trunk

8 years agoFix #29406: show Sequence as render layer when rendering from sequencer, to make
Brecht Van Lommel [Sat, 26 Nov 2011 18:33:31 +0000 (18:33 +0000)]
Fix #29406: show Sequence as render layer when rendering from sequencer, to make
it more clear what was rendered.
Fix #29407: external engine api doesn't support full sample yet, would give too
dark render result.

8 years agocheck if an addon exists before getting its mtime
Campbell Barton [Sat, 26 Nov 2011 17:41:56 +0000 (17:41 +0000)]
check if an addon exists before getting its mtime

8 years agofix for own error with id props when adding byte strings
Campbell Barton [Sat, 26 Nov 2011 17:22:11 +0000 (17:22 +0000)]
fix for own error with id props when adding byte strings

8 years agosvn merge ^/trunk/blender -r42139:42172
Campbell Barton [Sat, 26 Nov 2011 16:29:14 +0000 (16:29 +0000)]
svn merge ^/trunk/blender -r42139:42172

8 years agominor bpy api edits
Campbell Barton [Sat, 26 Nov 2011 15:18:30 +0000 (15:18 +0000)]
minor bpy api edits
- strict check for rna properties
- formatting edits (120 line width)
- use PyDoc_STRVAR macros for getset docstrings

8 years agoAdd missing GLEW_STATIC definition, causing link errors.
Antony Riakiotakis [Sat, 26 Nov 2011 15:08:01 +0000 (15:08 +0000)]
Add missing GLEW_STATIC definition, causing link errors.

8 years ago* Fix some wrong icon names in MESH_MT_vertex_group_specials, they caused errors.
Thomas Dinges [Sat, 26 Nov 2011 14:04:33 +0000 (14:04 +0000)]
* Fix some wrong icon names in MESH_MT_vertex_group_specials, they caused errors.
Reported by Uncle_Entity in IRC.

8 years agoA bunch of fixes and tweaks in RNA messages, found while translating them in french...
Bastien Montagne [Sat, 26 Nov 2011 12:30:01 +0000 (12:30 +0000)]
A bunch of fixes and tweaks in RNA messages, found while translating them in french...

8 years agoFix for linking cycles group nodes in the sidebar menu (bug #29403). The template...
Lukas Toenne [Sat, 26 Nov 2011 11:08:20 +0000 (11:08 +0000)]
Fix for linking cycles group nodes in the sidebar menu (bug #29403). The template for ntreeAddNode needs not only the node group pointer but also the NODE_GROUP id for the base type.

8 years agopass args as vectors to opengl functions where possible.
Campbell Barton [Sat, 26 Nov 2011 05:10:53 +0000 (05:10 +0000)]
pass args as vectors to opengl functions where possible.

8 years agoreplace FILE_MAXDIR + FILE_MAXFILE with FILE_MAX
Campbell Barton [Sat, 26 Nov 2011 04:07:38 +0000 (04:07 +0000)]
replace FILE_MAXDIR + FILE_MAXFILE with FILE_MAX

8 years agominor edit - weight_to_rgb() and ramp_blend() now take a float vector rather than...
Campbell Barton [Sat, 26 Nov 2011 03:13:54 +0000 (03:13 +0000)]
minor edit - weight_to_rgb() and ramp_blend() now take a float vector rather than 3 float pointers.
also make particle draw use a float vec.

8 years agoadd null check, crashes py 3.3 which isn't released but adding the check is harmless
Campbell Barton [Sat, 26 Nov 2011 02:33:57 +0000 (02:33 +0000)]
add null check, crashes py 3.3 which isn't released but adding the check is harmless

8 years agofix in DM_to_mesh() for bmesh - would crash rendering NGons with cycles
Campbell Barton [Fri, 25 Nov 2011 22:32:58 +0000 (22:32 +0000)]
fix in DM_to_mesh() for bmesh - would crash rendering NGons with cycles

8 years agoEnable building cycles in bmesh branch
Andrew Wiggin [Fri, 25 Nov 2011 13:28:04 +0000 (13:28 +0000)]
Enable building cycles in bmesh branch

This change adds RNA access to tesselated face UVs and colors (MTFACE and MCOL), primarily for use by plugin renderers (e.g. cycles). The RNA mesh properties to get to these are prefixed with "tessface_" and additionally the help text states that these are for renderers, to try not to confuse existing mesh editing tool scripts into thinking they could just start using these values.

8 years agoDo not use transparent rendering in 3d viewport for objects which are in edit mode
Sergey Sharybin [Fri, 25 Nov 2011 12:55:42 +0000 (12:55 +0000)]
Do not use transparent rendering in 3d viewport  for objects which are in edit mode

Transparent rendering can't be implemented in way it gives accurate shading in
3d viewport. It's acceptable for object mode, but when you're in edit mode
it gives more problems than benefits of seeing transparent faces.

This is possible fix for for weird polygons in [#29255] Object invisible and weird polygons appearance

8 years agolibmv: don't replace flags with rel_flags but add, to preserve all flags
Jens Verwiebe [Fri, 25 Nov 2011 11:31:51 +0000 (11:31 +0000)]
libmv: don't replace flags with rel_flags but add, to preserve all flags

8 years agoPatch #29394: Error in VIEW3D_MT_EDIT_CURVE menu
Sergey Sharybin [Fri, 25 Nov 2011 09:22:36 +0000 (09:22 +0000)]
Patch #29394: Error in VIEW3D_MT_EDIT_CURVE menu

Wrong shortcut was displaying for Curve -> Control Point -> Tilt operator

Patch by Mike Sloman, thanks!

8 years agoImage save as operator 'BW' option wasnt working on some formats, now only show when...
Campbell Barton [Fri, 25 Nov 2011 03:47:34 +0000 (03:47 +0000)]
Image save as operator 'BW' option wasnt working on some formats, now only show when its supported.

8 years agouse enum for draw wire setting to be easier to read, no functional change.
Campbell Barton [Fri, 25 Nov 2011 02:35:23 +0000 (02:35 +0000)]
use enum for draw wire setting to be easier to read, no functional change.

8 years agofix [#29079] New face added with "F" has wrong winding
Campbell Barton [Fri, 25 Nov 2011 01:18:48 +0000 (01:18 +0000)]
fix [#29079] New face added with "F" has wrong winding

now newly created faces use the best winding order based on surrounding edges.

8 years agoremove redundant array copy (was being done twice), for BM_Face_UpdateNormal
Campbell Barton [Thu, 24 Nov 2011 23:27:20 +0000 (23:27 +0000)]
remove redundant array copy (was being done twice), for BM_Face_UpdateNormal

8 years agoreplace unhelpfully named `eck!` and `eek!` error prints, also some minor changes...
Campbell Barton [Thu, 24 Nov 2011 23:09:55 +0000 (23:09 +0000)]
replace unhelpfully named `eck!` and `eek!` error prints, also some minor changes to math library use.

8 years agofix [#29256] Import images as planes add on doesn't work correctly in bmesh
Campbell Barton [Thu, 24 Nov 2011 22:40:43 +0000 (22:40 +0000)]
fix [#29256] Import images as planes add on doesn't work correctly in bmesh

8 years agoblacklist language property for sphinx docs, encoding was messing up PDF generation.
Campbell Barton [Thu, 24 Nov 2011 22:24:07 +0000 (22:24 +0000)]
blacklist language property for sphinx docs, encoding was messing up PDF generation.

8 years agoskip importing shutil on load.
Campbell Barton [Thu, 24 Nov 2011 21:59:43 +0000 (21:59 +0000)]
skip importing shutil on load.

8 years agoMerging Blenderplayer modifier fix (U.gameflags |= USER_DISABLE_VBO) from Cucumber.
Mitchell Stokes [Thu, 24 Nov 2011 21:16:27 +0000 (21:16 +0000)]
Merging Blenderplayer modifier fix (U.gameflags |= USER_DISABLE_VBO) from Cucumber.

8 years agoFix cycles python error introduced in revision 42138.
Brecht Van Lommel [Thu, 24 Nov 2011 21:14:48 +0000 (21:14 +0000)]
Fix cycles python error introduced in revision 42138.

8 years agoFix part of #29310: secondary point caches for cloth did not get steps
Brecht Van Lommel [Thu, 24 Nov 2011 20:46:00 +0000 (20:46 +0000)]
Fix part of #29310: secondary point caches for cloth did not get steps
set to correct default, was 10 when supposed to be 1.

8 years agoFix #29371: crash deleting objects in outliner. This was introduced in the
Brecht Van Lommel [Thu, 24 Nov 2011 20:24:03 +0000 (20:24 +0000)]
Fix #29371: crash deleting objects in outliner. This was introduced in the
bugfix for #28467, it deleted outliner tree while still traversing it.

8 years agosvn merge ^/trunk/blender -r42116:42139
Campbell Barton [Thu, 24 Nov 2011 20:01:45 +0000 (20:01 +0000)]
svn merge ^/trunk/blender -r42116:42139

8 years agoUI: small fix for forward compatibility, keep this style setting so opening
Brecht Van Lommel [Thu, 24 Nov 2011 19:38:20 +0000 (19:38 +0000)]
UI: small fix for forward compatibility, keep this style setting so opening
in older blender versions show correct panel header spacing still.

8 years agopep8 edits and avoid naming conflicts with python builtins
Campbell Barton [Thu, 24 Nov 2011 19:36:12 +0000 (19:36 +0000)]
pep8 edits and avoid naming conflicts with python builtins

8 years agoBGE patch: [#29285] Video Texture: Avoid slow rescale (non power of 2 support check...
Dalai Felinto [Thu, 24 Nov 2011 19:27:15 +0000 (19:27 +0000)]
BGE patch: [#29285] Video Texture: Avoid slow rescale (non power of 2 support check) by Goran Milovanovic (goran)
"Just a simple check for non power of two support (GLEW_ARB_texture_non_power_of_two), to avoid what seems to be a very slow, and very unnecessary gluScaleImage call."

This is the only part of the VideoTexture that does the POT calculation, so the check seems good.
It would be interesting if some opengl guru would like to benchmark the use of this in other areas of Blender (e.g. 2D Filters, and all GLSL materials).

Note that mipmap should also be supported automatically by this extension, so it's not something to worry about.

8 years agoScons / Cycles:
Thomas Dinges [Thu, 24 Nov 2011 19:22:34 +0000 (19:22 +0000)]
Scons / Cycles:
* Add dummy WITH_BF_CYCLES_BINARIES to scons, to be able to copy the .cubin kernels from cmake and have it work.

8 years ago2.6 Code removal:
Thomas Dinges [Thu, 24 Nov 2011 17:19:38 +0000 (17:19 +0000)]
2.6 Code removal:
* Deleted some #if 0 code, which was either already replaced or won't come back.

8 years agoFix #29366: multires crash with meshes that had verts/edges not connected to any...
Brecht Van Lommel [Thu, 24 Nov 2011 17:06:50 +0000 (17:06 +0000)]
Fix #29366: multires crash with meshes that had verts/edges not connected to any face.

8 years ago(See http://codereview.appspot.com/5431064/ for review of patch)
Konrad Kleine [Thu, 24 Nov 2011 14:58:42 +0000 (14:58 +0000)]
(See codereview.appspot.com/5431064/ for review of patch)

I've written a convenient function that returns the sibling of a node in the
red-black tree implementation originally implemented by Joshua Leung.

I want to use this get_sibling() function in the future to implement the missing
removal function of the red-black tree implementation.

For now the get_sibling() function just simplifies the get_uncle() function.

Just like the rest of the red-black tree implementation this diff is based on
Wikipedia: http://en.wikipedia.org/wiki/Red%E2%80%93black_tree#Removal

8 years agoFix #29369: bpy.data.curves.new(name= "test" , type = 'SURFACE') does not create...
Sergey Sharybin [Thu, 24 Nov 2011 14:30:37 +0000 (14:30 +0000)]
Fix #29369: bpy.data.curves.new(name= "test" , type = 'SURFACE') does not create a surface

This issue it totally related on issue with changing object datablock.
For curves it used to guess object type from curve datablock based on
count of control points in V direction.
This quess fails in case when SurfCircle datablock is trying to be reused
by another surface object or as another sample empty surface databouck used
to be treated as curve.

Store type in Curve when creating new Curve datablock which is used in
this object type quessing function.

Note: Previously saved files wouldn't change behavior at all.

8 years agoFix #29306: Alt+N, Enter In Image View Does closes the dialog without executing.
Sergey Sharybin [Thu, 24 Nov 2011 13:51:31 +0000 (13:51 +0000)]
Fix #29306: Alt+N, Enter In Image View Does closes the dialog without executing.

If enter is pressed outside of any button in menu, generate two menu return values:
- UI_RETURN_CANCEL so button wouldn't be executed
- UI_RETURN_POPUP_OK so callback associated with popup block would be executed

8 years agoFix #29384: Mesh without polygons + Modifier crashes when switching to sculpt mode
Sergey Sharybin [Thu, 24 Nov 2011 13:39:43 +0000 (13:39 +0000)]
Fix #29384: Mesh without polygons + Modifier crashes when switching to sculpt mode

There were some issues with PBVH which prevented working it for meshes without faces.

Discussed with Brecht, for benefits of dynamic-topology-sculpting and so better to
make PBVH survive such things.

Added some extra NULL-pointer checks for this.

8 years agoFix wrong camera preset name D35 => D3S.
Brecht Van Lommel [Thu, 24 Nov 2011 13:07:02 +0000 (13:07 +0000)]
Fix wrong camera preset name D35 => D3S.

8 years agoAdjust BMO_Get/SetIndex syntax so that it can take element pointers directly
Andrew Wiggin [Thu, 24 Nov 2011 11:20:48 +0000 (11:20 +0000)]
Adjust BMO_Get/SetIndex syntax so that it can take element pointers directly

8 years agoFix for wrong event clipping in open node groups (bug #29383). The internal node...
Lukas Toenne [Thu, 24 Nov 2011 09:26:19 +0000 (09:26 +0000)]
Fix for wrong event clipping in open node groups (bug #29383). The internal node blocks of the group were created before the group node block itself, so the node group block clips events for internal nodes. Generally, blocks should be created just like the drawing order.

8 years agofix [#28676] Tris to Quads: "Max Angle" is not interpreted correctly
Campbell Barton [Thu, 24 Nov 2011 06:59:29 +0000 (06:59 +0000)]
fix [#28676] Tris to Quads: "Max Angle" is not interpreted correctly

the angle should be more meaningful now.

8 years agoadd some macros to cleanup lots of tedious code in rna_mesh.c defining customdatalaye...
Andrew Wiggin [Thu, 24 Nov 2011 06:55:53 +0000 (06:55 +0000)]
add some macros to cleanup lots of tedious code in rna_mesh.c defining customdatalayer collections (especially as upcoming bmesh cycles changes will add a few more such collections)

8 years ago- saving as a jpeg image would set the image as not having an alpha channel even...
Campbell Barton [Thu, 24 Nov 2011 06:30:37 +0000 (06:30 +0000)]
- saving as a jpeg image would set the image as not having an alpha channel even when saving a copy.
- setting the color channels on save as would ignore the channel - BW/RGB/RGBA setting.
  now its used when available but still need to hide BW for formats blender can only write as color.

8 years agosvn merge ^/trunk/blender -r42095:42116
Campbell Barton [Thu, 24 Nov 2011 05:33:22 +0000 (05:33 +0000)]
svn merge ^/trunk/blender -r42095:42116

8 years agoimage format arg parsing for creator.c
Campbell Barton [Thu, 24 Nov 2011 05:18:26 +0000 (05:18 +0000)]
image format arg parsing for creator.c

move these checks from creator into BKE's image.c, this way we dont need the defines for creator, scons was missing DDS, HDR & Cineon  for example and nobody noticed.

8 years agorename mathutils constructors to match other parts of the bpy/api (no functional...
Campbell Barton [Thu, 24 Nov 2011 04:45:36 +0000 (04:45 +0000)]
rename mathutils constructors to match other parts of the bpy/api (no functional changes)

8 years agopatch: [#29382] Arbitrary Length Array Function Additions and Modifications
Campbell Barton [Thu, 24 Nov 2011 04:12:16 +0000 (04:12 +0000)]
patch: [#29382] Arbitrary Length Array Function Additions and Modifications
from Andrew Hale (trumanblending), with some edits to use these in mathutils.Vector added.

Added Functions:
- dot_vn_vn - Dot product of two arrays
- normalize_vn_vn - Normalize an array and store the result in a second array
- normalize_vn - Normalize an array inplace

Renamed Functions:
Some functions have been renamed to make them consistent with the naming conventions used by fixed length array functions.
- fill_vni to fill_vn_i
- fill_vn to fill_vn_fl

8 years agomove edge angle test from previous commit into a static function & set on the edge...
Campbell Barton [Thu, 24 Nov 2011 03:12:37 +0000 (03:12 +0000)]
move edge angle test from previous commit into a static function & set on the edge loop rather then of face edges.

8 years agofix [#29313] In object mode wire frame edges between two planar faces render
Campbell Barton [Thu, 24 Nov 2011 02:52:38 +0000 (02:52 +0000)]
fix [#29313] In object mode wire frame edges between two planar faces render

8 years agofix [#29177] Select linked in face select mode doesn't stop on seams
Campbell Barton [Thu, 24 Nov 2011 01:33:41 +0000 (01:33 +0000)]
fix [#29177] Select linked in face select mode doesn't stop on seams

8 years agoper type restrict masks for walkers
Campbell Barton [Thu, 24 Nov 2011 01:07:36 +0000 (01:07 +0000)]
per type restrict masks for walkers
- vert/edge/loop/face each get their own restrict masks
- any invalid restrict masks (which are not supported by the walkers) raise an error.

8 years agosmall changes to iterator, preparing for bigger changes.
Campbell Barton [Thu, 24 Nov 2011 00:14:13 +0000 (00:14 +0000)]
small changes to iterator, preparing for bigger changes.
- renamed flag to layer
- added define to make dummy layer args easier to tell apart from flags

8 years agoBGE Animations: Getting the Action Actuator to behave better with pulse mode (on...
Mitchell Stokes [Wed, 23 Nov 2011 23:29:36 +0000 (23:29 +0000)]
BGE Animations: Getting the Action Actuator to behave better with pulse mode (on the sensor) and continuous enabled.