689e45284b
Recent bmesh face-join caused regression (T48407)
2016-05-12 16:11:42 +10:00
135064c45e
BMesh: remove exception from face-join function
...
Callers need to check for NULL, if we need to know exact cause it could be a return arg.
2016-05-12 04:42:45 +10:00
4a135ad2b7
BMesh: correct fix for face-join removing attached faces
2016-05-11 20:12:52 +10:00
e525a06800
BMesh: only remove loose geometry when joining faces
...
Joining faces could remove faces that happened to share an edge that would normally be removed.
2016-05-11 02:47:38 +10:00
b9ae96dc12
Cleanup: move MDisps flipping to own function
2016-03-14 15:33:54 +11:00
66043cc6c1
Fix T47788: Symmetrize flips multi-res data
...
Symmetrize was unusable with multi-res data,
add an option for the bmesh operator not to flip the multi-res depth.
2016-03-14 14:21:16 +11:00
5fd0c1ed3f
BMesh: avoid assert dissolving degenerate faces
...
For dissolving 2-sided faces, theres no need to check they are valid before removal.
2016-03-06 17:25:56 +11:00
4e500101a7
Cleanup: quiet -Wcomma, cast to void where needed
2016-03-05 09:16:12 +11:00
a1d7f67d81
cleanup: spelling / typos
...
no functional changes
2016-01-28 00:30:50 -05:00
0d7d317755
BMesh: add checks for duplicates in a face
...
These could go un-noticed, causing errors later on.
2015-12-26 15:34:55 +11:00
77c3ecf88c
BMesh: check at least 2 edges in each loops vert
...
Also no need to check twice
2015-12-26 15:34:55 +11:00
5cd1b530c8
Cleanup: use enum for bmesh_elem_check
2015-12-25 02:10:00 +11:00
8b1b320c9f
BMesh: utility function to split off wire edges
2015-12-17 05:02:14 +11:00
bb4bff3576
BMesh: Add BM_face_kill_loose
...
Removes edges/verts that become unused.
2015-12-11 12:01:22 +11:00
86cb772eb7
Cleanup: variable names, ascii diagram
2015-11-20 08:22:44 +11:00
410ca0ed92
Recent change to bmesh_jekv caused assert
...
Note that the mesh was valid, this just stops the radial check from failing.
2015-11-20 08:22:44 +11:00
8bdb884289
Fix related to T46804 - BMesh validate code would use invalid pointers after checking them!
...
Note that this does not fix the issue reported in T46804, juts makes it crash later down in code...
2015-11-19 20:42:46 +01:00
9c044b4773
BMesh: new API call to collapse an edge
...
Existing collapse functions were strict regarding the number of verts sharing an edge.
BM_edge_collapse allows any edge to be passed in without first having to manipulate geometry.
2015-11-19 22:52:17 +11:00
93fb07fbd5
BMesh: bmesh_jekv check for degenerate faces
...
Move check for degenerate faces from BM_vert_collapse_faces into bmesh_jekv.
2015-11-19 22:52:17 +11:00
ebb2a78c7a
Error in last commit
2015-11-05 22:25:09 +11:00
3863660c37
Fix face creation using incorrect loop-custom-data
...
Custom-data on newly created face data was often rotated.
Now the API doesn't copy data from adjacent loops when creating faces.
Most functions were already overwriting this anyway.
Since such decisions are better made at a higher level, now it's the responsibility of the caller.
2015-11-05 20:19:09 +11:00
534c0af4d3
Fix BMesh memory leak w/ multires data
2015-11-05 19:07:22 +11:00
f75d6c4a8f
BMesh: add BM_loop_interp_multires_ex which takes cached vars
...
Avoid recalculating face centers (for each loop) when interpolating multires.
2015-11-03 18:28:13 +11:00
073ae9c572
Fix flip normals w/ multires
...
Needs Z axis flip to maintain the shape.
2015-11-03 15:50:59 +11:00
5f0f861b1d
BMesh: avoid mdisp lookups (minor optimization)
2015-11-03 15:50:52 +11:00
09e40a4956
Cleanup: spelling
2015-09-14 02:22:22 +10:00
10c93a582b
Check for no-op edge separates to quiet asserts when inset individual.
...
This causes no change in behavior, since code was alreadying doing
a no-op in bmesh_edge_separate if the edge is a boundary.
But it tripped an assert, annoying in debug builds.
We want to leave assert in bmesh_edge_separate in case callers
expect there to be separate loops after this always.
So putting test in caller.
(Same worry about bmesh_urmv_loop? I checked callers and they
appear OK to me - they deal with the no-op return.)
2015-09-03 10:42:16 -04:00
2e2dc9b9e3
Refactor translation code out of blenfont
...
- Add blentranslation `BLT_*` module.
- moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`).
- moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-08-18 07:01:26 +10:00
fa823dc828
Cleanup: style
2015-06-16 10:32:41 +10:00
3e0c6a8ca2
BMesh: util functions to get edge loops from verts
2015-05-28 11:46:58 +10:00
f01c6e185f
Cleanup: typos
2015-05-23 22:38:47 +10:00
5d30c23c35
doxygen: corrections/updates
...
Also add depsgraph & physics
2015-05-20 14:12:22 +10:00
31e96cbf96
Cleanup: style, spelling
2015-05-15 23:38:53 +10:00
dd48ddd605
BMesh: utility to split isolated loop regions
2015-05-03 06:16:59 +10:00
de031b7c89
BMesh: replace radial count with simple checks
2015-05-03 04:41:39 +10:00
f283b959e7
BMesh: BM_vert_separate double edge fix
...
Splitting edges could give duplicates.
2015-05-02 16:24:35 +10:00
a5869945c6
Cleanup: bmesh src/dst order in API args
2015-05-02 15:46:03 +10:00
6111da3629
BMesh: add bmesh_disk_vert_replace
2015-05-01 06:18:04 +10:00
3ef27ec807
BMesh: add BM_face_loop_separate_multi
...
New utility function to handle splitting off multiple loops from a face at once.
2015-04-30 06:24:33 +10:00
53662bcaf1
BMesh: simplify/optimize loop splitting logic
...
To split off a single loop, was splitting all fans off the vertex, then merging back together (except for one).
Now simply splits off one loop.
2015-04-30 06:24:33 +10:00
26541b7488
BMesh: refactor edge-vert swapping into API call
2015-04-30 06:24:32 +10:00
67fcb04bbf
BMesh: minor change to swap-vert api
...
- assert if the verts not in the edge (all callers assume success)
- rename to bmesh_disk_vert_swap
- swap src/dst arg order.
2015-04-30 06:24:32 +10:00
3acc1ba49c
Add macro BLI_SMALLSTACK_AS_TABLE
...
Use for edge-split (a little less overhead compare to popping each item).
2015-04-29 23:59:48 +10:00
7232157357
Correct comment
2015-04-29 20:16:40 +10:00
65a9592660
BMesh: optimize edge split
...
Avoid hashing edges when splitting into fans,
Instead, walk & split fans until they're all done, gives approx 40% speedup.
2015-04-29 19:43:32 +10:00
179ffefce5
BMesh: replace smallhash flag for checking doubles
2015-04-29 19:43:21 +10:00
e1ecd39f0e
BMesh: avoid over-counting vert-edges
2015-04-29 19:42:06 +10:00
7e36c280c2
Cleanup: redundant checks
2015-04-28 16:47:45 +10:00
89f5a09ab4
Cleanup: use 8 space indent for multi-line args
2015-04-25 20:15:20 +10:00
240c5704e4
BMesh: Missed normal from example /w skip-cd flag
...
We may still want to use the normal as a reference but skip customdata.
2015-04-15 20:56:11 +10:00