Commit Graph

277 Commits

Author SHA1 Message Date
Campbell Barton
7d4c89e6da Correct recent refactor (use generic callback) 2014-11-06 11:47:08 +01:00
Campbell Barton
d57ce42dfa BMesh: arg reorder 2014-11-03 08:30:54 +01:00
Bastien Montagne
9b8be0bc0c Cleanup/fix from latest coverity report.
Mostly harmless things, though the 'multires' error was a real bug.
2014-11-01 16:36:11 +01:00
Campbell Barton
133f79e449 Cleanup: warnings, typos 2014-10-29 14:15:21 +01:00
Bastien Montagne
8d1d16bf0d Bevel modifier: Add weight support for vertices bevelling.
Nothing to say here, really, just a couple of lines to add to get it working...
2014-10-15 08:57:11 +02:00
Campbell Barton
30dab51c29 Cleanup: use bool and const args 2014-10-09 22:44:03 +02:00
Campbell Barton
77af624524 Quiet warning on 32bit system 2014-10-06 09:51:51 +02:00
Campbell Barton
230c272fe3 Comments: note on bmesh_region_match
also correct buffer type
2014-10-03 08:21:14 +02:00
Tamito Kajiyama
516dbaeb73 Fix for a build error with VS 2013. 2014-09-29 14:53:28 +09:00
Campbell Barton
c729ce7e05 BMesh: remove point-in-face test for bisect
instead track inside/outside state while stepping over intersections.
2014-09-28 19:19:58 +10:00
Campbell Barton
8e4fdba19c Cleanup: typo 2014-09-27 20:32:12 +10:00
Sergey Sharybin
e6edc1b09d Fix ocmpilation error with strict flags after the recent commit 2014-09-26 20:17:21 +06:00
Campbell Barton
2f4e70702c BMesh: select similar regions
Select operator that takes multiple selected face regions and
selects any number of matching regions (when they have distinguishing features to isolate them).

UI access next.
2014-09-26 23:06:20 +10:00
Campbell Barton
90e1746d89 BMesh: correct flag use
Allowed fill to make duplicate faces
2014-08-21 13:08:13 +10:00
Campbell Barton
d42c085516 Fix T41517: BMesh intersect crash 2014-08-21 09:23:07 +10:00
Campbell Barton
d93c07d987 Cleanup 2014-08-21 09:23:07 +10:00
Campbell Barton
ed08597442 Correct mistake in recently added intersect tool
Sorting verts along an edge wasn't working reliably.
2014-08-20 12:44:11 +10:00
Campbell Barton
ea07d93f77 Fix for fix (don't guess enum's sign) 2014-08-19 07:08:15 +10:00
Bastien Montagne
2a514f8e29 Fix building on some compilers (clang on OSX).
Reported and patch by jensverwiebe (jens verwiebe).
2014-08-18 15:39:40 +02:00
Campbell Barton
b9ebf44139 BMesh: intersect tool
Modeling tool to cut intersections into geometry (like boolean, without calculating inside/outside).
Faces are split along intersections, leaving new edges selected.

