8 years agoadd some safety checks in debug mode to ensure sets/hashes aren't confused.
Campbell Barton [Mon, 26 Aug 2013 09:37:15 +0000 (09:37 +0000)]
add some safety checks in debug mode to ensure sets/hashes aren't confused.

8 years agoBGE: Cleaning up the vsync code a little.
Mitchell Stokes [Mon, 26 Aug 2013 08:14:52 +0000 (08:14 +0000)]
BGE: Cleaning up the vsync code a little.

8 years agono remove double property lookups in ED_fileselect_set_params and redundant NULL...
Campbell Barton [Mon, 26 Aug 2013 06:54:05 +0000 (06:54 +0000)]
no remove double property lookups in ED_fileselect_set_params and redundant NULL check in file_main_area_draw.

8 years agoanother header edit needed
Campbell Barton [Sun, 25 Aug 2013 21:29:33 +0000 (21:29 +0000)]
another header edit needed

8 years agoblenderplayer builds again
Campbell Barton [Sun, 25 Aug 2013 21:24:16 +0000 (21:24 +0000)]
blenderplayer builds again

8 years agominor changes to edgehassh/ghash
Campbell Barton [Sun, 25 Aug 2013 21:02:31 +0000 (21:02 +0000)]
minor changes to edgehassh/ghash
- no need to zero vars when freeing ghash
- de duplicate ghash remove code.
- edgehash clear now works more like ghash.

8 years agoreplace hashes with sets where possible.
Campbell Barton [Sun, 25 Aug 2013 20:03:45 +0000 (20:03 +0000)]
replace hashes with sets where possible.

8 years agoBKI_gset and EdgeSet api, use when hash values aren't used (reuses ghash internally...
Campbell Barton [Sun, 25 Aug 2013 20:00:19 +0000 (20:00 +0000)]
BKI_gset and EdgeSet api, use when hash values aren't used (reuses ghash internally without allocating space for the value).

