fc9fa07c0e
BMesh: BM_face_exists no longer uses return arg
...
Just return the face or NULL, like BM_edge_exists(),
Also for BM_face_exists_overlap & bm_face_exists_tri_from_loop_vert.
No functional changes.
Old code did some partial overlap checks where this made some sense,
but it's since been removed.
2016-11-14 04:33:35 +11:00
2b77b1ce46
remove double-checked conditions
...
Checking a condition right after we’ve checked it (and it hasn’t
changed). Most of these are trivial to understand.
split_quads in convertblender.c:
It seems quads should be processed and triangles should be marked as
not needing split. So I removed the outer vlr->v4 check.
Found with PVS-Studio T48917
2016-07-22 02:17:52 -04:00
c885cea7bb
Cleanup: spelling
2016-07-16 17:48:57 +10:00
7a3ea87bbf
Cleanup: use normalize_v#_length
2016-07-08 10:14:49 +10:00
2465bd90d5
Cleanup: style, whitespace, doxy filepaths
2016-06-19 06:33:29 +10:00
21fddf7d1c
C99/C++11: replace deprecated finite() by isfinite().
2016-05-17 21:39:16 +02:00
4a5933bb74
Rip tool, support filling-edges with fill enabled
2015-05-07 05:34:07 +10:00
4487358da7
Fix T44618: Rip Fill on a single vert would only generate one of the two expected faces.
...
Was tagging (for filling) the wrong edge for one of the two involved loops...
2015-05-06 17:51:39 +02:00
1648feec94
Cleanup: rip tool
2015-05-05 16:34:37 +10:00
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
6bc8a3f8d3
BMesh: rip-tool can now split off isolated fans
...
Useful since there wasn't a good way to do this previously.
2015-05-03 06:17:32 +10:00
33cc5ed495
Cleanup: redundant vars
2015-05-03 06:16:59 +10:00
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
a5869945c6
Cleanup: bmesh src/dst order in API args
2015-05-02 15:46:03 +10:00
e9dcb068c7
Fix T44484: Edge-split corrupts mesh
...
Splitting non-manifold edges could produce duplicate edges.
2015-04-30 07:22:18 +10:00
99811c283e
BMesh: use BM_face_loop_separate_multi for rip
...
Resolves bug over-splitting non-manifold connected edges.
2015-04-30 06:24:33 +10:00
690b90f1e2
BMesh: minor optimization counting adjacent data
...
add BM_***_count_is_over(), _count_is_equal()
Useful if we only want to know if the count is a smaller value.
2015-04-12 17:38:14 +10:00
46e2d5ee41
Cleanup: typo
2014-11-21 14:16:35 +01:00
7803cb09f3
BMesh: replace BLI_array_grow_one -> BLI_array_append_ret
2014-09-28 15:08:55 +10:00
c6b96c241b
Vert-rip left an invalid selection with (>1 verts)
...
Now report the error and fail early.
2014-09-04 12:15:52 +10:00
a4d9c8f579
Code cleanup: casts, dead assignment & arg order.
2014-06-26 15:46:42 +10:00
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
587796170a
Fix compile in Visual Studio 2008:
...
* isfinite is not defined, in Blender code we use 'finite' instead
2013-08-23 18:02:23 +00:00
6cba2b8d73
move bmesh tools into their own include,
...
changes to tool args would rebuild far too many files and these are mainly by modifiers outside of bmesh.
2013-08-23 04:22:07 +00:00
9470754fd3
bmesh api cleanup, face creation args now accept an example face (as with vertex and edge),
...
also replace BM_face_create_quad_tri_v with BM_face_create_verts
2013-08-21 07:51:47 +00:00
6bdff7e2ad
fix [ #36481 ] When "Rip Edge" cannot be completed, Blender crashes weirdly
2013-08-19 10:00:17 +00:00
7d67261a7b
fix bug with editmesh rip, active edge could be left on the unselected side of the edge loops.
2013-08-14 09:14:33 +00:00
5a9c012d86
fix for bug in rip tool, isolated verts would remain selected after ripping.
2013-08-13 01:52:36 +00:00
49411a6e37
fix own regression, rip tool wasn't handling selection.
2013-08-13 01:00:07 +00:00
880a86230f
bmesh_vert_separate: remove unused return value
2013-08-12 23:49:56 +00:00
fcc4251c07
resolve [ #33374 ] Extrude and mirror editing
...
mirror editing option was only added to extrude so mirror editing would always be disabled.
the option is now hidden to avoid confusing users.
2013-06-16 05:35:44 +00:00
34f9932418
simple optimization, replace BM_face_other_edge_loop() with BM_loop_other_edge_loop() in situations where the loop is known this avoids a lookup.
2013-04-19 01:02:58 +00:00
37e73aa368
code cleanup: use BKE naming conventions for functions in BKE_editmesh.h and BKE_editmesh_bvh.h
2013-04-16 05:59:48 +00:00
6da961775f
code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere).
2013-04-13 20:31:52 +00:00
858ff6b696
Fix for [ #34898 ] Typo in error message of mathutils.Vector
...
* Also fixed some more cases of "more then" -> "more than".
2013-04-07 15:09:06 +00:00
6d8e25dfdc
code cleanup: split editmesh_tools.c, into inset, bevel (both modal operators) and moved extrude operators into their own file.
...
also move some selection operators from editmesh_tools.c into editmesh_select.c
2013-04-01 10:18:01 +00:00
dd0e2da784
code cleanup: use booleans and const's for operator vars.
2013-03-22 04:40:45 +00:00
e7c15beaf6
code cleanup: use booleans for mesh and selection code.
2013-03-19 23:17:44 +00:00
0d0291f6e1
code cleanup: incorrect sized array args, remove some redundant code.
2013-03-17 10:26:23 +00:00
aaa8a13c49
code cleanup: use const events for modal and invoke operators.
2013-03-13 09:03:46 +00:00
dfa8540cdf
use bool for rna funcs.
2013-03-07 02:44:55 +00:00
1f3e3b0d68
include cleanup
2012-12-19 04:49:32 +00:00
d5c2a1f8f4
remove context argument from EDBM_update_generic()
2012-12-12 15:22:54 +00:00
44b634bcb1
make EDBM_index_arrays's stay in memory, blender was allocating an array and filling it for verts/edges/faces on every redraw.
...
this may introduce bugs which I didn't catch, but they are very easy to identify in a debug build which has asserts to ensure the arrays are valid before use.
in my own test drawing ~98,304 quads - this gave an overall ~16% drawing speedup.
2012-12-12 06:53:39 +00:00
7c699a217a
define the size of matrix args for both rows/cols.
2012-12-11 14:29:01 +00:00
0b9be70591
typo's and some style cleanup, also added asserts into BLI_vsnprintf and BLI_sprintfN when invalid args are given.
2012-11-28 06:43:04 +00:00
cdc4037f0d
bmesh: BM_verts_in_face was using bmesh operator flag which is no longer ensured to be available,
...
use internal apiflag instead, Thanks to Nicholas Bishop for spotting.
also quiet some warnings.
2012-11-19 00:54:55 +00:00
bf4be941fc
fix for filled rip copying loop customdata (fix in BM_edge_other_loop broke it)
...
also assert when customdata can't be copied because of invalid args.
2012-10-27 01:33:33 +00:00
c9dade4fe0
Big i18n commit: add "reports" from bmesh/readfile/tracking/dynapaint (and a few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()...
2012-10-26 17:32:50 +00:00
75198e98bb
fix for error in filled rip copying customdata (new triangles were flipped across the edges of the empty space they spanned) only noticeable when the customdata on either size of the rip didnt match.
2012-10-15 03:36:22 +00:00