3a361f83bd
BMesh: Bugfix for infinite loop in r43937.
...
Infinite loop occured when quad-to-triangles operator.
The iterator increment in the do/while conditional gets executed after
the continue, so the iterator was getting double-incremented and thus
could skip past the first loop.
2012-02-07 01:50:25 +00:00
542dfd94a5
Style Cleanup, use TRUE/FALSE defines.
2012-02-07 01:46:47 +00:00
286073fb4e
Style Cleanup
2012-02-07 00:13:29 +00:00
81eedf6ada
use more optimal method of looping over face loops.
2012-02-06 23:48:42 +00:00
c6f07c651e
rename defines to upper case.
2012-02-06 22:57:25 +00:00
8733f89539
Style Cleanup: edits for line length
2012-02-06 06:26:54 +00:00
5c3fdfac77
Code Style: more code style edits.
2012-02-06 06:03:46 +00:00
e80c80dc51
replace some hard coded limits with defines
2012-02-06 05:18:08 +00:00
288a5b4b17
Style Cleanup: bmesh code style was a bit mixed - follow http://wiki.blender.org/index.php/User:Nazg-gul/CodeStyle
2012-02-06 04:37:27 +00:00
18763fd9c8
Minor Improvements...
...
- more efficient array growing
- use BM_NGON_STACK_SIZE for more static arrays
- dont use BLI_array for bevel code where size is known.
2012-02-05 23:09:07 +00:00
11d5a2d2eb
Code Cleanup: style change only
2012-02-05 15:55:28 +00:00
d186719f6d
optimization for interpolating between vertices when the factor is 0 or 1 (1 is used frequently).
2012-02-05 14:33:59 +00:00
dea59f60c4
fix for memory leak in bmesh_jekv(); --- dissolve would not free deform weights in some cases.
2012-02-05 14:07:25 +00:00
baa843d0d3
Code Cleanup: use vector functions for copying / adding UV's
2012-02-05 13:25:42 +00:00
ce90b472af
Fix [ #29984 ] Loop select crash on some wire edge meshes
...
Crash was because the loop walker's wire edge handling wasn't general enough (handled only wire edges that were connected to exactly one other wire edge)
2012-01-26 12:39:48 +00:00
c7e8af13d4
remove cellalloc, from my tests jemalloc beats cellalloc, so we better just use a better malloc replacement.
...
See Details:
http://wiki.blender.org/index.php/User:Ideasman42/BMeshBranchReview#Update_43694
2012-01-25 20:18:12 +00:00
3d01f13c43
fix for 3 issues when applying a deform modifier in editmode.
...
- drawing face normals was broken (using wrong index).
- drawing flat faces in solid mode would display ugly tesselation normals (as if the model was made of triangles).
- drawing smooth faces in solid mode would show vertex normals based on tesselation (heavily slant in 1 direction).
now the normals are calculated and stored per polygon (will save some memory too for non tri meshes).
2012-01-24 19:37:18 +00:00
41c0f0c733
replace BLI_array_growone() with BLI_array_growitems() when the size of the increase is known ahead of time, will reduce reallocs and give some speedup.
2012-01-23 13:51:44 +00:00
f8d21588b6
fix for leak in bmesh_jekv() when large ngons were being used.
...
also make BLI_array use more efficient.
2012-01-23 13:44:57 +00:00
40a1ecafb0
replace BLI_array_staticdeclare with BLI_array_fixedstack_declare()
...
This has the advantage that it only does 1 alloc at the beginning if the stack variable is too small.
(rather then constantly check to grow one, which is a really huge macro too).
2012-01-23 13:41:28 +00:00
61a5cc28be
disable re-tesselation for modifiers that use bmesh, array/bevel/edge split - were tesselating 2 times and didnt need to.
...
also comment array modifier from flushing selection flags.
2012-01-22 21:12:18 +00:00
b54182c93f
minor header tidy up
2012-01-22 18:44:44 +00:00
b3938cee63
minor warning/fixes
2012-01-20 15:22:20 +00:00
9c03a8ca77
quiet some warnings
2012-01-20 14:44:38 +00:00
e6b8469316
fix in recent commit with face normal calc optimization
2012-01-19 20:52:51 +00:00
7c82dbe68b
minor optimizations for bmesh_update_face_normal(), which is called while transforming.
2012-01-19 18:35:08 +00:00
ad3e9900d6
call CDDM_from_BMEditMesh without creating tessface data for modifiers.
...
- in the case of deform modifiers this is very safe (assuming the mods themselves dont need tessface data), since the DM is freed right after, so this is an easy speedup.
- in the case of bevel and split edge modifiers this should still work out fine since mods that need tessface data will generate it.
2012-01-18 15:29:25 +00:00
9d782c8a1a
argument for CDDM_from_BMEditMesh() so creating tessface data is optional, no functional changes since all callers use this so far.
2012-01-18 15:09:27 +00:00
fb07ed7cfe
fixed [ #29907 ] Uncoherent behaviour of Delete Edge Loop
2012-01-18 12:31:41 +00:00
72169b79a7
fix own error [ #28645 ] TODO: dissolve edges doesn't delete lonely vertices on edges
...
made this mistake when refactoring edge collapse code, though overall I think the function works better then before now.
2012-01-17 03:40:37 +00:00
444833a8fb
remove some redundant lines of code.
2011-12-21 07:36:30 +00:00
71edaceab9
avoid a loop over all faces in copy_mesh
2011-12-21 05:35:19 +00:00
8a8cb2c3ef
minor formatting edits
2011-12-21 04:56:04 +00:00
57e6ac47a0
use TRUE/FALSE rather then 1/0, no functional changes.
2011-12-21 03:33:32 +00:00
6254cc1c70
2 new bevel options for the operator and the modifier.
...
* even offset, uses same shell distance method as solidify to give even with beveled faces.
* distance offset, this is mostly for compatibility with the modifier in trunk which uses the bevel width as a distance rather then a percentage. at the moment this is awkward for the operator since it makes percent act differently where the 0-1 range doesnt make sense.
still need to bring back more options from trunks bevel modifier.
2011-12-13 09:57:19 +00:00
143a654e6f
formatting and minor refactor of some bmesh functions.
...
* BM_Make_Quadtriangle --> BM_Make_Face_QuadTri_v
* BM_Make_QuadTri --> BM_Make_Face_QuadTri
2011-12-13 06:56:10 +00:00
30d129593b
non functional changes & de-duplicate yet another face center function
2011-12-12 23:58:05 +00:00
8d0dc29aba
remove BLI_blenlib since its not needed in quite a few bmesh files
2011-12-12 22:34:05 +00:00
6b674008a1
give a more useful error message when bmesh operators fail to pass, was also leaking memory in this case.
2011-12-08 02:08:07 +00:00
1ec4629d88
replace function in commented code incase we want to bring it back
2011-12-07 21:55:59 +00:00
c5e6b44748
split BM_Collapse_Vert into 2 functions
...
* BM_Collapse_Vert_Faces
* BM_Collapse_Vert_Edges
since these are both quite different operations and callers where checking for one case or another anyway.
2011-12-07 21:54:14 +00:00
4b09f86c32
rename iterator type from htype to itype (htype means header type for BMesh elements)
2011-12-07 20:55:28 +00:00
d1183814c4
BMESH TODO - BM_editselection_plane now returns a useful orientation from a tri/quad.
2011-12-07 20:13:15 +00:00
0b805fcb5d
remove double lookus in BM_GetCDf/BM_SetCDf, also remove bm_cdata_get_single_float which was a duplicate of BM_GetCDf.
2011-12-06 08:07:12 +00:00
e4ced610ee
fix for crash calling rotate edge on a completely selected torus.
2011-12-06 03:31:28 +00:00
d74c564235
svn merge ^/trunk/blender -r42333:42361
2011-12-02 23:02:21 +00:00
34c5698d2e
some formatting edits & #if 0 files which are not used.
2011-12-02 22:35:05 +00:00
9010378425
fix [ #28645 ] TODO: dissolve edges doesn't delete lonely vertices on edges
...
dissolving a vert on 2 edges now uses 'JOIN EDGE KILL VERT'
also removed a fairly large block of code since 'jekv' handles this too.
2011-12-02 05:54:48 +00:00
f06bbaed92
split BMFlags_To_MEFlags & MEFlags_To_BMFlags into type specific calls, since we always know the types with these functions theres not much point in having generic calls with a type switch.
2011-12-01 01:41:56 +00:00
bc9b593909
More DM func renames, fixing some build breaks, renaming more stuff, also seems like it might be fixing the recent CDDM_copy corruption/leak bug
2011-11-30 18:03:56 +00:00