bee7c20a97
move edge split into its own function which can be called by the modifier without having to call a bmesh operator (gives some speedup).
2012-12-12 12:57:27 +00:00
a9af563526
bmesh: lazy initialize bmesh tool flag pool, has the advantage that modifiers that dont use bmesh operators can skip allocating it.
2012-11-18 12:14:22 +00:00
0a3e0b816c
no need to update normals when running edge-split modifier since the normals are now set on conversion.
...
don't show 'Auto-Key' message when in editmode.
2012-10-24 11:53:48 +00:00
2de2acc681
add CDDM_from_bmesh(), avoids using BMEditMesh in modifiers.
2012-10-24 07:24:11 +00:00
90d215535e
add option so operators can be called with a flag, currently the only flag is to respect hidden geometry.
...
this is useful for bmesh tools that operate in object mode or for modifiers which would previously use hidden faces in some cases.
2012-07-21 00:58:02 +00:00
3d9637f60a
Fix [ #32133 ] Numpad Enter key doesnt work with Loopcut (worked in 2.49b)
...
Adding PADENTER to the "OK" keys...
2012-07-17 17:55:23 +00:00
69a7e0af02
rename bmesh ops since they are exposed in an api now.
2012-06-30 15:27:13 +00:00
4ce2219901
edge split modifier now works more like pre-bmesh --- 3+ faces using an edge always split.
2012-06-05 19:24:01 +00:00
318b44fe5d
Refactor of modifiers' apply function: now use a single bit-flag parameter to pass options, instead of having one parameter per boolean flag (i.e. replaces current useRenderParams and isFinalCalc by a single ModifierApplyFlag flag. ModifierApplyFlag is an enum defined in BKE_modifier.h). This way we won't anymore have to edit all modifier files when e.g. adding a new control flag!
...
Should have no effect over modifier behavior.
2012-05-09 15:00:26 +00:00
3d8e58751c
style cleanup: modifiers
2012-05-06 13:38:33 +00:00
5da2135eef
code cleanup: double promotion & some style cleanup
2012-05-03 21:35:04 +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
5a90ea77bc
style cleanup: follow style guide for formatting of if/for/while loops, and else if's
2012-03-24 06:24:53 +00:00
675628d24d
bmesh: debugging function to help resolve issues with corrupt mesh data - BM_mesh_validate()
2012-03-22 05:13:43 +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
89a963fb7f
style cleanup: comment blocks
2012-03-09 18:28:30 +00:00
bd83487dab
fix [ #30459 ] BMesh Edge Split Hangs.
...
edge split result is still not correct in this case but at least avoid eternal loop.
also - dont tag sharp edges with <2 faces for splitting.
2012-03-05 21:17:24 +00:00
6b85b96952
bmesh py api (some api changes and doc additions)
...
* remove 'select' and 'hide' from BMLoop
* remove BMesh.update
* add BMesh.normal_update(skip_hidden=False)
* add BMElemSet.index_update(), eg: bm.verts.index_update()
bmesh api
* BM_mesh_normals_update() now takes skip_hidden as an argument
(previously this was default behavior), however this isnt good when
using BMesh modifiers, where you want all normals to be recalculated.
* add bm_iter_itype_htype_map[], to get the iter type from a BMesh
iterator.
2012-02-24 05:56:06 +00:00
2fd4877c76
minor bmesh api changes.
...
- use SMOOTH flag for edges (removed sharp flag and inverted), gives us an extra flag slot available.
- rename BM_edge_is_nonmanifold --> BM_edge_is_manifold and invert result, BM_vert_is_nonmanifold too.
2012-02-18 11:44:30 +00:00
37ff2a291f
BMesh api function naming.
...
`_set` suffix was used in two ways (confusing)
* to set a flag to be enabled.
* to set a value passed as an argument.
now use enable/disable rather then set/clear for functions which change flags.
also remove BME_weld.c, the file didnt contain much code and the current extrude works well
2012-02-12 18:43:59 +00:00
9a92cd8008
bmesh minor refactor
...
* add DM_to_bmesh_ex, DM_to_bmesh for converting a derived mesh to a BMesh (rather than a BMEditMesh)
* have a generic variable for allocsize: bm_mesh_allocsize_default, rather than copying the values about.
2012-02-12 17:44:10 +00:00
7c2715a7ad
rename CDDM_To_BMesh to DM_to_editbmesh, since theres no requirement for
...
the input to be a CDDM.
remove conversions to CDDM for edge split and bevel (will give some
speedup).
2012-02-12 15:02:33 +00:00
b6dcdb065d
code refactor, function renaming for bmesh.
...
These changes are to make the bmesh api more consistent and easier to learn, grouping similar functions which is convenient for autocomplete.
This uses similar convention to RNA.
* use face/loop/edge/vert as a prefix for functions.
* use 'elem' as a prefix too for functions that can take any type with a BMHeader.
* changed from camel case to underscore separated (like RNA).
2012-02-12 10:51:45 +00:00
8b43813b69
rename BM_ flags for BMHeader->hflag to BM_ELEM_ to be more clear that these flags apply to bmesh elements.
2012-02-12 06:24:12 +00:00
2ea8a3b8ca
remove CDDM_copy second argument, added CDDM_copy_from_tessface instead.
...
this function caused too many conflicts and in most cases was zero anyway.
2012-01-29 21:59:47 +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
1b505e6d1b
replace CDDM_calc_normals_mapping with CDDM_calc_normals when used within modifiers.
...
this way modifiers wont be calculating tessface's which CDDM_calc_normals_mapping will do if not already calculated.
2012-01-20 13:25:54 +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
ded0af482b
rename CDDM_calc_normals() --> CDDM_calc_normals_mapping
2012-01-06 00:12:24 +00:00
c174f5682c
syncing modifiers with trunk - only small changes
2011-12-29 04:04:27 +00:00
2cd5436a81
svn merge ^/trunk/blender -r42839:42871
2011-12-25 21:31:19 +00:00
eb3beca8d4
replace u_int64_t with cc99's uint64_t as suggested by Nicholas Bishop.
2011-12-24 03:03:42 +00:00
52558fbe2e
basic bevel modifier working again in bmesh, closely matches the edge split modifier since it calls out to the bevel operator.
...
- edge angles are ok
- width is interpreted as percent
added BMESH_TODO comments with details about what needs working on.
2011-11-28 04:19:44 +00:00
9776f56a39
change edge split modifier to loop over all edges and compare the face angles, rather then looping over all faces and looking at every faces-edges-fance which would compare faces twice.
2011-11-28 03:41:14 +00:00
707fcc42a3
replace macros with math functions
2011-11-16 17:37:20 +00:00
1e035381d1
Workaround #29205 : Crash while using Edge Split modifier (while rotating vertices in edit mode with edge split viewable)
...
This bug is caused by exactly the same reason as #26316 : differences in how new vertices/edges
are getting calculated first and how they're adding later. In some cases extra vertices are
creating which weren't counted before.
This patch prevents crash in such situations, but result mesh can be a bit wrong.
This should work fine in bmesh, so think it's acceptable to have such workaround
before actual fix coming with bmesh.
2011-11-10 08:29:22 +00:00
15e6d6cd75
svn merge ^/trunk/blender -r41226:41227 .
2011-10-24 12:43:08 +00:00
ad1d3dd30f
svn merge ^/trunk/blender -r41175:41200 --- will need to apply fix after
2011-10-24 07:56:42 +00:00
4a04f72069
remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n
2011-10-23 17:52:20 +00:00
74017cb020
header cleanup and typo's
2011-10-22 01:53:35 +00:00
69732dbe21
Miscellaneous cleanup, comment changes, and asserts. Should be no functional changes.
2011-10-10 14:56:09 +00:00
55a560c0c4
svn merge -r39286:39385 https://svn.blender.org/svnroot/bf-blender/trunk/blender
2011-08-16 06:30:14 +00:00
c265a686d8
Modifiers: add callback to loop over each texture assigned to a modifier.
2011-08-12 18:11:22 +00:00
f122a74b1e
svn merge -r37078:37335 https://svn.blender.org/svnroot/bf-blender/trunk/blender
2011-06-09 15:20:29 +00:00
e86d85b78e
=bmesh= fixed an edgesplit bug
2011-06-05 00:54:14 +00:00
f5318bc04d
=bmesh= edge split modifier uses bmesh code for now, slower but works.
2011-06-01 19:47:21 +00:00
142d87f154
=bmesh= committing not-quite-functional edge split modifier code before replacing it with a bmesh version, taking too much time to debug right now.
2011-06-01 19:30:19 +00:00
068c627013
remove unused vars
2011-05-13 13:17:30 +00:00