8 years agoFix [#36289] Not change children object on freez layer when change frame.
Bastien Montagne [Sun, 25 Aug 2013 18:45:04 +0000 (18:45 +0000)]
Fix [#36289] Not change children object on freez layer when change frame.

When hiding the layer of an object, switching to a different fram, and showing again that layer, things like object's parenting were not handled... Just set do_time option of DAG_on_visible_update() to True when updating layers.

Note: maybe we could re-enable layers animation... not sure though ;)

8 years agoPartial revert of UI appearance changes in r52778 in the Strokes tab of the Freestyle...
Tamito Kajiyama [Sun, 25 Aug 2013 16:29:10 +0000 (16:29 +0000)]
Partial revert of UI appearance changes in r52778 in the Strokes tab of the Freestyle Line Style panel.

8 years agomove doxy docs out of the ghash header into the C file.
Campbell Barton [Sun, 25 Aug 2013 16:28:48 +0000 (16:28 +0000)]
move doxy docs out of the ghash header into the C file.

8 years agoclearing the mempool can now keep more then a single element reserved.
Campbell Barton [Sun, 25 Aug 2013 16:16:38 +0000 (16:16 +0000)]
clearing the mempool can now keep more then a single element reserved.

8 years agofix leak in BLI_ghash_clear(). was never freeing entries, add BLI_mempool_clear utili...
Campbell Barton [Sun, 25 Aug 2013 14:58:26 +0000 (14:58 +0000)]
fix leak in BLI_ghash_clear(). was never freeing entries, add BLI_mempool_clear utility function.

8 years agocode cleanup for mempool, refactor chunk initialization into a static function.
Campbell Barton [Sun, 25 Aug 2013 14:50:40 +0000 (14:50 +0000)]
code cleanup for mempool, refactor chunk initialization into a static function.

8 years agomerge mempool allocs per chunk, include the data in the BLI_mempool_chunk alloc.
Campbell Barton [Sun, 25 Aug 2013 13:15:22 +0000 (13:15 +0000)]
merge mempool allocs per chunk, include the data in the BLI_mempool_chunk alloc.

8 years agodoxygen docs for ghash/edgehash
Campbell Barton [Sun, 25 Aug 2013 12:17:46 +0000 (12:17 +0000)]
doxygen docs for ghash/edgehash

8 years agoFor pointer hashing use the same method as python, it gives better distribution.
Campbell Barton [Sat, 24 Aug 2013 20:30:08 +0000 (20:30 +0000)]
For pointer hashing use the same method as python, it gives better distribution.

some tests with high poly mesh data in hashes.
- empty buckets before 4-5%, after 1-2%
- speedup for hash lookups, in my tests lookups take approx ~60% of the time they did before.

8 years agouse ints for ghash/edgehash flags, since its allocated theres not much point to try...
Campbell Barton [Sat, 24 Aug 2013 20:16:14 +0000 (20:16 +0000)]
use ints for ghash/edgehash flags, since its allocated theres not much point to try save a few bytes here.

8 years agoQuiet annoying VC++ warning C4819: The file contains a character that cannot be repre...
Tamito Kajiyama [Sat, 24 Aug 2013 17:36:45 +0000 (17:36 +0000)]
Quiet annoying VC++ warning C4819: The file contains a character that cannot be represented in the current code page.

8 years agoghash: reserve size when its known or can be guessed close enough.
Campbell Barton [Sat, 24 Aug 2013 17:33:47 +0000 (17:33 +0000)]
ghash: reserve size when its known or can be guessed close enough.
also avoid allocs per node in pbvh_bmesh_node_limit_ensure()

8 years agoFix bad draw of plane track when using Tiny display option
Sergey Sharybin [Sat, 24 Aug 2013 17:25:12 +0000 (17:25 +0000)]
Fix bad draw of plane track when using Tiny display option

8 years agoAdd stdlib.h to solve compilation error caused by missing abort() prototype
Sergey Sharybin [Sat, 24 Aug 2013 17:15:59 +0000 (17:15 +0000)]
Add stdlib.h to solve compilation error caused by missing abort() prototype

Perhaps we'd better move this include to BLI_utildefines as we made with
with other includes needed for BLI_abort?

8 years agocorrect error in face walker (was inserting into the wrong ghash which was immediatel...
Campbell Barton [Sat, 24 Aug 2013 16:43:09 +0000 (16:43 +0000)]
correct error in face walker (was inserting into the wrong ghash which was immediately freed after)

8 years agocloth was using edgehash not quite correctly:
Campbell Barton [Sat, 24 Aug 2013 16:06:18 +0000 (16:06 +0000)]
cloth was using edgehash not quite correctly:
- was ordering vertex args unnecessarily.
- was adding the same edges multiple times into the edgehash.

8 years agocloth spring building: replace MIN2/MAX2 in assignments with a function which orders...
Campbell Barton [Sat, 24 Aug 2013 15:55:56 +0000 (15:55 +0000)]
cloth spring building: replace MIN2/MAX2 in assignments with a function which orders on assignment.

8 years agoFix issue in last subsurface commit with branched path tracing, was rendering too...
Brecht Van Lommel [Sat, 24 Aug 2013 15:36:14 +0000 (15:36 +0000)]
Fix issue in last subsurface commit with branched path tracing, was rendering too bright.

8 years agoavoid double ghash lookup in sculpt map_insert_vert
Campbell Barton [Sat, 24 Aug 2013 15:31:47 +0000 (15:31 +0000)]
avoid double ghash lookup in sculpt map_insert_vert

8 years agoadd versions of BLI_ghash_int_new, BLI_ghash_str_new, etc. that take a reserve argument.
Campbell Barton [Sat, 24 Aug 2013 15:14:50 +0000 (15:14 +0000)]
add versions of BLI_ghash_int_new, BLI_ghash_str_new, etc. that take a reserve argument.

8 years agorevert bucket size change (edgehash was this way for years, since r26206, ghash since...
Campbell Barton [Sat, 24 Aug 2013 15:09:57 +0000 (15:09 +0000)]
revert bucket size change (edgehash was this way for years, since r26206, ghash since r57657)
having 2 free buckets for each entry is faster but uses more memory.

use the original size, best case 3 entries per bucket.

8 years agoFix #36541: blender internal raytrace render hangs with high ray depth. The code
Brecht Van Lommel [Sat, 24 Aug 2013 15:02:12 +0000 (15:02 +0000)]
Fix #36541: blender internal raytrace render hangs with high ray depth. The code
here is not efficient for such cases, a ray depth can give up to 2^depth rays due
to the ray splitting in two at each depth. A proper solution requires a better
algorithm, for now I've ensured that you can at least cancel such renders. The
overhead from the extra test_break is negligible.

8 years agoCycles: reduce noise using regular path tracing + subsurface scattering with
Brecht Van Lommel [Sat, 24 Aug 2013 15:02:08 +0000 (15:02 +0000)]
Cycles: reduce noise using regular path tracing + subsurface scattering with
new cubic and gaussian falloff. Like the branched path tracer, this will now
shade all intersection points instead of using one at random.

8 years agouse reserve argument for more edgehashs
Campbell Barton [Sat, 24 Aug 2013 14:40:15 +0000 (14:40 +0000)]
use reserve argument for more edgehashs

8 years agofix for leak in cloth modifier
Campbell Barton [Sat, 24 Aug 2013 14:32:43 +0000 (14:32 +0000)]
fix for leak in cloth modifier
- any error in cloth_build_springs wasn't freeing the edge-hash.
- was checking BLI_edgehash_haskey on matching vertices.
- was looping over setting NULL for all elements of a calloc'd array.

8 years agoMade large "blender icon" for save blends (.blend1, .blend2, etc.) have a bit darker...
Andrea Weikert [Sat, 24 Aug 2013 14:01:07 +0000 (14:01 +0000)]
Made large "blender icon" for save blends (.blend1, .blend2, etc.) have a bit darker background as well.

8 years agowhen the size of an edgehash is known or can be guessed,
Campbell Barton [Sat, 24 Aug 2013 13:47:57 +0000 (13:47 +0000)]
when the size of an edgehash is known or can be guessed,
pass in the argument to reserve the size.

8 years agoAdding a darker "blender icon" for save blends (.blend1, .blend2, etc.), as requested...
Bastien Montagne [Sat, 24 Aug 2013 13:28:18 +0000 (13:28 +0000)]
Adding a darker "blender icon" for save blends (.blend1, .blend2, etc.), as requested by elubie.

8 years agofix for leak in make_edges_mdata() if there were no edges to create,
Campbell Barton [Sat, 24 Aug 2013 13:13:29 +0000 (13:13 +0000)]
fix for leak in make_edges_mdata() if there were no edges to create,
also reserve the total number of edges in the hash when its created.

8 years agoedge hash: take an arg for the guarded-malloc string (as ghash does)
Campbell Barton [Sat, 24 Aug 2013 13:08:55 +0000 (13:08 +0000)]
edge hash: take an arg for the guarded-malloc string (as ghash does)

8 years agoghash and edgehash api, allow newly defined hashes to take in the size of the hash...
Campbell Barton [Sat, 24 Aug 2013 13:04:03 +0000 (13:04 +0000)]
ghash and edgehash api, allow newly defined hashes to take in the size of the hash as an arg (avoids resizing in simple cases when the hash is created and filled immediately).

8 years ago== filebrowser ==
Andrea Weikert [Sat, 24 Aug 2013 12:53:47 +0000 (12:53 +0000)]
== filebrowser ==

* fix old bug: wrong layout that could happen  when switching between thumbnail view and list view. This caused the layout to be recalculated sometimes and the items being moved. Reason was that the layout was wrongly initialized without the scroll bars, so calculated wrongly.

8 years agofix for GPU_update_bmesh_buffers not setting bmesh vertex index values as dirty ...
Campbell Barton [Sat, 24 Aug 2013 11:46:08 +0000 (11:46 +0000)]
fix for GPU_update_bmesh_buffers not setting bmesh vertex index values as dirty (could cause errors later).

8 years agoFix for [#36374] Read unitialized memory in Freestyle.
Tamito Kajiyama [Sat, 24 Aug 2013 11:42:00 +0000 (11:42 +0000)]
Fix for [#36374] Read unitialized memory in Freestyle.
A variable keeping a bounding box was referenced after it was flagged as empty.

8 years agoskip building moto if its not needed.
Campbell Barton [Sat, 24 Aug 2013 10:23:41 +0000 (10:23 +0000)]
skip building moto if its not needed.

8 years agostyle cleanup: space around for loop wrappers
Campbell Barton [Sat, 24 Aug 2013 10:05:29 +0000 (10:05 +0000)]
style cleanup: space around for loop wrappers

8 years agoFix 36505: Collada exporter crashes Blender when exporting to locked file
Gaia Clary [Sat, 24 Aug 2013 09:51:05 +0000 (09:51 +0000)]
Fix 36505: Collada exporter crashes Blender when exporting to locked file

8 years agofix for crash in weight-paint-gradient, missing call to curve curvemapping_initialize
Campbell Barton [Sat, 24 Aug 2013 08:58:58 +0000 (08:58 +0000)]
fix for crash in weight-paint-gradient, missing call to curve curvemapping_initialize

8 years agoFix [#36330] Clicking Scrolled Object Properties Tab Brings Up Wrong One
Bastien Montagne [Sat, 24 Aug 2013 08:46:48 +0000 (08:46 +0000)]
Fix [#36330] Clicking Scrolled Object Properties Tab Brings Up Wrong One

Actually, happened in any view2D... Just added a call to WM_event_add_mousemove() in view_pan_apply, so that overed/active button is refreshed in this case.

8 years agoadd GPL header to treehash.c and add missing includes to cmake.
Campbell Barton [Sat, 24 Aug 2013 03:17:28 +0000 (03:17 +0000)]
add GPL header to treehash.c and add missing includes to cmake.

8 years agocode cleanup: change to r59443, TRUE/FALSE are deprecated, see BLI_sys_types.h
Campbell Barton [Sat, 24 Aug 2013 03:16:22 +0000 (03:16 +0000)]
code cleanup: change to r59443, TRUE/FALSE are deprecated, see BLI_sys_types.h

8 years agoCycles:
Thomas Dinges [Sat, 24 Aug 2013 00:27:20 +0000 (00:27 +0000)]
* Fix Cycles using wrong AA sample values, after integrator renaming.

8 years agoFix #36545: crash with branched path tracing, correlated multi-jittered
Brecht Van Lommel [Fri, 23 Aug 2013 23:04:50 +0000 (23:04 +0000)]
Fix #36545: crash with branched path tracing, correlated multi-jittered
sampling and subsurface scattering.

8 years agoFix #36441: opengl render of smoke wrong after regular render with blender internal.
Brecht Van Lommel [Fri, 23 Aug 2013 22:57:29 +0000 (22:57 +0000)]
Fix #36441: opengl render of smoke wrong after regular render with blender internal.
Object.imat isn't always the inverse of Object.obmat, needs to be set before usage
as mentioned in DNA_object_types.h.

Thanks to Miika for tracking down the cause of this bug.

8 years ago"Fix" [#36551] Camera has wrong rotation in default scene :P
Bastien Montagne [Fri, 23 Aug 2013 21:37:39 +0000 (21:37 +0000)]
"Fix" [#36551] Camera has wrong rotation in default scene :P

8 years agoRelated to [#36548] "Grease Pencil" Problems
Bastien Montagne [Fri, 23 Aug 2013 21:26:59 +0000 (21:26 +0000)]
Related to [#36548] "Grease Pencil" Problems

Use scene's GPencil when active object is deselected. Else it can be tricky and not user-friendly to access to the scene's GPencil once some objects have GPencil data (you have to select/active a non-gpencil object, or switch to a layout without active object...).

8 years agoCode cleanup: use TRUE/FALSE instead of 1/0 for bool properties default values...
Bastien Montagne [Fri, 23 Aug 2013 21:13:30 +0000 (21:13 +0000)]
Code cleanup: use TRUE/FALSE instead of 1/0 for bool properties default values...

8 years agoFollowup to r59434 : py UI scripts edits.
Bastien Montagne [Fri, 23 Aug 2013 20:41:21 +0000 (20:41 +0000)]
Followup to r59434 : py UI scripts edits.

* Made those edits by full checking of py files, so I should have spoted most needed edits, yet it remains quite probable I missed a few ones, we'll fix if/when someone notice it...
* Also made some cleanup "on the road"!

8 years agoFix state losses for recursive outliner trees (e.g. datablocks editor)
Sv. Lockal [Fri, 23 Aug 2013 20:35:00 +0000 (20:35 +0000)]
Fix state losses for recursive outliner trees (e.g. datablocks editor)

In previous optimization in outliner I assumed that order in treehash was not important.
But testing outliner in datablocks mode revealed a problem: when user expands multiple recursive levels and then closes any element, it always closed the top level of recursion.
Now it should work fine with recursive trees.
Now treehash contains groups of elements indexed by (id,nr,type). Adding an element with the same (id,nr,type) results in appending it to existing group. No duplicates are possible in treehash.
This commit should also make lookups a little bit faster, because searching in small arrays by "used" is faster than searching in hashtable with duplicates by "id,nr,type,used".

8 years agoFix compile in Visual Studio 2008:
Andrea Weikert [Fri, 23 Aug 2013 18:02:23 +0000 (18:02 +0000)]
Fix compile in Visual Studio 2008:
* isfinite is not defined, in Blender code we use 'finite' instead

8 years agoUI layout: Fix the fact that children layouts were implicitely inconditionnaly aligne...
Bastien Montagne [Fri, 23 Aug 2013 16:53:37 +0000 (16:53 +0000)]
UI layout: Fix the fact that children layouts were implicitely inconditionnaly aligned when the parent was.

col = layout.column(True)
row = col.row(False)

Items in row would be 'aligned' in the same group as those in col. Now to get this happening, you have to set row as aligned as well.

Please note that fixes for py UI scripts will follow in another commit.

Also fixed labels of RNA pointers searchboxes, which were missing the colon!

8 years agopatch to add backkbacks for game engine start/end,
Campbell Barton [Fri, 23 Aug 2013 15:45:18 +0000 (15:45 +0000)]
patch to add backkbacks for game engine start/end,
by sjoerd_de_vries

8 years agoFix for an obscure bpy_types bug: When attempting to define __setattr__ in a metaclas...
Lukas Toenne [Fri, 23 Aug 2013 15:39:25 +0000 (15:39 +0000)]
Fix for an obscure bpy_types bug: When attempting to define __setattr__ in a metaclass based on RNAMetaPropGroup, the base class' __setattr__ method can not be called, since python prohibits setattr on
builtin classes. This was done in Python 2.3 to prevent changes to the 'object' type definition and similar issues. As explained by Guido van Rossum in the following mail, the python check will look for
the *closest* base class, which fails for RNAMetaPropGroup because its first base is RNAMeta, which is in turn a subclass of 'type'.

The easiest and safest way to prevent this issue therefore seems to be
to swap the base class order for RNAMetaPropGroup, so that StructMetaPropGroup is the first base, which has a perfectly valid setattr implementation.

8 years agosimplify dist_to_plane_v3 and add dist_squared_to_plane_v3
Campbell Barton [Fri, 23 Aug 2013 15:19:20 +0000 (15:19 +0000)]
simplify dist_to_plane_v3 and add dist_squared_to_plane_v3

8 years agoFix [#36538] Discontinuity (Euler) Filter - never ends - (deadlock?)
Bastien Montagne [Fri, 23 Aug 2013 15:17:54 +0000 (15:17 +0000)]
Fix [#36538] Discontinuity (Euler) Filter - never ends - (deadlock?)

Code could enter in an infinite loop when curve value was an odd multiple of PI (i.e. 180°)...

Current code was also factorized and got rid of fabs calls! ;)

8 years agomath api edits - replace point-normal form for a plane with dist_to_plane_v3()
Campbell Barton [Fri, 23 Aug 2013 14:37:22 +0000 (14:37 +0000)]
math api edits - replace point-normal form for a plane with dist_to_plane_v3()
also correct python mathutils api, was missing vector checks.

8 years agoCycles: more code refactoring to rename things internally as well. Also change
Brecht Van Lommel [Fri, 23 Aug 2013 14:34:34 +0000 (14:34 +0000)]
Cycles: more code refactoring to rename things internally as well. Also change
property name back so we keep compatibility.

8 years agoCycles: change Progressive sampling option in UI to an enum of "Path Tracing"
Brecht Van Lommel [Fri, 23 Aug 2013 14:08:40 +0000 (14:08 +0000)]
Cycles: change Progressive sampling option in UI to an enum of "Path Tracing"
and "Branched Path Tracing", to try to make it more clear that this is not
related to progressive refinement, non-progressive was always a bad name anyway.

8 years agoFix clang compile warning.
Brecht Van Lommel [Fri, 23 Aug 2013 14:08:39 +0000 (14:08 +0000)]
Fix clang compile warning.

8 years agonew mesh bisect had a problem not selecting faces with fill option in face mode.
Campbell Barton [Fri, 23 Aug 2013 14:07:22 +0000 (14:07 +0000)]
new mesh bisect had a problem not selecting faces with fill option in face mode.

8 years agofix error in recently added symmetrize rewrite, verts already on the aligned to the...
Campbell Barton [Fri, 23 Aug 2013 13:27:44 +0000 (13:27 +0000)]
fix error in recently added symmetrize rewrite, verts already on the aligned to the mirror-plane would not be welded.

8 years agofix leak in BM_face_split() with multires if the split failed.
Campbell Barton [Fri, 23 Aug 2013 13:00:43 +0000 (13:00 +0000)]
fix leak in BM_face_split() with multires if the split failed.
also remove redundant normal copy.

only triangulate the mesh if its needed when enabling dyntopo.

8 years agoCode cleanup / Cycles:
Thomas Dinges [Fri, 23 Aug 2013 12:19:35 +0000 (12:19 +0000)]
Code cleanup / Cycles:
* Some style tweaks for hair code.

8 years agonew mesh bisect tool, available in the mesh menu.
Campbell Barton [Fri, 23 Aug 2013 11:46:08 +0000 (11:46 +0000)]
new mesh bisect tool, available in the mesh menu.
cuts the mesh in half based on the cursor location and the viewport,
optionally supports filling the cut area (with uvs. vcols, etc),
and removing geometry on either side of the cut.

8 years agoCycles / Sampling UI:
Thomas Dinges [Fri, 23 Aug 2013 11:39:48 +0000 (11:39 +0000)]
Cycles / Sampling UI:
* Do not show Total Samples print for Progressive, when Square Samples are disabled. In this case it's obvious even without the print. :)

8 years agocorrect error in recent commit triangle-fill-dissolve, need to check if the edges...
Campbell Barton [Fri, 23 Aug 2013 11:28:33 +0000 (11:28 +0000)]
correct error in recent commit triangle-fill-dissolve, need to check if the edges face is removed (happens in rare cases).

8 years ago* Compile fix for r59395, 'move bmesh tools into their own include'.
Thomas Dinges [Fri, 23 Aug 2013 11:16:52 +0000 (11:16 +0000)]
* Compile fix for r59395, 'move bmesh tools into their own include'.

8 years ago_another_ fix for recently added bisect operator, looping over mixed geometry could...
Campbell Barton [Fri, 23 Aug 2013 11:11:59 +0000 (11:11 +0000)]
_another_ fix for recently added bisect operator, looping over mixed geometry could read freed memory when vertices were removed.

8 years agoadd dissolve option to triangle fill operator, running dissolve after scanfill isn...
Campbell Barton [Fri, 23 Aug 2013 11:10:46 +0000 (11:10 +0000)]
add dissolve option to triangle fill operator, running dissolve after scanfill isn't so simple because of errors if one edge can't merge.

8 years agofix for error in recetly added bisect operator, in rare cases it could attempt to...
Campbell Barton [Fri, 23 Aug 2013 10:19:58 +0000 (10:19 +0000)]
fix for error in recetly added bisect operator, in rare cases it could attempt to remove vertices twice.

8 years agooptiona for bmesh triangle fill operator to take a normal argument
Campbell Barton [Fri, 23 Aug 2013 10:12:09 +0000 (10:12 +0000)]
optiona for bmesh triangle fill operator to take a normal argument

8 years agoset function args in BLI_math_rotation as const where possible.
Campbell Barton [Fri, 23 Aug 2013 09:46:11 +0000 (09:46 +0000)]
set function args in BLI_math_rotation as const where possible.

8 years agoTracking cleanup
Sergey Sharybin [Fri, 23 Aug 2013 09:40:42 +0000 (09:40 +0000)]
Tracking cleanup

- Collapse plane track panels by default
- Hide 3D markers when in mask edit mode
- Remove alpha from mask layers list

Discussed with Sebastian and Roman.

8 years agoTracking Python API improvements
Sergey Sharybin [Fri, 23 Aug 2013 09:10:23 +0000 (09:10 +0000)]
Tracking Python API improvements

- Solved issue with changing marker's frame number
  for tracks which doesn't belong to camera object.

- Support find_frame, insert_frame and delete_frame
  functions for plane markers.

8 years agoFix #36535: Color difference when saving image
Sergey Sharybin [Fri, 23 Aug 2013 08:27:01 +0000 (08:27 +0000)]
Fix #36535: Color difference when saving image

Issue was caused by precision loss in alpha under code.
Now it might be slower a bit, but it's as precise as it
could be. At least i hope so :)

8 years agoedits to new symmetrize tool
Campbell Barton [Fri, 23 Aug 2013 05:32:43 +0000 (05:32 +0000)]
edits to new symmetrize tool
- snap axis-aligned verts to the center.
- expose the threshold for detecting if a vertex is on the axis.

8 years agomodify closest_to_plane_v3 not to use point-normal form.
Campbell Barton [Fri, 23 Aug 2013 05:15:12 +0000 (05:15 +0000)]
modify closest_to_plane_v3 not to use point-normal form.

8 years agomove bmesh tools into their own include,
Campbell Barton [Fri, 23 Aug 2013 04:22:07 +0000 (04:22 +0000)]
move bmesh tools into their own include,
changes to tool args would rebuild far too many files and these are mainly by modifiers outside of bmesh.

8 years agostyle cleanup: pep8
Campbell Barton [Fri, 23 Aug 2013 04:04:46 +0000 (04:04 +0000)]
style cleanup: pep8

8 years agoCycles / Sampling UI:
Thomas Dinges [Thu, 22 Aug 2013 19:57:56 +0000 (19:57 +0000)]
Cycles / Sampling UI:
* Add a "Total Samples" info at the bottom of the panel.
This makes understanding the Non-Progressive integrator easier, as it displays how many samples are used for the different ray types.

* Rename Squared Samples to Square samples, to indicate that the action is not already done. The new Total Samples info should make this easier to understand now as well. Also added back for Progressive integrator, for consistency.


8 years agocorrect own error in r59365, reported as [#36536] Extrusion detaches faces
Campbell Barton [Thu, 22 Aug 2013 18:52:34 +0000 (18:52 +0000)]
correct own error in r59365, reported as [#36536] Extrusion detaches faces

8 years agoreplace symmetrize code with calls to bmesh operators.
Campbell Barton [Thu, 22 Aug 2013 18:02:36 +0000 (18:02 +0000)]
replace symmetrize code with calls to bmesh operators.
calls: bisect, duplicate, scale, flip, weld.

resolves report [#36475] Symmetrise does not keep uv/weight

also fixes issues with faces that cross the axis more then once.

8 years agonew bmesh operator bisect_plane, cuts a mesh in half, takes a user defined plane...
Campbell Barton [Thu, 22 Aug 2013 17:56:08 +0000 (17:56 +0000)]
new bmesh operator bisect_plane, cuts a mesh in half, takes a user defined plane as an argument, handles concave ngons which need multiple cuts.

8 years agobmesh duplicate operator: add vertmap output slot.
Campbell Barton [Thu, 22 Aug 2013 17:32:41 +0000 (17:32 +0000)]
bmesh duplicate operator: add vertmap output slot.

8 years agoadd utility functions for dealing with planes
Campbell Barton [Thu, 22 Aug 2013 15:30:24 +0000 (15:30 +0000)]
add utility functions for dealing with planes
- plane_point_side_v3(), a bit like line_point_side_v2()
- isect_point_planes_v3(), moved from paint_hide.c

functions to convert between point/normal pairs.
- plane_from_point_normal_v3()
- plane_to_point_normal_v3()

8 years agoAutomatically re-generate png icon files from svg ones (CMake only for now)... Expect...
Bastien Montagne [Thu, 22 Aug 2013 13:51:00 +0000 (13:51 +0000)]
Automatically re-generate png icon files from svg ones (CMake only for now)... Expects Inkscape program.

8 years agoHad not been updated after last edit to prvicons.svg file (r53004)...
Bastien Montagne [Thu, 22 Aug 2013 13:48:22 +0000 (13:48 +0000)]
Had not been updated after last edit to prvicons.svg file (r53004)...

8 years agoFix [#36534] Errors in script when running on Arch Linux
Bastien Montagne [Thu, 22 Aug 2013 06:05:40 +0000 (06:05 +0000)]
Fix [#36534] Errors in script when running on Arch Linux

Patch provided by Darren Beck, thanks!

8 years agominor internal change: isect_point_poly_v2 was assigning a value past the array bounds,
Campbell Barton [Wed, 21 Aug 2013 23:33:50 +0000 (23:33 +0000)]
minor internal change: isect_point_poly_v2 was assigning a value past the array bounds,
not that bad since it wasn't read but this isnt good practice and its simple to avoid.

8 years agostyle cleanup: pep8, also use float literals when comparing floats and pass tuples...
Campbell Barton [Wed, 21 Aug 2013 23:19:01 +0000 (23:19 +0000)]
style cleanup: pep8, also use float literals when comparing floats and pass tuples to mathutils.Vector() rather then list.

8 years agoFix [#36530] Texture tab refreshing problem
Bastien Montagne [Wed, 21 Aug 2013 21:35:45 +0000 (21:35 +0000)]
Fix [#36530] Texture tab refreshing problem

That was not really a bug (code working as expected), but the way tex context was handled was a bit raw, now it is much smarter:
* Default fallback context (when current one is no more valid) will now choose "most specific" ones first (i.e. material/lamp/particules before world and "others").
* When using that default fallback context, previous one is stored and we try to revive it later, if possible. Thus e.g. object[mat tex ctxt] -> empty[default world ctxt] -> object[mat tex ctxt] is now working as expected.
* However, when user explicitely or implicitely (through e.g. going to Material context...) sets a tex context, previous one is not stored, so that only default fallback context switch may later automatically revive a previous (presumably user-set) context.

8 years agoTemporary fix for gaps in strokes when objects are behind the lines.
Tamito Kajiyama [Wed, 21 Aug 2013 21:20:51 +0000 (21:20 +0000)]
Temporary fix for gaps in strokes when objects are behind the lines.
Problem report by Light BWK through personal communications, thanks a lot!

Apparently there is something wrong in the way how edges are chained to
create strokes.  For some unknown reason, strokes may contain a very small
line segment that proceeds in the opposite direction (e.g., downward
even when adjacent stroke segments proceed upward), resulting in the
reported visual artefact.

This revision is intended to address the reported issue in most cases.
The present solution is not a proper fix of the issue.  Another code
update with better understanding of the real cause is due in the future