Howard Trickey
7a899ce9fc
Fix T37476 Bevel modifier got weight from wrong edge
...
The bevel modifier with 'weight' activated was reading
the weights from the wrong edges.
2013-11-16 08:10:12 -05:00
howardt
9a78cda321
Fix Bevel artifacts bug T37053
...
In the case that there are two beveled edges with one unbeveled
one in between, and the widths don't allow them to magically
line up, it is better to slide along unbeveled edge.
Sometimes bevel widths are uneven (this was the case before)
and it is a followup TODO to do a width cleanup pass afterwards
to even the edges up as much as possible.
2013-11-15 10:47:45 -05:00
Bastien Montagne
7fc1088164
Fix [ #37388 ] Grid fill crashes blender in specific situation.
...
With some geometries, we can have a valid first path, without being able to find a valid second one, added needed check.
2013-11-11 14:29:01 +00:00
Howard Trickey
bfb9cefccb
Added options for how bevel amount is measured.
...
Now there is an 'Offset Type' dropdown on tool
shelf with types:
Offset - current method, offset of new edge
from old along sliding face
Width - width of new bevel face (if segments=1)
Depth - amount a chamfering plane moves down
from original edge
Percent - percent of way sliding edges move
along their adjacent edges
The different options mainly are useful when
beveling more than one edge at once.
Leaving as a TODO to put these in the modifier,
as doing that has more permanent effects so
want to let users shake out problems with this
first.
2013-11-10 12:31:57 +00:00
Campbell Barton
ec32964194
code cleanup: warnings
2013-11-03 05:19:55 +00:00
Dalai Felinto
a7b44c82e5
Triangulate Modifier: using different ngon and quad methods
...
Quads: Beauty, Fixed, Fixed Alternate, Shortest Diagonal
Ngons: Beauty, Scanfill
* Shortest Diagonal is the default method in the modifier (popular
elsewhere), but beauty is the default in Ctrl+T).
* Remove the need for output slot and beauty operator to be called
after Clt+T
Patch with collaborations and reviewed by Campbell Barton
2013-10-29 02:42:51 +00:00
Daniel Genrich
421346cefe
Fix compile error using Visual Studio 2012.
2013-10-28 19:43:53 +00:00
Campbell Barton
3264461598
move bmesh array lookup data and utility functions from editmesh into bmesh,
...
since enough bmesh operations can also take advantage of direct index lookups on verts/edges/faces.
developers note:
- EDBM_index_arrays_init/ensure/free -> BM_mesh_elem_table_ensure/init/free
- EDBM_vert/edge/face_at_index -> BM_vert/edge/face_at_index
- EDBM_uv_element_map_create/free -> BM_uv_element_map_create/free
- ED_uv_element_get -> BM_uv_element_get
2013-10-28 02:05:33 +00:00
Campbell Barton
0773fd7b78
fix for decimator editing the data it loops over in an unsupported way.
2013-10-28 01:58:05 +00:00
Campbell Barton
dee671276d
rename BM_vert_at_index -> BM_vert_at_index_find (since this searches the mempool).
...
needed for other changes - coming.
2013-10-27 10:01:35 +00:00
Campbell Barton
3c1dce0d9b
fix for BM_faces_join_pair() making the assumption that only the 2 faces use an edge, face winding could be flipped incorrectly.
...
also remove search for shared edges - all callers pass the edge in.
2013-10-26 05:05:37 +00:00
Campbell Barton
7c8c49a34a
style cleanup
2013-10-21 23:35:08 +00:00
Bastien Montagne
55201ce48b
Fix [ #37160 ] Rotate edge direction changed between 2.64 and 2.65 (low priority)
...
Easy to fix, but do not really understand *why* this is needed...
2013-10-21 11:13:39 +00:00
Dalai Felinto
8f22c120f5
fix [ #37145 ] "Triangulate Face" crash in specific scene
...
it was asserting if the last edge faces were already all set
2013-10-19 21:20:50 +00:00
Campbell Barton
234626f9e1
correct BM_edge_face_pair() being called inside BLI_assert() - this needed to run every time.
...
also other minor changes.
2013-10-16 22:07:16 +00:00
Dalai Felinto
bd2d7bedbd
Triangulate modifier - beauty option is back
...
Patch reviewed and with collaborations from Campbell Barton
2013-10-16 17:58:00 +00:00
Campbell Barton
f12ac5b23f
fix [ #37100 ] Segfault when I rotate an edge
2013-10-16 05:24:55 +00:00
Dalai Felinto
859dfccb58
beautify: passing edge/face flags as arguments
...
no functional change, just preparing the ground for the beautify in
triangulate modifier changes.
2013-10-16 03:24:50 +00:00
Dalai Felinto
fe93d4a3d8
split operators/bmo_beautify.c into tools/bmesh_beautify.c
...
This is a proper design if we want to use the beautify routine elsewhere
(e.g., in the triangulate modifier)
2013-10-16 03:24:38 +00:00
Campbell Barton
1ae0de2f3a
fix [ #37013 ] Mesh > bisect can't fill the cut if it lines up with two or more adjacent vertices
2013-10-16 03:21:55 +00:00
Dalai Felinto
54be5f2cf5
fix [ #37058 ] 2.69 RC1: Symmetrize directions are all reverse
2013-10-13 05:45:29 +00:00
Dalai Felinto
b20d3bab80
fix [ #37046 ] Dissolve edges and vertices problem with triangulate
...
with review and collaboration from Campbell Barton
2013-10-13 05:04:06 +00:00
Dalai Felinto
3a63adb5ff
fix [ #37034 ] Triangulate modifier asserts with GHASH_FLAG_ALLOW_DUPES
2013-10-13 00:30:49 +00:00
Campbell Barton
afab39b9d6
code cleanup: use const's for static arrays
2013-10-10 20:22:17 +00:00
Campbell Barton
e220d3228f
add MEM_SIZE_OPTIMAL to avoid memory fragmentation & waste lost to slop-space.
2013-10-10 18:18:13 +00:00
Campbell Barton
590f58d455
code cleanup: redundant includes and add minor comments.
2013-10-08 20:18:38 +00:00
Dalai Felinto
8e9aa452bb
Triangulate Modifier changes - using scanfill
...
The ear loop method is potentially too slow (OˆN).
We are not using the 'beauty' option at the moment.
I'll incorporate that next.
(and later specific methods for quad splitting)
Patch done in collaboration (and reviewed by) with Campbell Barton.
2013-10-08 19:28:11 +00:00
Campbell Barton
98a4ae8562
use booleans in BKE_nurb_handles_autocalc and BMO_op_vinitf
2013-10-08 12:35:58 +00:00
Campbell Barton
0b1cf4c2ea
code cleanup: warnings and minor edits.
2013-10-04 17:47:58 +00:00
Campbell Barton
ec4a7fcad1
fix for lasso selection (in non-zbuf mode) when the line intersected its self.
...
isect_point_poly_v2() - add argument to check overlapping areas.
2013-10-04 10:48:24 +00:00
Campbell Barton
43217da6d9
set mempool debug in the game-engine-player too. also remove redundant mempool includes.
2013-10-03 16:34:00 +00:00
Campbell Barton
51f7f82a42
fix crash in editmesh edge-dissolve, when 2 faces shared multiple edges, freed edges would be checked.
2013-10-03 15:29:08 +00:00
Campbell Barton
87fb70cad2
fix for crash dissolving faces, bmesh walkers were using freed mempool elements.
...
use a convention for freeing walker-states where freed-dangling pointers aren't left assigned to prevent errors like this happening in future.
2013-10-03 13:35:57 +00:00
Campbell Barton
6b2e563924
yet another instance dissolve deletes verts it loops over.
2013-10-03 10:50:03 +00:00
Campbell Barton
6d1dba7c37
overlapping faces made join-triangles fail, check for this case and silently ignore them.
2013-10-03 10:29:53 +00:00
Campbell Barton
253e9fb041
addition to r60523 missed using BM_ITER_MESH_MUTABLE in one place.
2013-10-03 08:02:32 +00:00
Campbell Barton
5b5bc63396
fix [ #36923 ] Merge / Delete vertices crashes for some meshes
...
add BM_ITER_MESH_MUTABLE which steps before entering the for() loop body and prevents the assert from complaining about removing mesh data while iterating as well as the crash.
this was done in quite a few areas, more may turn up.
2013-10-03 07:06:56 +00:00
Campbell Barton
962c183471
add debug mode assert if mesh-data is removed while iterating over it. (can crash).
2013-10-03 06:12:44 +00:00
Campbell Barton
0959482acb
fix [ #36913 ] GHASH_FLAG_ALLOW_DUPES assert and crash in Edge Collapse
2013-10-02 04:12:06 +00:00
Campbell Barton
6c83806a00
fix [ #36435 ] Crash on unwrap with specific mesh
2013-10-01 12:48:32 +00:00
Campbell Barton
92527b9264
remove assert for poly_find_ear(), added recently but its incorrect, also minor style edits.
2013-10-01 03:56:02 +00:00
Campbell Barton
b21b24573d
lots of operator descriptions were incorrectly copy/pasted.
...
update some descriptions, others were removed and operators tagged as internal.
add a script to detect duplicate operator descriptions.
2013-09-30 05:50:41 +00:00
Campbell Barton
05c53918aa
bmesh triangulate: skip intersection checks for degenerate geometry and just triangulate on a fixed loop.
2013-09-24 12:45:14 +00:00
Campbell Barton
5342d57a5e
allocate bmesh data from known sizes where possible (was still using defaults in places),
...
add macros for initializing BMAllocTemplate's, also add assert on invalid use of bmesh_sfme()
2013-09-24 03:31:00 +00:00
Howard Trickey
95bfe69704
Let vertex bevel work on boundary verts of polys.
...
Suggestion by Jonathan Williamson, and thanks to
Walid Shouman for noticing that the existing code
worked if a test to prohibit it were removed.
Limitation: treats segments > 1 the same as
segments == 1 in this case; a TODO to do
something more intelligent.
2013-09-20 12:50:34 +00:00
Campbell Barton
d6b21df2e6
correct include guards and add checks in check_style_c.py for them.
2013-09-19 23:17:52 +00:00
Campbell Barton
1ca5de1b51
speedup for ngon tessellation, check if the angle is an improvement before doing the full intersection check.
...
with 500 verts gives approx 2x speedup.
2013-09-19 07:58:47 +00:00
Campbell Barton
ac0a2ef274
minor edits to poly_find_ear() bmesh function, no functional changes.
2013-09-19 07:40:41 +00:00
Campbell Barton
0ac194687e
style cleanup
2013-09-18 00:07:17 +00:00
Campbell Barton
9096b3a14e
fix [ #36211 ] bridge edge loops joining vertecies that are far away
...
for bridge use a different beautify method when edge loops have non-matching loop count (simple face-angle comparison).
2013-09-17 23:23:32 +00:00