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

8 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.

8 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.

8 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.

8 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
changes.

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

8 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.

8 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.

8 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.

Example: http://www.pasteall.org/pic/show.php?id=27401
Reviewed by Brecht: http://codereview.appspot.com/5699098/

8 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.

8 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.

8 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,

8 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().

8 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.

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

8 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.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/World#Ambient_Occlusion
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Passes#Lighting_Passes

8 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.

8 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.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Camera#Panorama

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.

8 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.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Passes#Layers

8 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.

8 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.

8 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.

8 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.

8 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)

8 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:"

8 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.

8 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.

8 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().

8 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.

8 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.

8 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/utilities.cc:318: error: undefined reference to 'google::InstallFailureFunction(void (*)())'

8 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.

8 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.

8 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.

8 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
(Gallium/Radeon).

8 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.)

8 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

8 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'.

8 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.

8 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.

8 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.

8 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...

8 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).

8 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).

8 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.

8 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.

8 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.

8 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.

8 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.

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

8 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

8 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.

8 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.

8 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.

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

8 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.

8 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:
http://projects.blender.org/tracker/index.php?func=detail&aid=30350&group_id=9&atid=127

8 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.

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

8 years agondof: unified button handling for modern 3Dx devices, also first steps toward keymapp...
Mike Erwin [Sun, 26 Feb 2012 22:18:16 +0000 (22:18 +0000)]
ndof: unified button handling for modern 3Dx devices, also first steps toward keymappable modifiers (shift,ctrl,etc.)

8 years agoFixing a crash when converting physics objects in the Game Engine.
Daniel Stokes [Sun, 26 Feb 2012 21:57:51 +0000 (21:57 +0000)]
Fixing a crash when converting physics objects in the Game Engine.

8 years agofix for a bmesh glitch when making a face (Fkey).
Campbell Barton [Sun, 26 Feb 2012 21:32:20 +0000 (21:32 +0000)]
fix for a bmesh glitch when making a face (Fkey).

On a place, Ctrl+T, Fkey would create a quad overlapping the 2 Tris.

Now this case is checked for in a general way - if the bounds of the face are already filled in with faces (that _only_ use these edges-verts), then dont create the face.

This is an option for the 'edgenet_fill' operator, since creating the face isnt incorrect, just not-what-you-want mostly.

added functions
* BM_edge_share_vert - returns shared vert between 2 edges.
* BM_face_exists_multi, BM_face_exists_multi_edge - check if existing faces fill the edge bounds.
* also add BM_ELEM_INTERNAL_TAG so low level functions can tag without conflicting with higher level functions that also rely on tagging elements.

8 years agobmesh api name change, add _count suffix for BM_*_share functions.
Campbell Barton [Sun, 26 Feb 2012 19:46:12 +0000 (19:46 +0000)]
bmesh api name change, add _count suffix for BM_*_share functions.

8 years agomodified fix for "Fix [#30351] Solidify Modifier High Quality Normals fails." from...
Campbell Barton [Sun, 26 Feb 2012 18:12:01 +0000 (18:12 +0000)]
modified fix for "Fix [#30351] Solidify Modifier High Quality Normals fails." from r44464.

rather then recalc polygon normals - solidify is simple enough to just flip the normals of the copied faces, the rim faces normals are already re-calculated so copy them.

8 years agofix for build error with non debug builds from last commit.
Campbell Barton [Sun, 26 Feb 2012 17:24:04 +0000 (17:24 +0000)]
fix for build error with non debug builds from last commit.

8 years ago* bmesh py api BMEdge.verts was using 2 v1's
Campbell Barton [Sun, 26 Feb 2012 17:20:36 +0000 (17:20 +0000)]
* bmesh py api BMEdge.verts was using 2 v1's
* bmesh pu api __repr__ functions for mesh data.
* correct py hash defines.

8 years agoMissed Scons update for MinGW boost
Antony Riakiotakis [Sun, 26 Feb 2012 16:54:20 +0000 (16:54 +0000)]
Missed Scons update for MinGW boost

8 years agoreplace BMESH_ERROR with BMESH_ASSERT, most areas it was used are better suited to...
Campbell Barton [Sun, 26 Feb 2012 16:39:21 +0000 (16:39 +0000)]
replace BMESH_ERROR with BMESH_ASSERT, most areas it was used are better suited to an assert anyway.

also tag all error cases as UNLIKELY() for better branch prediction.