Access from Face menu.
2014-08-18 17:09:30 +10:00
Campbell Barton
7df4fc5eaf Spelling 2014-08-13 09:34:37 +10:00
Campbell Barton
eadfddd02a Cleanup: magic numbers 2014-08-12 15:58:53 +10:00
Campbell Barton
e1819cc918 Fix T40948: Fill holes fails in certain case 2014-08-08 04:30:24 +10:00
Campbell Barton
ce0ff266e9 GHash: generic comparison for int[4] 2014-07-30 07:30:18 +10:00
Campbell Barton
13a8f650df Cleanup 2014-07-21 10:53:07 +10:00
Campbell Barton
00b29156e0 Defines: replace ELEM3-16 with ELEM(...), that can take varargs 2014-07-20 01:33:40 +10:00
Howard Trickey
70453c578d Fix T34664: bevel face material can be set in tool and modifier.
Now the bevel tool, modifier, and internal operator have a material
slot # parameter that the user can set. If left at default of -1,
behavior is as current -- bevel face material is taken from the
closest original face (this may be ambiguous). If material slot
is >= 0, it gives the material slot index number for the material
to use.
2014-07-17 09:20:22 -04:00
Campbell Barton
3b81aae5c1 BMesh: avoid redundant normalize comparing angles 2014-07-14 14:22:15 +10:00
Campbell Barton
f32079d4b9 BLI_stackdefines
Bounds check the stack while debugging, also add STACK_PEEK
2014-06-29 05:57:48 +10:00
Campbell Barton
e947dd8cd7 BMesh: add BM_vert_is_edge_pair(), faster then checking (BM_vert_edge_count(v) == 2) 2014-06-27 20:28:32 +10:00
Campbell Barton
c3deb16c16 BMesh: add ability not to delete vertex when collapsing 2014-06-27 20:28:02 +10:00
Campbell Barton
c5ccbacdaa move STACK_* macros into BLI_stackdefines.h 2014-06-25 00:01:33 +10:00
Howard Trickey
b5213b2dea Fix T40007 Bevel tool resets after getting to 1.
If the side of a beveled edge hit another vertex, the offset
amount reset to zero. This was the result of commit rB1582dd5e4d7c
which clamped the amount to zero to avoid creating spikes with
obtuse angles. Now we clamp the amount to the closest end of
the edge to where the amount wants to be.
Also fixes the first part of T40365.
2014-06-14 17:47:44 -04:00
Campbell Barton
d6287b213b BLI_gsqueue: use size_t for elem_size (was casting all over) 2014-06-15 03:49:25 +10:00
Campbell Barton
9f0466fb6b Quiet double promotion warning & ws edit 2014-06-13 02:22:40 +10:00
Howard Trickey
8c2b5ffb11 Fix Bevel bug T39746, small scale gives flat profile.
With very small meshes or very small bevel amounts, the bevel
profile would be flat even if a round one was requested.
Problem was that the code was checking the length of a cross
product for closeness to zero to test coplanarity. Needed
to normalize things before making that test to account for scale.
2014-06-12 10:22:10 -04:00
Howard Trickey
84767a29f1 Fix Bevel multisegment profile bugs T39184, T37502 and last part of T40365.
When doing a 'weld' type join where there are two non-beveled edges
in the same plane one beveled one but not the other, then there
should be a curved profile; bug was creating a straight one.
2014-06-10 11:21:52 -04:00
Campbell Barton
c6ea6e368b BMesh: avoid recursion for BM_mesh_edgenet, runs out stack memory on large nets 2014-06-08 22:20:03 +10:00
Howard Trickey
d504b325fb Fix T37618 Bevel mismatched offsets and bad profile plane.
Used a different technique to resolve "impossible" offset cases
that makes more consistency. Also changed the plane in which
the profile lies for the case with only one beveled edge and
more than 3 other edges.
2014-05-30 16:07:45 -04:00
Howard Trickey
6bde9a52f9 Fix T39174 Bevel didn't maintain edge attributes.
When rebuilding the polygons that touch bevel-involved vertices,
need to copy the edge attributes from corresponding original edges.
Special treatment of corner segments, to maintain continuity of
smooth and seam attributes.
Another fix: if have four meeting edges, two opposite ones beveled
and the other two not, propgate the non-beveled-edges attributes
across the line that joins them (perpendicular to the bevel).
2014-05-29 07:32:16 -04:00
Bastien Montagne
a217db0d63 Fix T40297: Crash while ripping an edge when autosmooth is activated.
Turned out there was still quite a few cases were indices were set dirty,
but elem_index_dirty was not tagged accordingly (mostly for BM_LOOP,
but a few others as well). So probably this crash was not the only one
hidden here.

Hopefully all possible cases were catched this time!
2014-05-21 22:37:50 +02:00
Campbell Barton
d9dd29054f Style cleanup 2014-05-20 00:11:16 +10:00
Howard Trickey
758bdcd6c2 Fix Bevel bugs T39726 and T39108, bevels with wire edges.
This updates the fix in rB27db75363, which had to be undone
because it broke other bevels.
It also fixes cases where edges went away went doing vertex
bevel on vertices with some wire edges.
2014-05-16 10:28:15 -04:00
Campbell Barton
48881ad1e0 Code cleanup: doxy comments 2014-05-14 15:00:47 +10:00
Campbell Barton
4ca67869cc Code cleanup: remove unused includes
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-05-01 04:47:51 +10:00
Howard Trickey
a197d02b03 Fix T39939: Undo change of rB27db75363e67, which broke bevel.
The test for wire edges when reattaching was wrong, because
some newly made edges are wire at the point of the test.
This made some duplicate edges.
Need to track the original wire edges a different way.
2014-04-28 18:41:33 -04:00
Campbell Barton
fdcb9fcb7e Bevel: Avoid sqrt comparing lengths 2014-04-29 00:35:32 +10:00
Howard Trickey
27db75363e Fix T39726: wire edges cause bevel artifacts.
Now code explicity excludes wire edges from beveling
and reattaches the wire edges to one of the newly
created vertices after beveling.
Also fixes a bug where vertex-beveling a wire-edge-only
vertex would not reattach the wire edges.
2014-04-28 09:07:47 -04:00
Campbell Barton
d7d2e71a03 Correct some errors in auto-cleanup 2014-04-27 22:02:59 +10:00
Campbell Barton
88a0fe5f1b Code cleanup: use 'const' for arrays (bmesh) 2014-04-27 00:25:16 +10:00