Campbell Barton
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
Campbell Barton
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
Campbell Barton
61bbefe40d
remove unused normal-recalc flags.
2013-07-08 08:56:46 +00:00
Campbell Barton
335fd7388f
move normal recalculation into its own source file.
2013-07-08 08:50:04 +00:00
Campbell Barton
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
Campbell Barton
0a1bcc78e0
fix for writing past array end with loop filling.
2013-07-06 02:20:39 +00:00
Campbell Barton
0d18f1829a
fix [ #35989 ] bridge tool flip mash
...
open edge loops were calculating flipping incorrectly.
2013-07-05 08:45:42 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
5fac3d9db5
remove bmesh arg from BM_face_legal_splits(), don't use a bmesh iterator.
2013-06-26 20:15:02 +00:00
Campbell Barton
7d608452d0
bmesh mirror operator was counting layers in inner loop for no good reason.
2013-06-26 04:17:02 +00:00
Campbell Barton
fad1da062d
correct typos in comments.
2013-06-25 22:58:23 +00:00
Campbell Barton
3a1082b359
tweak comparisons for connect pair in rare case the value == CONNECT_EPS.
2013-06-23 15:00:12 +00:00
Campbell Barton
dc12dd23f6
fix for connect_pair cutting across triangle verts from edges.
2013-06-23 09:50:10 +00:00
Campbell Barton
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
Campbell Barton
6664d1bf59
remove 'dissolve_edge_loop' bmesh operator, edgeloop dissolve replaces this now.
2013-06-14 04:04:35 +00:00
Campbell Barton
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
Brecht Van Lommel
c03e638cf3
Fix msvc compile error with subdivide use_smooth_even option.
2013-06-10 20:54:08 +00:00
Campbell Barton
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
Campbell Barton
cae0d9df52
optimize customdata lookups for subdivision.
2013-06-10 05:18:45 +00:00
Campbell Barton
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
Campbell Barton
4835f63be2
fix issue with new bridge tool interpolation [ #35636 ]
2013-06-05 21:31:01 +00:00
Campbell Barton
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
Campbell Barton
d1e78aa75d
fix for own error in recent bridge changes, make sure normals are calculated before use.
2013-06-04 17:46:19 +00:00
Campbell Barton
48fd740096
edit-mesh improvements to select shortest path
...
- Ctrl+RMB only worked for edges & faces
- Menu item 'Select Shortest Path' only worked for vertices.
Now Ctrl+RMB works for vertices and the menu item works for verts/edges/faces (depending on the current selection).
2013-06-04 01:23:51 +00:00
Campbell Barton
790e9d9fa0
fix [ #35311 ] Planar Decimate / Limited Dissolve fails to merge some adjacent faces
...
optionally limit by face flipping, also added support to delimit by material and edge crease.
2013-06-03 05:07:16 +00:00
Campbell Barton
dfad9b0c09
fix [ #35555 ] Collada: export destroys mesh in some cases
...
add arguments to calculate normals when converting to bmesh:
BM_mesh_bm_from_me, DM_to_bmesh
This gives some speedup to undo (which didnt need to re-calculate vertex normals), and array modifier which doesnt need to calculate face normals at all
2013-06-02 23:20:49 +00:00
Campbell Barton
cfd0438d3c
fix for crash in edgering subd when 3+ disconnected edge rings were found.
2013-06-02 17:02:56 +00:00
Campbell Barton
b577f0c16e
previous fix for #35578 didnt work right, check direction of the open edge loop too.
2013-05-31 18:58:32 +00:00
Campbell Barton
db42a596aa
fix [ #35578 ] New bridge tool; bowtie crossing when destination edges form one half of an 'X'
2013-05-31 15:48:42 +00:00
Campbell Barton
54e8cacdcf
improve edgering subdivide curvature calculations (calculate length projected onto the normal plane).
...
also correct recely added asserts.
2013-05-31 06:28:11 +00:00
Campbell Barton
58a748431e
correct cast to uintptr_t for smallhash use.
2013-05-31 00:19:38 +00:00
Campbell Barton
d73529b296
scene render dimension panal: avoid re-creating the framerate string on every redraw, cache the string for reuse.
...
also remove redundant returns from my last commit.
2013-05-29 14:55:06 +00:00
Campbell Barton
39f0fbef95
fix for own regression in bridge tool since rewrite, UV's were not correctly copied over.
2013-05-29 13:41:35 +00:00
Campbell Barton
fc7c0506b8
bmo_subdivide_edgering.c now builds with release+debuginfo, also remove unused defines and correct include guards.
2013-05-28 16:35:47 +00:00
Campbell Barton
4439eca654
fix [ #35503 ] Bug with BMesh and Mirror Modifier (Blender 2.67)
...
regression with bmesh - extruding was creating faces where it shouldn't.
2013-05-27 20:56:33 +00:00
Campbell Barton
083115c5e7
bmesh optimization: use offsets for deform-vert lookups to avoid customdata layer lookups within loops.
2013-05-27 12:42:48 +00:00
Campbell Barton
1014dbaea1
bmesh: replace BLI_array reallocs with alloca, also don't check all faces for connecting verts.
2013-05-25 23:34:25 +00:00
Campbell Barton
0ff22044cd
Support for bridge tool subdivisions, smoothing and shape along the profile.
...
also added the underlying subdivision as a standalone operator in the edge menu, named: subdivide edge-ring.
http://www.graphicall.org/ftp/ideasman42/bridge_subd.png
2013-05-23 06:19:04 +00:00
Campbell Barton
7781312346
code cleanup: rename bmesh operator files to be more consistent
2013-05-20 07:38:11 +00:00
Campbell Barton
43748eca2d
ignore hidden edges for bmesh grid-fill.
2013-05-17 12:26:14 +00:00
Campbell Barton
f79e190307
fix for error in bridge tool, using freed faces from bmo input.
2013-05-17 12:05:07 +00:00
Campbell Barton
fbf890200c
fix for crash in grid-fill where it was possible for rail edges to overlap.
2013-05-16 15:28:57 +00:00
Campbell Barton
b881dd9e7f
grid-fill: fix error in detecting face flipping.
2013-05-16 13:58:21 +00:00
Jürgen Herrmann
cd34945792
Fix compile error on VS2012.
...
Unused variables (for debug only) give an error.
2013-05-16 11:04:01 +00:00
Campbell Barton
d4dc67d318
bmesh grid fill: interpolate vertex customdata (useful for vertex weights and shapekeys)
2013-05-16 07:21:34 +00:00
Campbell Barton
1df12416ca
bmesh, grid fill tool.
...
This uses 2 edge loops and fills them with a grid, taking into account curvature of surrounding edges.
Access from face menu: Ctrl+F,G
http://www.graphicall.org/ftp/ideasman42/grid_fill.png
2013-05-15 20:34:40 +00:00
Campbell Barton
be409d446c
fix for own recent change with normal calculation (with no faces it wasn't freeing 0 byte allocation).
2013-05-15 05:56:49 +00:00
Campbell Barton
bbea18f8c1
bridge tool: fix for error in recent commit. missed NULL check for example face.
2013-05-14 10:56:18 +00:00
Campbell Barton
b48deabf4e
new bevel: fix for crash in merge, could result in collapsing faces being invalid. rather then splice each edge, use weld_verts operator which handles removing degenerate geometry.
2013-05-13 14:31:45 +00:00