8 years agoFix [#30351] Solidify Modifier High Quality Normals fails.
Bastien Montagne [Sun, 26 Feb 2012 15:38:28 +0000 (15:38 +0000)]
Fix [#30351] Solidify Modifier High Quality Normals fails.

Don't really know why, but appears we need to recalc normals when this option is ON.

Also small perf improvement (avoid to compute twice each face normals).

8 years agoreplace bmesh_error with macro that gives the file/line/func the error happens on.
Campbell Barton [Sun, 26 Feb 2012 14:57:41 +0000 (14:57 +0000)]
replace bmesh_error with macro that gives the file/line/func the error happens on.

8 years agoDisable fancy scons output for buildbot. Should make reading build logs a bit more...
Sergey Sharybin [Sun, 26 Feb 2012 10:47:50 +0000 (10:47 +0000)]
Disable fancy scons output for buildbot. Should make reading build logs a bit more easier.

8 years agoChange boost librarie names for MinGW to use the recently added libraries
Antony Riakiotakis [Sun, 26 Feb 2012 09:28:06 +0000 (09:28 +0000)]
Change boost librarie names for MinGW to use the recently added libraries

8 years agoFix #30254: VSE: no red warning border on metastrips with Extend (E)
Sergey Sharybin [Sun, 26 Feb 2012 09:19:48 +0000 (09:19 +0000)]
Fix #30254: VSE: no red warning border on metastrips with Extend (E)

8 years agoFix #30337: missed Set Origin for Metaball
Sergey Sharybin [Sun, 26 Feb 2012 08:55:31 +0000 (08:55 +0000)]
Fix #30337: missed Set Origin for Metaball

Implemented Set Origin operator for Meta Balls.

8 years agoFixed for selected bundles drawing in 3D viewport:
Sergey Sharybin [Sun, 26 Feb 2012 08:14:14 +0000 (08:14 +0000)]
Fixed for selected bundles drawing in 3D viewport:

- If track was hidded in clip editor it wasn't highlighted in 3d viewport
  even if it's selected.
- If two tracks has got the same bundle coordinate and one of them is
  selected it might not be highlighted in 3d viewport because of
  draw order.

8 years agobmesh py api, add another interpolation function.
Campbell Barton [Sun, 26 Feb 2012 07:16:50 +0000 (07:16 +0000)]
bmesh py api, add another interpolation function.
BMVert.copy_from_vert_interp(vert_pair, fac)

8 years agoStyle cleanup: remove underscore prefix from CCG struct names.
Nicholas Bishop [Sun, 26 Feb 2012 06:50:54 +0000 (06:50 +0000)]
Style cleanup: remove underscore prefix from CCG struct names.

8 years agobmesh - remove faces with <3 sides after dissolve/collapse (most tools already did...
Campbell Barton [Sun, 26 Feb 2012 05:48:12 +0000 (05:48 +0000)]
bmesh - remove faces with <3 sides after dissolve/collapse (most tools already did this).

8 years agochange vertex dissolve not to collapse edges when its only connected to 2, rather...
Campbell Barton [Sun, 26 Feb 2012 05:04:30 +0000 (05:04 +0000)]
change vertex dissolve not to collapse edges when its only connected to 2, rather then joining the faces on either side.

This way. IMHO is more useful since it means you can simplify the geometry between faces without joining them and it distinguishes vertex dissolve more from edge dissolve - which will join both faces still.

8 years agoCode cleanup: clarify multiresModifier_disp_run modes.
Nicholas Bishop [Sun, 26 Feb 2012 04:40:56 +0000 (04:40 +0000)]
Code cleanup: clarify multiresModifier_disp_run modes.

Previously the function took 'invert' and 'add' parameters to indicate
what operation should be performed on the displacements, replaced
these with three named modes: APPLY_DISPLACEMENTS, CALC_DISPLACEMENTS,
and ADD_DISPLACEMENTS.

8 years agofix for a bug in bmesh_jekv (and its main caller BM_vert_collapse_faces).
Campbell Barton [Sun, 26 Feb 2012 04:38:37 +0000 (04:38 +0000)]
fix for a bug in bmesh_jekv (and its main caller BM_vert_collapse_faces).

Collapsing an edge could result on 2 edges sharing the same verts, now check for this and 'splice' one edge into another.

8 years agofix for vertex dissolve not doing anything with a single vertex on a single face.
Campbell Barton [Sun, 26 Feb 2012 00:43:47 +0000 (00:43 +0000)]
fix for vertex dissolve not doing anything with a single vertex on a single face.
now collapse the vertex into the edges.

also disable removing the vertrex when it could not be collapsed (old code), found it could would connected faces which isn't acceptable - now return fail in that case.

8 years agobmesh python api
Campbell Barton [Sat, 25 Feb 2012 23:56:20 +0000 (23:56 +0000)]
bmesh python api
* BMLoop attributes link_loop_next/prev
* BMVert.copy_from_face_interp

8 years agobmesh code cleanup
Campbell Barton [Sat, 25 Feb 2012 23:41:31 +0000 (23:41 +0000)]
bmesh code cleanup
* minor edits to header
* make BM_vert_dissolve() easier to read.

8 years agofix [#30352] Dissolving a vert in an edgeloop (no faces) just deletes the verts killi...
Campbell Barton [Sat, 25 Feb 2012 23:29:12 +0000 (23:29 +0000)]
fix [#30352] Dissolving a vert in an edgeloop (no faces) just deletes the verts killing connections

collapse the vertex into an edge when it has 2 edges connected to it.

8 years agobmesh api cleanup
Campbell Barton [Sat, 25 Feb 2012 22:23:40 +0000 (22:23 +0000)]
bmesh api cleanup
* better type safety for BM_elem_flag_* and BM_elem_index_* functions.
* add BMElem type to be used where BMFace/Edge/Vert/Loop can be interchanged.
* fix bug in select manifold, found when making functions more strict.

8 years agominor style edits
Campbell Barton [Sat, 25 Feb 2012 21:27:45 +0000 (21:27 +0000)]
minor style edits
- use GL_TRUE/FALSE for glLightModeli
- use set for python checks against multiple string values.

8 years agoadjustment to r44436.
Campbell Barton [Sat, 25 Feb 2012 21:15:02 +0000 (21:15 +0000)]
adjustment to r44436.

dont set the header text multiple times when many objects are selected, instead just print the difference thats applied.

when theres a single object selected, behavior us unchanged.

8 years agobmesh code cleanup
Campbell Barton [Sat, 25 Feb 2012 20:58:03 +0000 (20:58 +0000)]
bmesh code cleanup
* change BMO_elem_flag_* defines to inline functions.
* BMO_slot_map_insert() is too big for an inline function - un-inline it.
* remove redundant casts.

8 years agoPatch [#30341] by Davis Sorenson (dsavi). Thanks!
Thomas Dinges [Sat, 25 Feb 2012 19:49:23 +0000 (19:49 +0000)]
Patch [#30341] by Davis Sorenson (dsavi). Thanks!

* Now the 3D view header displays value changes, when changing a value in the Object Special value (w-key).

8 years agobmesh api:
Campbell Barton [Sat, 25 Feb 2012 19:43:51 +0000 (19:43 +0000)]
bmesh api:
* added BM_elem_flag_set, BMO_elem_flag_set. to avoid 'if(...) enable(); else disable();' all over the place.
* added bmesh_operator_api_inline.c, the header file was getting messy.

8 years agofix for own error edge tagging sharp.
Campbell Barton [Sat, 25 Feb 2012 18:13:58 +0000 (18:13 +0000)]
fix for own error edge tagging sharp.

8 years agoChanges in double side lighting usage
Sergey Sharybin [Sat, 25 Feb 2012 18:09:39 +0000 (18:09 +0000)]
Changes in double side lighting usage

Disabled double-side lighting by default and changed areas which are using
double sided lighting to switch it off just after doing stuff which requires
double side.

This makes code a bit more simple to follow (no all that disabling double side
lighting all over the code and so).

This change also fixes crash of blender caused by intel gme965 driver which
leads to stack corruption in some place when double side lighting isn't
disabled (probably driver still kind of using double side in some areas or so).

Hopefully it'll also fix #30293: Converting Text to Mesh

Thanks to Campbell to assist writing this patch!

8 years agostyle cleanup, use { on newline after function definition.
Campbell Barton [Sat, 25 Feb 2012 16:49:59 +0000 (16:49 +0000)]
style cleanup, use { on newline after function definition.
spelling 'impliment' -> 'implement'

8 years agocode cleanup: white space, spelling & ';;' end of lines.
Campbell Barton [Sat, 25 Feb 2012 16:04:03 +0000 (16:04 +0000)]
code cleanup: white space, spelling & ';;' end of lines.

8 years agobmesh py api - add funcs
Campbell Barton [Sat, 25 Feb 2012 15:51:39 +0000 (15:51 +0000)]
bmesh py api - add funcs
* BMFace.copy_from_face_interp(face)
* BMLoop.copy_from_face_interp(face, vert=True, multires=True)

These are important for rebuilding geometry from existing faces without loosing UV's, vcols etc.

8 years ago[#30197] Snapping: Align rotation button
Martin Poirier [Sat, 25 Feb 2012 15:14:41 +0000 (15:14 +0000)]
[#30197] Snapping: Align rotation button

Reported by Pep Ribal

Volume snapping was showing invalid options.

8 years agofix for own regression in r44361 (broke BM_vert_in_face)
Campbell Barton [Sat, 25 Feb 2012 14:56:37 +0000 (14:56 +0000)]
fix for own regression in r44361 (broke BM_vert_in_face)

also fix py api: bmesh.utils.face_split(face, v1, v2)

8 years agoOSX: scons: fix own mistake, truncate output of xcode-build -version to major.minor...
Jens Verwiebe [Sat, 25 Feb 2012 11:21:20 +0000 (11:21 +0000)]
OSX: scons: fix own mistake, truncate output of xcode-build -version to major.minor version in config to change the var not only the print

8 years agoOSX: scons: corrected output string of xcode-build -version, so only major/minor...
Jens Verwiebe [Sat, 25 Feb 2012 10:59:32 +0000 (10:59 +0000)]
OSX: scons: corrected output string of xcode-build -version, so only major/minor version is used