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
29c8bd7b24
api cleanup: split part of BM_face_create_ngon_vcloud() into a new function BM_face_create_ngon_verts(),
...
a function to create a bmesh face from an ordered vertex array, optionally creating edges and calculating winding.
2013-03-27 05:52:28 +00:00
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
b2f6e6b113
code cleanup: BM_face_create_ngon()
...
Change some of the paranoid checks into an assert since they should never happen.
2013-01-03 08:06:12 +00:00
7b212b3bd0
fix [ #33689 ] Crash with decimate modifier
...
in fact a more general bug in BM_face_create_ngon() where edges containing the same vertex multiple times were not accounted for.
2013-01-03 07:53:30 +00:00
2cb39ea9da
use BM_face_create() over BM_face_create_ngon() in bevel and extrude individual faces to get some speedup.
2012-12-19 09:45:56 +00:00
fbf4f57cd6
bmesh optimization: use BM_face_create() rather then BM_face_create_ngon() in BM_mesh_copy(), gives ~30% overall speedup in my tests.
2012-12-19 09:13:06 +00:00
f6c5a72e3f
fix [ #33606 ] Adding the Decimate modifier will crash Blender
...
own regression since 2.65 release.
2012-12-19 01:24:12 +00:00
71730f26d7
replace BLI_array_fixedstack_declare with() new macro BLI_array_alloca() which uses stack memory always and doesn't need to be freed explicitly.
2012-12-11 15:10:19 +00:00
07ccd3ee3f
fix [ #33029 ] Applying modifier leaks memory
...
Thanks for Sergey for finding the bug & patching, This fix works a bit differently.
Theres no need to allocate the customdata in the first place - since its written into. So add a flag for vert/edge/face/loop creation functions so they can skip customdata creation.
2012-11-29 16:26:39 +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
42ebc9bc80
bmesh: move internal API flags out of BMFlagLayer, into BMHeader which was being padded up anyway, added static assert to make sure it stays <=16 bytes.
2012-11-18 10:17:07 +00:00
0bfc92ff8e
BM_iter_as_arrayN() can now take an optional existing array argument, useful to avoid many small malloc's by passing a fixes size stack variable instead.
...
Will give some speedup to edge-split modifier and bevel.
2012-11-12 05:53:43 +00:00
2bb174cfa4
style cleanup: indentation
2012-11-09 09:33:28 +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
c9c76a9a68
add compiler hints that failing to create a bmesh face is unlikely.
2012-10-01 11:12:49 +00:00
f5d3e361ce
fix for missing NULL check in init_render_texture() (possibly own fault), also remove some redundant code.
2012-09-19 08:09:22 +00:00
ca7d1ec39d
style cleanup: use <pre> for doxygen ascii art
2012-08-13 15:17:15 +00:00
3289628610
fix [ #31489 ] EdgeSplit modifier prevents All Edge to be work correctly since 2.63
...
bmesh regression where the edge-draw flag was cleared when bmesh modifiers were used.
2012-05-22 07:26:45 +00:00
3d9d26d6bf
fix [ #31197 ] Limited dissolve leaves faces/edges/verts behind
...
bad bug where vertices could be in a face more then once (which isn't allowed), now check for this when creating a face.
2012-05-06 18:04:37 +00:00
2a1ba8c85b
style cleanup: formatting and some float/double promotion
2012-05-03 19:57:24 +00:00
ef054e165c
style cleanup: format 'for' loop macros the same as for loops, some renaming to BLI_array macros.
2012-04-28 15:14:16 +00:00
47b6b60e5a
code cleanup: no functional change - had both EDBM_editselection_* and BM_editselection_* funcs, replace EDBM_ funcs.
2012-04-24 21:19:18 +00:00
475ecbb0ce
remove BM_ITER, BM_ITER_INDEX macros, use ELEM or MESH variants only (the maceros had unused args in both cases).
2012-04-19 13:47:58 +00:00
75b869e428
style cleanup: BM_ITER / BM_ITER_INDEX / BMO_ITER
2012-04-19 11:44:12 +00:00
a1e6e75add
fix [ #30936 ] Face Inset gives bad UV's
2012-04-13 10:37:33 +00:00
8fa17c5362
code cleanup: no functional changes
...
- memset(..., -1) is used incorrectly even though it worked: MOD_solidify.c - thanks Halley from IRC for noticing this. use fill_vn_i() instead.
- quiet warnings in editmesh_slide.c
- cleanup comments in bmesh and some other minor comment additions.
2012-04-07 12:37:15 +00:00
3f3b88ff42
bmesh iterators were passing the BMesh as data argument to BM_iter_new(), harmless but incorrect.
...
replace these cases with iterator macro.
2012-04-03 00:28:38 +00:00
7044d80639
code cleanup: remove BMesh * args from query functions which don't need it
2012-03-22 07:53:11 +00:00
d76c05cd36
style cleanup: bmesh
2012-03-21 09:10:08 +00:00
4f19c1a995
spelling cleanup
2012-03-18 07:38:51 +00:00
ea79c470d2
bmesh: Fkey now creates faces from 5 or more disconnected vertices.
...
Added function: BM_face_create_ngon_vcloud
creating quads and tris use this too since it finds the best face winding direction based on surrounding face (if any)
2012-03-14 22:57:15 +00:00
b330abc290
remove Object member from BMesh struct - was only used for undo and BMEditMesh already stores an object pointer.
...
also fix for own mistake with mesh conversion refactor, shape key index was off by 1 when switching editmode.
2012-03-11 19:58:56 +00:00
4f7bdc59d3
style cleanup: spelling.
...
also remove large, duplicate comments from sunsky.h
2012-03-09 00:41:09 +00:00
17786b3b3e
building without python works again, cleanup bmesh include paths (cmake and scons).
2012-03-08 03:25:53 +00:00
921a7556fb
bmesh - changes to mempool allocations
...
* double default edge allocation size (double the number of verts/faces).
* CustomData_bmesh_init_pool was using allocsize & chunksize as the same variable. Now use type specific chunk size.
* bmesh copy and editmode conversion now allocate the BMesh mempool size needed for the entire vert/edge/loop/face arrays since its known already.
2012-03-01 22:17:04 +00:00
9aafe32147
bmmesh api - use struct rather than int[4] to initialize mesh sizes.
...
also correct bad assert() in previous commit.
2012-03-01 20:09:17 +00:00
a6f420b828
update doxygen comments for bmesh.
2012-02-29 06:55:10 +00:00
dcfd1dd7e2
code cleanup: de-duplicate bmesh face creation code,
2012-02-28 19:30:44 +00:00
2a7f1af61e
Code Cleanup:
...
- apply some rules for function naming conventions, added to main bmesh doc in bmesh.h.
- remove unused function BM_loops_to_corners().
2012-02-28 19:10:53 +00:00
d1d11bbe9b
more header re-arranging.
...
Some function comments were in headers, some in the C files, some in both.
Moved function comments from headers into the C files.
2012-02-28 18:28:30 +00:00
e828b10251
Code Cleanup
...
* remove one the changes to fix #30374 , instead just check if the face exists.
* remove some unneeded edge checks in BM_face_create_quad_tri_v().
2012-02-28 08:17:53 +00:00
7536bcbe70
Code Cleanup: bmesh
...
* remove unneeded struct's from headers.
* give argument names for return ** pointers r_ prefix.
2012-02-28 07:42:48 +00:00
94f171f2c6
fix [ #30374 ] Can't Fill Triangular Face
...
the problem was a triangle couldnt be made when there was a quad that used 3 of the verts.
* now check if overlapping face has same length as the one to be created.
* an unrelated fix - the output of a triangle was not being flagged by the bmesh_contextual_create operator.
2012-02-28 07:19:28 +00:00
4c3e3e93a9
bmesh minor api edits to be a little more typesafe.
2012-02-27 14:57:09 +00:00
e17bf02c2d
Code Cleanup:
...
* made bmesh_structure.h function names more consistant.
* remove unused code in bmesh_structure.c
* removed 'Edge Flip' operator (missing from bmesh but looked into trunk feature and dont think its worth keeping).
* tagged some BMESH_TODO's
2012-02-27 13:47:53 +00:00
c65b3b73fd
bmesh api cleanup
...
* better type safety for BM_elem_flag_* and BM_elem_index_* functions.
* add BMElem type to be used where BMFace/Edge/Vert/Loop can be interchanged.
* fix bug in select manifold, found when making functions more strict.
2012-02-25 22:23:40 +00:00
98aececc8e
bmesh code cleanup
...
* change BMO_elem_flag_* defines to inline functions.
* BMO_slot_map_insert() is too big for an inline function - un-inline it.
* remove redundant casts.
2012-02-25 20:58:03 +00:00
afc56a0b10
copying bmesh dir on its own from bmesh branch
2012-02-19 18:31:04 +00:00