4f02555004
new mesh tool for cleaning up meshes, splits up non-planar faces while they exceed a given angle threshold
...
(access from the 'Mesh -> Clean' menu).
2013-07-28 19:53:46 +00:00
c754eaa0f9
add inline functions getting a single axis from mul_m3_v3()
2013-07-28 19:46:33 +00:00
4982f200fa
move alloca define into its own header since its not related to BLI_array
2013-07-28 10:38:25 +00:00
72f2917032
bmesh: skip error checks when building in release mode (minor speedup),
...
also more strict use of BLI_array_declare(), only allow after array is declared.
2013-07-28 09:05:27 +00:00
d68917cb86
code cleanup: typos
2013-07-27 07:02:27 +00:00
8aa1bdbc89
simplify triangle joining and remove use of BLI_array.
2013-07-27 06:45:11 +00:00
6b3abde8d4
fix for joining face selection after recent api change, also bmo_join_triangles_exec() wasn't filling in its 'face' output slot.
2013-07-27 06:11:54 +00:00
a0969adb4e
fix for bridge tool selection flushing (after recent api change), also exposed bug in bmesh edgering-subdiv operator.
2013-07-27 05:57:20 +00:00
5dc3cfc983
fix [ #36282 ] Spin error with non uniform scale
...
add support for passing object matrix to bmesh transform operators.
2013-07-26 11:15:22 +00:00
29df776b89
optimization: call one bmesh operator for rotate (not 3).
...
added pivot_m4() utility function since rotating about an arbitrary point is handy.
2013-07-26 06:12:49 +00:00
09a9aa5720
add twist option to bridge tool (for circular loops)
2013-07-25 19:27:18 +00:00
4bc32d5ded
mesh tool to fill in holes, added in mesh clean menu,
...
unlike other face creation tools it copies data from surrounding faces.
2013-07-25 18:43:05 +00:00
a15e9ca495
triangulate and beauty fill also needed changes to selection handling after recent changes.
2013-07-25 07:00:07 +00:00
3270031660
correct problem with limited-dissolve not leaving the selection correctly (caused by BM_elem_attrs_copy no longer dealing with selection)
2013-07-25 06:05:44 +00:00
19496ab62a
internal bmesh api change: BM_elem_attrs_copy() no longer copies the selection flag.
...
this was slowing down modifiers since the selection flags would be copied and flushed to connected geometry.
2013-07-24 19:31:58 +00:00
cdac157f4c
code cleanup: use iterator macros, and replace BM_LOOPS_OF_FACE with direct loop access when converting a bmesh to a mesh.
2013-07-24 18:38:55 +00:00
57ce6d1470
old todo, rotate around individual origins now supports connected face/edge islands.
...
previously this gave very odd/annoying results, see bug reports [#36134 ], [#35419 ]
2013-07-22 14:50:38 +00:00
7398c49776
add support for BM_mesh_calc_face_groups to use vertex connectivity (not currently used yet)
2013-07-22 08:12:50 +00:00
7db1d6556d
code cleanup: add break statements in switch ()'s, (even at the last case).
2013-07-21 08:16:37 +00:00
a2492e0603
style cleanup: braces/indentation
2013-07-19 16:44:17 +00:00
7087b8b9fe
code cleanup: remove BLI_array use when extruding individual faces. also use BM_face_copy utility function.
2013-07-19 11:45:21 +00:00
79b919644b
code cleanup: remove array reallocation in bmesh duplicate function (use alloca)
2013-07-19 10:39:32 +00:00
7430701600
correct own incorrect check bmesh edgerin subdivide, also add missing break in orthogonalize_m3 though this one wouldn't effect release builds.
2013-07-16 11:39:48 +00:00
b7396654e1
fix for bad NULL check in bmo_connect_pair, also remove duplicate checks in if statements and redundant initialization vars.
2013-07-13 16:25:47 +00:00
13e33522dc
fix for bridge tool where the 2 loops overlap (typical use for scanfill), however its nice to support with bridge too since it can do subdivisions, handles customdata and fills in quads.
2013-07-11 08:37:30 +00:00
bd5cb6fb3b
fix for own error in normal-recalc r58077, initial face flipping wasn't checking against face-island center.
2013-07-09 01:18:15 +00:00
14ab39c5e0
minor improvements
...
- calc normals only check flag when needed.
- keymap, dont get name unless its needed.
- keymap, avoid property lookup.
- idprop debug print, include pointer, helpful for troubleshooting.
2013-07-09 00:13:17 +00:00
27734f5bec
fix/improve normal calculation, noticed when checking on the previous bugfix.
...
- normals depended on the meshes rotation, so you could rotate Suzzane and in some cases one of the eye normals would be flipped.
- normals depended on the meshes placement in relation to the meshes center, now find the outer most face by each face-island center.
2013-07-08 13:30:11 +00:00
61bbefe40d
remove unused normal-recalc flags.
2013-07-08 08:56:46 +00:00
335fd7388f
move normal recalculation into its own source file.
2013-07-08 08:50:04 +00:00
2c8087aa2a
fix [ #36047 ] Recalculate normals produces faulty normals on certain simple meshes
...
The mesh in the report had 3 faces-user-edges, resolve the problem by not walking over these edges.
also don't recurse anymore (avoids realloc's).
2013-07-08 00:51:30 +00:00
0a1bcc78e0
fix for writing past array end with loop filling.
2013-07-06 02:20:39 +00:00
0d18f1829a
fix [ #35989 ] bridge tool flip mash
...
open edge loops were calculating flipping incorrectly.
2013-07-05 08:45:42 +00:00
e9208e99b7
bridge tool: calculate face normals before triangulating, own error when removing normal recalc from the bmesh operator.
...
also rename `Fill Grid` -> `Grid Fill` to match `Beauty Fill`
2013-07-01 07:15:12 +00:00
ff39d7b4bf
fix for incorrect selection when running MESH_OT_loop_to_region, running wire-frame operator directly after would crash.
2013-06-27 05:19:25 +00:00
5fac3d9db5
remove bmesh arg from BM_face_legal_splits(), don't use a bmesh iterator.
2013-06-26 20:15:02 +00:00
7d608452d0
bmesh mirror operator was counting layers in inner loop for no good reason.
2013-06-26 04:17:02 +00:00
fad1da062d
correct typos in comments.
2013-06-25 22:58:23 +00:00
3a1082b359
tweak comparisons for connect pair in rare case the value == CONNECT_EPS.
2013-06-23 15:00:12 +00:00
dc12dd23f6
fix for connect_pair cutting across triangle verts from edges.
2013-06-23 09:50:10 +00:00
e4bb913510
Extend existing editmesh connect tool so it can connect across multiple faces.
...
only use this when 2 vertices are selected, otherwise use the same behavior as before.
This works a little like a fast knife tool, but it only cuts straight lines and doesnt depend on the view-port.
Examples:
- http://www.graphicall.org/ftp/ideasman42/mesh_connect_pair.png
- http://www.graphicall.org/ftp/ideasman42/mesh_connect_pair_curve.png
2013-06-22 17:25:02 +00:00
6664d1bf59
remove 'dissolve_edge_loop' bmesh operator, edgeloop dissolve replaces this now.
2013-06-14 04:04:35 +00:00
b913385e32
bmesh edge dissolve: add option use_face_split (matching vertex dissolve option),
...
useful to avoid odd shaped ngons surrounding dissolved edges.
2013-06-14 02:30:40 +00:00
c03e638cf3
Fix msvc compile error with subdivide use_smooth_even option.
2013-06-10 20:54:08 +00:00
bff8a4c594
correction to typo in r57327, ui-load wasnt working on splash screen.
...
also minor changes:
- update the load-UI flag when changing in the preferences.
- remove unused initialization values for subdivide.
2013-06-10 10:55:57 +00:00
cae0d9df52
optimize customdata lookups for subdivision.
2013-06-10 05:18:45 +00:00
501f655503
fix [ #35648 ] Loop cut, smoothness showing wrong symmetrical
...
this is more of a feature request then a bug, but nicer to use even smoothing offset for loopcut smoothing.
2013-06-10 04:33:05 +00:00
4835f63be2
fix issue with new bridge tool interpolation [ #35636 ]
2013-06-05 21:31:01 +00:00
c630435b3c
fix own error with removing vertex weights not checking for non-existing weights.
...
however this exposed some other odd behavior.
removing a vertex group would add one if not found but only for meshes, not lattices.
now just skip removal if not found.
2013-06-04 19:37:18 +00:00
d1e78aa75d
fix for own error in recent bridge changes, make sure normals are calculated before use.
2013-06-04 17:46:19 +00:00