9 years agoFix #30405: combine HSVA node not working correct with fixed color instead
Brecht Van Lommel [Thu, 1 Mar 2012 20:05:14 +0000 (20:05 +0000)]
Fix #30405: combine HSVA node not working correct with fixed color instead
of socket connected as input, patch by Denis Declara.

9 years agoFix related to #30416: python render_stats handler now also gets called when the
Brecht Van Lommel [Thu, 1 Mar 2012 19:19:10 +0000 (19:19 +0000)]
Fix related to #30416: python render_stats handler now also gets called when the
saved file message is printed.

9 years agoFix #30415: motion blur option still had an effect on external engines / cycles,
Brecht Van Lommel [Thu, 1 Mar 2012 19:19:04 +0000 (19:19 +0000)]
Fix #30415: motion blur option still had an effect on external engines / cycles,
should not be used then.

9 years agofix [#30280] bmesh: Dissolve with error message kills Crease
Campbell Barton [Thu, 1 Mar 2012 19:05:14 +0000 (19:05 +0000)]
fix [#30280] bmesh: Dissolve with error message kills Crease

CD_MASK_BMESH was didnt include crease of bevel weight - so copying the bmesh would skip these.

9 years agobmesh api:
Campbell Barton [Thu, 1 Mar 2012 17:38:04 +0000 (17:38 +0000)]
bmesh api:
* name bmesh operator func's BMO_slot_buffer_* rather then BMO_slot_* since it wasnt obvious some only dealt with buffer, some both.
* more typechecks and asserts of BMO_ functions (I lost some time calling a map with a buffer function that failed silently).
* small speedup for extrude check - test if the edge is wire _before_ doign a hash lookup.

9 years agoCode Cleanup: remove bmesh_radial_loop_next() function,
Campbell Barton [Thu, 1 Mar 2012 17:13:02 +0000 (17:13 +0000)]
Code Cleanup: remove bmesh_radial_loop_next() function,
just access l->radial_next

9 years agoSame fix for file output node as Brecht did in r44580, EXR compression is defined...
Lukas Toenne [Thu, 1 Mar 2012 17:02:05 +0000 (17:02 +0000)]
Same fix for file output node as Brecht did in r44580, EXR compression is defined in exr_codec instead compression.

9 years agofast-path for BM_edge_is_manifold, BM_edge_is_boundary functions.
Campbell Barton [Thu, 1 Mar 2012 16:56:42 +0000 (16:56 +0000)]
fast-path for BM_edge_is_manifold, BM_edge_is_boundary functions.

9 years agoFix related to #30384: multilayer exr files not saving compressed correctly.
Brecht Van Lommel [Thu, 1 Mar 2012 16:41:51 +0000 (16:41 +0000)]
Fix related to #30384: multilayer exr files not saving compressed correctly.

9 years agofix [#30399] bmesh: Extrusions adjacent to mirror plane leave stray edges.
Campbell Barton [Thu, 1 Mar 2012 16:27:44 +0000 (16:27 +0000)]
fix [#30399] bmesh: Extrusions adjacent to mirror plane leave stray edges.

thanks to Antony Riakiotakis for finding the cause.

9 years agobmesh regression with extrude.
Campbell Barton [Thu, 1 Mar 2012 16:12:11 +0000 (16:12 +0000)]
bmesh regression with extrude.

Extruding an edge where both verts were clipped would not create a face for this edge.

This is ok when a connected face is also extruded but not when the edge is selected on its own.

9 years agostyle cleanup
Campbell Barton [Thu, 1 Mar 2012 16:04:37 +0000 (16:04 +0000)]
style cleanup
* add extra argument to BMO_slot_map_to_flag() to filter by vert/edge/face
* made BMO_slot_map_* / BMO_slot_buffer_* functions stricter with type checking.

9 years agostyle cleanup: bmesh - have continue on new line, also avoid unneeded loop in bmo_ext...
Campbell Barton [Thu, 1 Mar 2012 13:13:08 +0000 (13:13 +0000)]
style cleanup: bmesh - have continue on new line, also avoid unneeded loop in bmo_extrude_face_region_exec() in some cases.

9 years agoSpelling Cleanup
Campbell Barton [Thu, 1 Mar 2012 12:20:18 +0000 (12:20 +0000)]
Spelling Cleanup

9 years agoCall the node freestorage callback _before_ actually freeing sockets, since this...
Lukas Toenne [Thu, 1 Mar 2012 12:07:59 +0000 (12:07 +0000)]
Call the node freestorage callback _before_ actually freeing sockets, since this is also responsible for freeing possible socket storage data.

9 years agoWhen adding a file output socket make it active, for convenience. Also move back...
Lukas Toenne [Thu, 1 Mar 2012 11:41:15 +0000 (11:41 +0000)]
When adding a file output socket make it active, for convenience. Also move back one index when deleting the last.

9 years agoFix for Multilayer EXR API. This was using implementation stubs directly in the heade...
Lukas Toenne [Thu, 1 Mar 2012 11:19:41 +0000 (11:19 +0000)]
Fix for Multilayer EXR API. This was using implementation stubs directly in the header file, causing problems with scons in particular.

9 years agoFix for wrong channel number in ImBuf when file node output format is something other...
Lukas Toenne [Thu, 1 Mar 2012 08:47:32 +0000 (08:47 +0000)]
Fix for wrong channel number in ImBuf when file node output format is something other than RGBA. This doesn't get set in the init function, has to be done manually (i guess?).

9 years ago* Removed DNA_DEPRECATED tag from old NodeImageFile struct typedef, it doesn't work...
Lukas Toenne [Thu, 1 Mar 2012 08:17:16 +0000 (08:17 +0000)]
* Removed DNA_DEPRECATED tag from old NodeImageFile struct typedef, it doesn't work that way (duh)

* Moved format field and added (deprecated) sfra and efra ints to ensure some forward compatibility of file output node. Earlier blender versions will simple interpret the struct as NodeFileImage, so by matching the first fields the numbers can stay somewhat valid.

9 years agoA number of improvements for the file output node(s).
Lukas Toenne [Thu, 1 Mar 2012 07:56:15 +0000 (07:56 +0000)]
A number of improvements for the file output node(s).

only CMP_NODE_OUTPUT_FILE remains. All functions renamed accordingly.

2) do_versions code for converting single-file output nodes into multi-file
output nodes. If a Z buffer input is used, the node is made into a multilayer
exr with two inputs. (see below). Also re-identifies multi-file output nodes
with the CMP_NODE_OUTPUT_FILE type.

3) "Global" format is stored in node now. By default this overrides any
per-socket settings.

4) Multilayer EXR output implemented. When M.EXR format is selected for node
format, all socket format details are ignored. Socket names are used for layer

5) Input buffer types are used as-is when possible, i.e. stored as B/W, RGB or
RGBA. In regular file output the format dictates the number of actual channels,
so the CompBuf is typechecked to the right type first. For multilayer EXR the
number of channels is more flexible, so an input buffer will store only the
channels it actually uses.

