Campbell Barton
41564a402e
BMesh: flatten faces operator
2015-06-11 21:54:06 +10:00
Campbell Barton
ee37de75e6
BMesh: add BMO_ITER_INDEX macro
2015-06-11 21:54:06 +10:00
Campbell Barton
50a1ad5bb3
Cleanup
2015-06-06 21:02:16 +10:00
Howard Trickey
68cdd2b361
Fix T44961, bevel spikes out when certain angles near 180.
...
Made the test for whether one can "see" an adjacent edge less
knife-close to 180. This means it will chose to slide along
such an edge less often, and avoid some spikes.
2015-06-05 13:00:41 -04:00
Campbell Barton
ffaf271ab9
BMesh: decimator, allow vgroup factor over 1
...
Can be useful to apply more extreme weighting
2015-06-05 15:26:37 +10:00
Campbell Barton
455ca1b28f
BMesh decimate, improve behavior with weights
...
Add slider to adjust the influence of weights relative to geometry distortion.
This allows subtle influences to be applied - without drastic changes in behavior.
2015-06-05 02:56:11 +10:00
Campbell Barton
4a26f3b569
correct last commit
2015-06-04 23:47:03 +10:00
Campbell Barton
06f4bac104
BMesh: decimator minor edits
2015-06-04 23:42:10 +10:00
Howard Trickey
896f08bde8
Fix T41177. Bevel shouldn't try to slide along edge when can't see it.
2015-06-03 15:19:48 -04:00
Howard Trickey
fd1ea5e3db
Fix T44742. Bevel now avoids vertex meshes when only two edges are beveled.
...
Also, changed the algorithm for generating the vertex meshes when not all
edges into a vertex are beveled. Now it tries to slide along edges that
form part of the silhouette when possible; when not possible, it tries
to snap to the best plane in between the beveled edges.
2015-06-02 09:25:05 -04:00
Campbell Barton
36d47ce203
Fix leak in BMesh convex hull operator
2015-05-30 16:17:04 +10:00
Campbell Barton
af434fea71
BMesh: select linked /w delimiters & wire edges
...
Add support for using edge delimiters mixed with wire edges.
Code isn't so elegant but users will expect this.
2015-05-29 14:41:39 +10:00
Campbell Barton
dc1586063b
BMesh: correct flag check (own mistake)
2015-05-28 12:11:35 +10:00
Campbell Barton
3e0c6a8ca2
BMesh: util functions to get edge loops from verts
2015-05-28 11:46:58 +10:00
Campbell Barton
8715fd0925
BMesh: join tris, split angle limit in two
...
Use a separate limit for face-angle and shape comparisons.
There was no way to join non-rectangular, co-planer tries.
2015-05-26 14:27:38 +10:00
Campbell Barton
9ce20d3341
BMesh: join tris now delimits all UV/Color layers
...
Previously was only checking active layers
Also add delimit by edge seam
2015-05-26 13:42:59 +10:00
Campbell Barton
4737722968
Fix error joining tris -> quads
...
Incorrect flag check, would need to run multiple times.
2015-05-24 21:54:21 +10:00
Campbell Barton
f01c6e185f
Cleanup: typos
2015-05-23 22:38:47 +10:00
Campbell Barton
ed2cb8de2f
Fix for join faces ignoring angle limit
...
Angle limit for join-faces was more advice then actual limit.
Now joining entire selection, gives assurance that no faces above the limit will be merged.
The purpose of this was to allow users to isolate 2 faces and always join them.
Instead, support this by bypassing limit only when its not set and 2 faces are selected.
2015-05-22 18:14:03 +10:00
Campbell Barton
476feb622c
BMesh: extrude region didnt copy edge flags
...
Newly created edges around regions wouldn't get the edge flags from surrounding geometry.
2015-05-22 11:00:14 +10:00
Campbell Barton
03eee4dce7
BMesh: decrease decimate epsilon
...
Since using doubles to calculate cost,
using topology fallback cost isn't needed as much.
2015-05-21 22:46:33 +10:00
Campbell Barton
e37c4e5819
Fix T44780: Decimate planar creates concave edges
...
Float precision was causing problems for decimate,
small faces that create a nearly flat surface were detected as having no 'cost' to collapse.
2015-05-21 21:06:30 +10:00
Campbell Barton
aa54d93a29
BMesh: decimate improvement for flat surfaces
...
Previously decimate on flat areas of a mesh would more or less randomly collapse edges.
(giving bad topology).
This commit includes a topology 'cost', so smaller edges on flat surfaces collapse first.
2015-05-21 16:41:08 +10:00
Campbell Barton
b5bf5b36f1
BMesh: decimate, test for face flip was too low
...
Created overlapping faces in T44780
2015-05-21 00:00:13 +10:00
Campbell Barton
24e1d7f4f4
BMesh: decimate wasn't using face/edge centers
...
When calculating quadrics, using the first-vertex isn't correct.
2015-05-21 00:00:13 +10:00
Campbell Barton
5d30c23c35
doxygen: corrections/updates
...
Also add depsgraph & physics
2015-05-20 14:12:22 +10:00
Campbell Barton
07e9fb8ec6
BMesh: calls to store selection at the list head
2015-05-19 23:51:57 +10:00
Campbell Barton
d3cc7419a3
BMesh: add BM_edge_pair_share_face_by_len
2015-05-19 23:51:57 +10:00
Campbell Barton
02cbc3c1e0
Cleanup: indentation
2015-05-17 17:25:57 +10:00
Campbell Barton
3aa4a0e787
BMesh: add UV delimit for select-linked, dissolve
2015-05-16 12:21:31 +10:00
Campbell Barton
05c4c2409e
BMesh: add sharp edge delimiter
2015-05-16 10:18:38 +10:00
Campbell Barton
31e96cbf96
Cleanup: style, spelling
2015-05-15 23:38:53 +10:00
Campbell Barton
547b676181
BMesh: add loop-shell walker
2015-05-15 17:07:57 +10:00
Campbell Barton
bc371030a7
BMesh: rename loop walker -> edgeloop
2015-05-15 10:55:56 +10:00
Campbell Barton
097862cb26
GHash: avoid redundant casts
2015-05-11 12:39:39 +10:00
Campbell Barton
4d7b0e4fe3
Correct own error: is_manifold_region on wire vert
2015-05-07 05:23:07 +10:00
Campbell Barton
e5e73ccc90
Math Lib: rename fill_*, to copy_*
...
matching convention for fixed length api, eg: copy_v3_fl
2015-05-05 17:08:29 +10:00
Campbell Barton
ea5f9fee8d
Cleanup: function arg wrapping
2015-05-05 16:34:38 +10:00
Campbell Barton
22bbd1c512
BMesh: improve rip tool /w mon-manifold verts
...
Can now rip from multiple fans (mixed single faces or larger regions)
Also add BM_vert_is_manifold_region which only checks if a vert has disconnected fans.
2015-05-05 07:22:35 +10:00
Campbell Barton
e59bd19fa7
Cleanup: style & const's
2015-05-05 05:19:49 +10:00
Campbell Barton
dd48ddd605
BMesh: utility to split isolated loop regions
2015-05-03 06:16:59 +10:00
Campbell Barton
33cc5ed495
Cleanup: redundant vars
2015-05-03 06:16:59 +10:00
Campbell Barton
bd5e578804
BMesh: rework BM_vert_is_manifold (simplify logic)
...
- simplify boundary handling (walk from boundary - no need to reset walking)
- early exit when the vert has >2 boundaries
- use BM_vert_step_fan_loop to walk the fan
2015-05-03 04:46:24 +10:00
Campbell Barton
de031b7c89
BMesh: replace radial count with simple checks
2015-05-03 04:41:39 +10:00
Campbell Barton
53d08ec506
BMesh: BM_mesh_edgesplit
...
Did quite a few checks not to tag bad splits (which wasn't working perfectly)
Instead rely on BM_vert_separate not to create invalid geometry.
2015-05-02 16:24:46 +10:00
Campbell Barton
f283b959e7
BMesh: BM_vert_separate double edge fix
...
Splitting edges could give duplicates.
2015-05-02 16:24:35 +10:00
Campbell Barton
c276cfb3c0
BMesh: return error on mesh validate
2015-05-02 15:52:27 +10:00
Campbell Barton
a5869945c6
Cleanup: bmesh src/dst order in API args
2015-05-02 15:46:03 +10:00
Campbell Barton
5e1c729882
Cleanup: use function attrs for BMesh inline funcs
2015-05-02 15:45:57 +10:00
Brecht Van Lommel
d3c4553552
Fix a couple of harmless compiler warnings.
2015-05-01 19:18:26 +02:00