6) The editor socket type is updated from linked sockets as an indicator of the
actual data written to files. This may not be totally accurate for regular file
output though, due to restrictions of format setting.

9 years agoFix crash on edge slide when object has got multires modifier
Sergey Sharybin [Thu, 1 Mar 2012 07:10:45 +0000 (07:10 +0000)]
Fix crash on edge slide when object has got multires modifier

Issue was caused by fix for slide+automerge bug resulted in accessing to freed memory
from multires projection code. Solved by moving multires projection from cleanup callback
to special_aftertrans_update.

Patch by Antony Riakiotakis with some own corrections.

9 years agoRemove struct NgonInterpModifierData and related ModifierType Info.
Nicholas Bishop [Thu, 1 Mar 2012 02:20:10 +0000 (02:20 +0000)]
Remove struct NgonInterpModifierData and related ModifierType Info.

This modifier was already removed in r44288, looks like these were
just missed.

9 years agofix [#29135] NGons dont work with loop cut
Campbell Barton [Wed, 29 Feb 2012 17:23:41 +0000 (17:23 +0000)]
fix [#29135] NGons dont work with loop cut

patch by Andrew Wiggin

9 years agoChanges to startup.blend:
Sergey Sharybin [Wed, 29 Feb 2012 17:01:43 +0000 (17:01 +0000)]
Changes to startup.blend:

- Pinch/Magnify brush isn't available from vertex paint mode anymore.
- Switch default texture to Low Quality bump method
  The same method is used for new textures and it makes possible to
  view bump in 3D viewport with GLSL shading.
- Anisotropic filtering is set to 2x by default.

9 years agoadd an assert for inserting an egde with the same vertices and a BMESH_TODO for bevel.
Campbell Barton [Wed, 29 Feb 2012 16:29:09 +0000 (16:29 +0000)]
add an assert for inserting an egde with the same vertices and a BMESH_TODO for bevel.

9 years agoerror in recent header commit.
Campbell Barton [Wed, 29 Feb 2012 15:42:34 +0000 (15:42 +0000)]
error in recent header commit.

9 years agoMistake in previous commit test for API vert new: it failed for no-arg case.
Howard Trickey [Wed, 29 Feb 2012 15:35:10 +0000 (15:35 +0000)]
Mistake in previous commit test for API vert new: it failed for no-arg case.

9 years agouse floats rather then doubles for bmesh poly functions.
Campbell Barton [Wed, 29 Feb 2012 15:21:09 +0000 (15:21 +0000)]
use floats rather then doubles for bmesh poly functions.

9 years agoUndid part of commit 44552: can't use mathutils on doubles
Howard Trickey [Wed, 29 Feb 2012 15:10:01 +0000 (15:10 +0000)]
Undid part of commit 44552: can't use mathutils on doubles

9 years agoCode Cleanup: remove non existing function declarations.
Campbell Barton [Wed, 29 Feb 2012 15:00:37 +0000 (15:00 +0000)]
Code Cleanup: remove non existing function declarations.

added some missing functions too - which are not used yep but should be there for api completeness.
* CDDM_set_mloop
* CDDM_set_mpoly
* BLI_mempool_count

9 years agoFix #30328: Crash when using edge slide
Sergey Sharybin [Wed, 29 Feb 2012 14:32:09 +0000 (14:32 +0000)]
Fix #30328: Crash when using edge slide

Looks like it was missed BMesh element index for faces in emDM_drawMappedFacesMat.
There was already call of BM_mesh_elem_index_ensure to ensure there's element
index for vertices, added flag to ensure there's also index for faces.

9 years agoCode cleanup, no functional change: use mathutils copy
Howard Trickey [Wed, 29 Feb 2012 14:23:31 +0000 (14:23 +0000)]
Code cleanup, no functional change: use mathutils copy

Also renamed a variable to make intent clearer (else seemed like
there was a bug).

9 years agoFix 30401: Python API vert new((0,0,0)) crashes.
Howard Trickey [Wed, 29 Feb 2012 14:16:35 +0000 (14:16 +0000)]
Fix 30401: Python API vert new((0,0,0)) crashes.

Thanks to Campbell for fix, adding an & to an arg.
Also needed to negate the sense of a later test.

9 years agoUI: change shortcut to clear value in button with mouse over it (for the second
Brecht Van Lommel [Wed, 29 Feb 2012 14:10:12 +0000 (14:10 +0000)]
UI: change shortcut to clear value in button with mouse over it (for the second
time, sorry), from delete to backspace. Delete did not work on buttons in nodes,
because it would delete the node itself or if we changed the priority interfere
with deleting nodes if the cursor was placed accidentally over a button in a node.

Patch by Damir Prebeg.

9 years agobmesh py api - initial support for selection history.
Campbell Barton [Wed, 29 Feb 2012 14:05:03 +0000 (14:05 +0000)]
bmesh py api - initial support for selection history.

9 years agoBoolean modifier:
Sergey Sharybin [Wed, 29 Feb 2012 13:48:19 +0000 (13:48 +0000)]
Boolean modifier:

- Fixed convex quad detection (in some special cases non-convex quad was detecting as convex)
- Do not add faces with zero area to the output object.

This should resolve #30395: Degenerated triangles from BMesh + Difference

9 years agoCompilation error fix for recent indicer refactor commit.
Sergey Sharybin [Wed, 29 Feb 2012 13:17:11 +0000 (13:17 +0000)]
Compilation error fix for recent indicer refactor commit.

9 years agoReverting poll changes of last commit.
Joerg Mueller [Wed, 29 Feb 2012 12:11:06 +0000 (12:11 +0000)]
Reverting poll changes of last commit.

9 years agoRefactor of proxies build operators
Sergey Sharybin [Wed, 29 Feb 2012 12:08:26 +0000 (12:08 +0000)]
Refactor of proxies build operators

Split proxy build operator into three parts:
- Prepare context (IMB_anim_index_rebuild_context) which prepares all
  needed data and stores it in an anonymous structure used by specific
  builder lately.
- Build proxies/timecodes into temporary files (IMB_anim_index_rebuild)
  This function will build all selected proxies/timecodes into a temporary
  files so old proxies will be still available during building.
- Finish building proxies (IMB_anim_index_rebuild_finish) which copies
  temporary files over old proxies filed and releases all resources used
  by a context.

Context creation and finishing building happens in a main thread so
it's easy and safe to close all opened handles of proxies files and
refresh cache after rebuilding is finished.

This should finally fix #30315: Temporary proxy files are not erased and old proxys are not updated if the proxy is built more then once (windows)

9 years agoMaking crossfading sounds accessible in the sequencer menu.
Joerg Mueller [Wed, 29 Feb 2012 11:23:27 +0000 (11:23 +0000)]
Making crossfading sounds accessible in the sequencer menu.

9 years agoCode cleanup: replace a few macros in CCGSubSurf with inline functions.
Nicholas Bishop [Wed, 29 Feb 2012 08:35:23 +0000 (08:35 +0000)]
Code cleanup: replace a few macros in CCGSubSurf with inline functions.

9 years agoupdate doxygen comments for bmesh.
Campbell Barton [Wed, 29 Feb 2012 06:55:10 +0000 (06:55 +0000)]
update doxygen comments for bmesh.

9 years agoAdd blenlib function to initialize vectors from a single float.
Nicholas Bishop [Wed, 29 Feb 2012 04:17:26 +0000 (04:17 +0000)]
Add blenlib function to initialize vectors from a single float.

The new functions are copy_v2_fl, copy_v3_fl, and copy_v4_fl.

9 years agondof button handling improvements: Spaceball5000's A,B,C buttons can now be keymapped...
Mike Erwin [Wed, 29 Feb 2012 02:44:08 +0000 (02:44 +0000)]
ndof button handling improvements: Spaceball5000's A,B,C buttons can now be keymapped, ndof modifiers (shift,alt,etc.) are almost ready but still hardcoded to act like keyboard for now. added a check to prevent crash on Linux when device is plugged in after blender starts. also fixed a bug introduced by my last commit that affected the SpaceTraveler and serial devices.

9 years agoBugfix: vertexpaint blur brush was broken.
Nicholas Bishop [Wed, 29 Feb 2012 00:14:58 +0000 (00:14 +0000)]
Bugfix: vertexpaint blur brush was broken.

Just a minor loop iteration bug.

9 years agoCode cleanup for the neighbor_average() sculpt function.
Nicholas Bishop [Tue, 28 Feb 2012 23:08:40 +0000 (23:08 +0000)]
Code cleanup for the neighbor_average() sculpt function.

Moved some of the code into a couple new mesh functions for searching
in poly loops to simplify the function, the rest is just cosmetic

9 years agoStyle Cleanup, no functional changes.
Campbell Barton [Tue, 28 Feb 2012 22:54:09 +0000 (22:54 +0000)]
Style Cleanup, no functional changes.

9 years agofix [#30367] Face Fills Crossed
Campbell Barton [Tue, 28 Feb 2012 22:52:09 +0000 (22:52 +0000)]
fix [#30367] Face Fills Crossed

when making a quad from 2 edges - it was comparing the edge lengths to avoid making a bowtie quad. but this doesnt work in all cases, now compare normals instead.

9 years agoFix a couple typos in comments.
Nicholas Bishop [Tue, 28 Feb 2012 20:55:55 +0000 (20:55 +0000)]
Fix a couple typos in comments.

9 years agoAdd solid background behind text in search menu.
Nicholas Bishop [Tue, 28 Feb 2012 20:46:55 +0000 (20:46 +0000)]
Add solid background behind text in search menu.

This fixes the issue of text being hard to read due to (e.g.) black
text on a dark icon.

Reviewed by Brecht:

9 years agofix for leak in bmo_edgenet_fill_exec and remove invalid comment.
Campbell Barton [Tue, 28 Feb 2012 20:06:52 +0000 (20:06 +0000)]
fix for leak in bmo_edgenet_fill_exec and remove invalid comment.

9 years agoCycles: fix AO pass not rendering with AO enabled for world, and make mask
Brecht Van Lommel [Tue, 28 Feb 2012 19:43:33 +0000 (19:43 +0000)]
Cycles: fix AO pass not rendering with AO enabled for world, and make mask
layers work more like blender internal.

9 years agocode cleanup: de-duplicate bmesh face creation code,
Campbell Barton [Tue, 28 Feb 2012 19:30:44 +0000 (19:30 +0000)]
code cleanup: de-duplicate bmesh face creation code,

9 years agoCode Cleanup:
Campbell Barton [Tue, 28 Feb 2012 19:10:53 +0000 (19:10 +0000)]
Code Cleanup:
- apply some rules for function naming conventions, added to main bmesh doc in bmesh.h.
- remove unused function BM_loops_to_corners().

9 years agomore header re-arranging.
Campbell Barton [Tue, 28 Feb 2012 18:28:30 +0000 (18:28 +0000)]
more header re-arranging.

Some function comments were in headers, some in the C files, some in both.
Moved function comments from headers into the C files.

9 years agobmesh: re-arrange headers
Campbell Barton [Tue, 28 Feb 2012 16:47:12 +0000 (16:47 +0000)]
bmesh: re-arrange headers

9 years agoCycles: ambient occlusion support, with AO factor and distance, and a render pass.
Brecht Van Lommel [Tue, 28 Feb 2012 16:45:08 +0000 (16:45 +0000)]
Cycles: ambient occlusion support, with AO factor and distance, and a render pass.

9 years agoCycles: fix msvc compile warning, patch by Jason Wilkins.
Brecht Van Lommel [Tue, 28 Feb 2012 16:45:01 +0000 (16:45 +0000)]
Cycles: fix msvc compile warning, patch by Jason Wilkins.

9 years agoCycles: support for camera rendering an environment map with equirectangular
Brecht Van Lommel [Tue, 28 Feb 2012 16:44:54 +0000 (16:44 +0000)]
Cycles: support for camera rendering an environment map with equirectangular
environment map, by enabling the Panorama option in the camera.

The focal length or sensor settings are not used, the UI can be tweaked still to
communicate this, also panorama should probably become a proper camera type like
perspective or ortho.

9 years agoCycles: support for mask layers in render layer, this has the same effect as
Brecht Van Lommel [Tue, 28 Feb 2012 16:44:45 +0000 (16:44 +0000)]
Cycles: support for mask layers in render layer, this has the same effect as
assigning holdout shaders to every object in the specified layers.

9 years agoCycles: extra OpenCL NULL point check, maybe avoids some crashes. Don't think
Brecht Van Lommel [Tue, 28 Feb 2012 16:44:36 +0000 (16:44 +0000)]
Cycles: extra OpenCL NULL point check, maybe avoids some crashes. Don't think
this should ever happen in practice but maybe it does anyway.

9 years agocode cleanup,
Campbell Barton [Tue, 28 Feb 2012 16:29:48 +0000 (16:29 +0000)]
code cleanup,
- bmesh_newcore.c -> bmesh_core.c.
- add bmesh_interp header.

9 years agocode cleanup: use float vector size in function definitions, and const's where the...
Campbell Barton [Tue, 28 Feb 2012 14:05:00 +0000 (14:05 +0000)]
code cleanup: use float vector size in function definitions, and const's where the values are unchanged.

9 years agofix [#30361] Edge Length will not be diplayed properly with Clipping Borders
Campbell Barton [Tue, 28 Feb 2012 13:18:20 +0000 (13:18 +0000)]
fix [#30361] Edge Length will not be diplayed properly with Clipping Borders

the clipping test done for text drawing was called with local=FALSE, however with mesh info text this needs the local argument to be set.

9 years agocode cleanup: make clipping enable/disable into functions (was being done inline...
Campbell Barton [Tue, 28 Feb 2012 13:03:56 +0000 (13:03 +0000)]
code cleanup: make clipping enable/disable into functions (was being done inline in drawobject.c)

9 years agoFix UI error - some curve settings were in the path panel and were greyed out when...
Campbell Barton [Tue, 28 Feb 2012 11:18:05 +0000 (11:18 +0000)]
Fix UI error - some curve settings were in the path panel and were greyed out when 'Path Animation' was disabled, but were infact used for the curve deform modifier.

noticed while looking into bug [#30349].

Move these settings under the main curves panel under text "Path / Curve-Deform:"

9 years agofix for issue reported in bug [#30381], though it doesn't deal with the crash.
Campbell Barton [Tue, 28 Feb 2012 10:22:21 +0000 (10:22 +0000)]
fix for issue reported in bug [#30381], though it doesn't deal with the crash.

calling DM_ensure_tessface() on an DM_TYPE_EDITBMESH does nothing, which is OK but was printing a warning.

9 years agocode cleanup:
Campbell Barton [Tue, 28 Feb 2012 09:48:00 +0000 (09:48 +0000)]
code cleanup:

use bmo_* prefix for operator defs, was confusing with bmesh_* api functions.

9 years agoCode Cleanup
Campbell Barton [Tue, 28 Feb 2012 08:17:53 +0000 (08:17 +0000)]
Code Cleanup

* remove one the changes to fix #30374, instead just check if the face exists.
* remove some unneeded edge checks in BM_face_create_quad_tri_v().

9 years agoCode Cleanup: bmesh
Campbell Barton [Tue, 28 Feb 2012 07:42:48 +0000 (07:42 +0000)]
Code Cleanup: bmesh
* remove unneeded struct's from headers.
* give argument names for return ** pointers r_ prefix.

9 years agofix [#30374] Can't Fill Triangular Face
Campbell Barton [Tue, 28 Feb 2012 07:19:28 +0000 (07:19 +0000)]
fix [#30374] Can't Fill Triangular Face

the problem was a triangle couldnt be made when there was a quad that used 3 of the verts.

* now check if overlapping face has same length as the one to be created.
* an unrelated fix - the output of a triangle was not being flagged by the bmesh_contextual_create operator.

9 years agorevert r44503, (left patch file in for now), this gives an error with gcc:
Campbell Barton [Tue, 28 Feb 2012 05:50:02 +0000 (05:50 +0000)]
revert r44503, (left patch file in for now), this gives an error with gcc:
 extern/libmv/third_party/glog/src/ error: undefined reference to 'google::InstallFailureFunction(void (*)())'

9 years agopatch [#30331] Support clang-3.0
Campbell Barton [Tue, 28 Feb 2012 05:26:15 +0000 (05:26 +0000)]
patch [#30331] Support clang-3.0
from Yasuhiro Fujii (y-fujii)

 added the diff to libmv/patches so it can be applied upstream.

9 years agopatch [#30331] Support clang-3.0
Campbell Barton [Tue, 28 Feb 2012 05:19:54 +0000 (05:19 +0000)]
patch [#30331] Support clang-3.0
from Yasuhiro Fujii (y-fujii)

only small part of the patch for now.

9 years agobmesh py api - element hide_set() function which flushes hidden state.
Campbell Barton [Tue, 28 Feb 2012 05:02:34 +0000 (05:02 +0000)]
bmesh py api - element hide_set() function which flushes hidden state.

9 years agoBugfix: avoid reading from an OpenGL buffer mapped write-only.
Nicholas Bishop [Tue, 28 Feb 2012 05:00:28 +0000 (05:00 +0000)]
Bugfix: avoid reading from an OpenGL buffer mapped write-only.

When set to solid-shading, GPU_update_grid_buffers was calling
normal_quad_v3 to output into a mapped buffer, but normal_quad_v3
reads as well as writes.

This fix actually makes a huge performance difference with my drivers

9 years agoRemove DerivedMesh.getFaceMap and create_vert_face_map().
Nicholas Bishop [Tue, 28 Feb 2012 04:00:56 +0000 (04:00 +0000)]
Remove DerivedMesh.getFaceMap and create_vert_face_map().

Not used anymore, both have BMesh replacements (DerivedMesh.getPolyMap
and create_vert_poly_map.)

9 years agoBMesh: use MPoly rather than MFace in multiresModifier_base_apply
Nicholas Bishop [Tue, 28 Feb 2012 03:54:31 +0000 (03:54 +0000)]
BMesh: use MPoly rather than MFace in multiresModifier_base_apply

9 years agoBugfix for Python errors in 3D View texture paint toolbar.
Nicholas Bishop [Tue, 28 Feb 2012 02:08:32 +0000 (02:08 +0000)]
Bugfix for Python errors in 3D View texture paint toolbar.

The stencil- and clone-layer menus were printing errors when the mesh
had no UV layers due to directly accessing layer names. Fixed by
setting menu text to empty if no UV layers exist.

Also changed the checkbox label for cloning from another UV layer to
read 'Clone' rather than 'Layer'.

9 years agoBugfix for clipping of SEARCH_MENU icon text.
Nicholas Bishop [Tue, 28 Feb 2012 01:55:27 +0000 (01:55 +0000)]
Bugfix for clipping of SEARCH_MENU icon text.

For the preview-icon search menu (used for example in brush
selection), clip the text so that long names don't flow out into the
space between columns.

9 years agobmesh code cleanup - remove most of BKE_bmesh and remove BKE_bmeshCustomData.h.
Campbell Barton [Mon, 27 Feb 2012 21:33:30 +0000 (21:33 +0000)]
bmesh code cleanup - remove most of BKE_bmesh and remove BKE_bmeshCustomData.h.

9 years agomove bmesh wiki docs into bmesh header and update doxygen.
Campbell Barton [Mon, 27 Feb 2012 20:27:19 +0000 (20:27 +0000)]
move bmesh wiki docs into bmesh header and update doxygen.
also have doxygen ignore *.py files and fix some warnings.

9 years agoQuite a warning (unused param in func), was preventing debug build...
Bastien Montagne [Mon, 27 Feb 2012 18:20:58 +0000 (18:20 +0000)]
Quite a warning (unused param in func), was preventing debug build...

9 years agoVarious fixes to UI messages (among other things, all messages needed it should now...
Bastien Montagne [Mon, 27 Feb 2012 18:14:56 +0000 (18:14 +0000)]
Various fixes to UI messages (among other things, all messages needed it should now be capitalized).

9 years agofix for error in python context.copy(), calling in byttons view would raise an exception.
Campbell Barton [Mon, 27 Feb 2012 18:08:31 +0000 (18:08 +0000)]
fix for error in python context.copy(), calling in byttons view would raise an exception.

buttons view used incorrect return value. -1 is for valid but not set (could use defines/enum here).

9 years agoImplements a new operator for detaching nodes. In the process i overhauled the node...
Lukas Toenne [Mon, 27 Feb 2012 17:38:16 +0000 (17:38 +0000)]
Implements a new operator for detaching nodes. In the process i overhauled the node muting system as well.

There are a number of features that use a kind of "internal linking" in nodes:
1. muting
2. delete + reconnect (restore link to/from node after delete)
3. the new detach operator (same as 2, but don't delete the node)

The desired behavior in all cases is the same: find a sensible mapping of inputs-to-outputs of a node. In the case of muting these links are displayed in red on the node itself. For the other operators they are used to relink connections, such that one gets the best possible ongoing link between previous up- and downstream nodes.

Muting previously used a complicated callback system to ensure consistent behavior in the editor as well as execution in compositor, shader cpu/gpu and texture nodes. This has been greatly simplified by moving the muting step into the node tree localization functions. Any muted node is now bypassed using the generalized nodeInternalRelink function and then removed from the local tree. This way the internal execution system doesn't have to deal with muted nodes at all, as if they are non-existent.

The same function is also used by the delete_reconnect and the new links_detach operators (which work directly in the editor node tree). Detaching nodes is currently keymapped as a translation variant (macro operator): pressing ALTKEY + moving node first detaches and then continues with regular transform operator. The default key is ALT+DKEY though, instead ALT+GKEY, since the latter is already used for the ungroup operator.

9 years agoFix: confirming edge slide with factor 0 and automerge turned on would delete the...
Antony Riakiotakis [Mon, 27 Feb 2012 16:45:48 +0000 (16:45 +0000)]
Fix: confirming edge slide with factor 0 and automerge turned on would delete the selected edges. Caused by automerging the edges with temporary geometry used for the operation, that was getting deleted later. Now deleting the temporary geometry before automerging.

9 years agofix for problem that happened since bmesh mere mesh.from_py_data() - edge data for...
Campbell Barton [Mon, 27 Feb 2012 16:14:08 +0000 (16:14 +0000)]
fix for problem that happened since bmesh mere mesh.from_py_data() - edge data for faces was being lost on entering editmode, now check for empty edge list and make edges in that case.

9 years agobmesh py api - loop vert/edge/face attributes.
Campbell Barton [Mon, 27 Feb 2012 15:20:54 +0000 (15:20 +0000)]
bmesh py api - loop vert/edge/face attributes.

9 years agobmesh minor api edits to be a little more typesafe.
Campbell Barton [Mon, 27 Feb 2012 14:57:09 +0000 (14:57 +0000)]
bmesh minor api edits to be a little more typesafe.

9 years agominor bmesh api naming edits.
Campbell Barton [Mon, 27 Feb 2012 14:07:19 +0000 (14:07 +0000)]
minor bmesh api naming edits.

9 years agoCode Cleanup:
Campbell Barton [Mon, 27 Feb 2012 13:47:53 +0000 (13:47 +0000)]
Code Cleanup:
* made bmesh_structure.h function names more consistant.
* remove unused code in bmesh_structure.c
* removed 'Edge Flip' operator (missing from bmesh but looked into trunk feature and dont think its worth keeping).
* tagged  some BMESH_TODO's

9 years agoSelect edge loop and edge rings operators can't be redone form history menu
Sergey Sharybin [Mon, 27 Feb 2012 12:53:23 +0000 (12:53 +0000)]
Select edge loop and edge rings operators can't be redone form history menu
so registering them seems to be kind of useless because things like deleting
edge loops with Shift-R command is impossible.

This commit will resolve issue #30375: Loop Select should not become a Redo History Item.

9 years agoFew files had got +x mode which seems to be totally unnecessary.
Sergey Sharybin [Mon, 27 Feb 2012 12:48:06 +0000 (12:48 +0000)]
Few files had got +x mode which seems to be totally unnecessary.

9 years agoupdate bmesh design doc and added some comments to the code from it.
Campbell Barton [Mon, 27 Feb 2012 12:25:47 +0000 (12:25 +0000)]
update bmesh design doc and added some comments to the code from it.

9 years agostyle cleanup (mostly whitespace)
Campbell Barton [Mon, 27 Feb 2012 10:35:39 +0000 (10:35 +0000)]
style cleanup (mostly whitespace)

9 years agofix for emitting particles (needed tessfaces).
Campbell Barton [Mon, 27 Feb 2012 09:37:59 +0000 (09:37 +0000)]
fix for emitting particles (needed tessfaces).

this fixes the cloud-gen addon.

9 years agoCode cleanup, remove redefinition of UNUSED macro.
Nicholas Bishop [Mon, 27 Feb 2012 02:46:25 +0000 (02:46 +0000)]
Code cleanup, remove redefinition of UNUSED macro.

Patch from Jason Wilkins:

9 years agouse LIKELY/UNLIKELY macros for operations that run a lot.
Campbell Barton [Sun, 26 Feb 2012 23:59:08 +0000 (23:59 +0000)]
use LIKELY/UNLIKELY macros for operations that run a lot.

9 years agostyle cleanup
Campbell Barton [Sun, 26 Feb 2012 22:38:49 +0000 (22:38 +0000)]
style cleanup