Campbell Barton
48639af5f8
use input and output slots for bmesh operators, needed for the python api to get return values.
2012-11-19 14:58:31 +00:00
Joshua Leung
2d68893d40
Request from Riggers/Animators at BlenderPRO:
...
Armature modifiers added via Ctrl-P operation will no longer have "envelope"
deforms enabled. This helps cut down the number of unintended deformations
arising from rouge-sized envelopes or stray control bones.
2012-11-18 13:10:43 +00:00
Campbell Barton
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
Campbell Barton
317dff520c
fix for skin modifier calling rotate_normalized_v3_v3v3fl with a non unit length axis.
2012-11-18 11:48:21 +00:00
Campbell Barton
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
Campbell Barton
fd9dac77d1
bevel now only takes manifold edges (so it doesnt need to check for them)
2012-11-18 09:33:11 +00:00
Campbell Barton
02049cfe6b
commented bevel modifier code now calls bevel direct rather then the bevel operator.
2012-11-18 08:56:47 +00:00
Campbell Barton
b67e52ae3a
minor edits so new bevel operator can be used from the modifier (testing only, still disabled by default)
2012-11-16 03:23:46 +00:00
Campbell Barton
6cdb555e6e
bmesh refactor - rename some of the BM_****_share_****_count() functions to BM_***_share_check()
...
some of these were only returning a boolean, others returned a count even though only a boolean was needed.
split some of the functions in two as well where check/count are both needed.
2012-11-09 14:52:05 +00:00
Campbell Barton
2bb174cfa4
style cleanup: indentation
2012-11-09 09:33:28 +00:00
Campbell Barton
9b948717b0
code cleanup: float <> double conversion.
2012-11-03 18:23:30 +00:00
Campbell Barton
25591e958d
style cleanup: tabs & whitespace
2012-11-03 15:35:03 +00:00
Campbell Barton
00acdb6292
remove CD_POLYINDEX customdata layer:
...
reported as [#29376 ] BMESH_TODO: remove tessface CD_ORIGINDEX layer
for a single mesh there could be 3 origindex mappings stored, one on the polygons and 2 on the tessfaces.
(CD_POLYINDEX and CD_ORIGINDEX).
as Andrew suggests, now tessfaces (which are really a cache of polygons), using origindex to point to polygons on
the same derived mesh, and polygons only store the original index values.
2012-10-30 19:20:17 +00:00
Campbell Barton
a1856a38f6
minor improvement to vector api use, replace add, multiply by 0.5 with mid_v3_v3v3
2012-10-30 14:22:49 +00:00
Campbell Barton
eb69d1c1ae
style cleanup: also quiet harmless compiler warning.
2012-10-29 15:43:54 +00:00
Campbell Barton
5549904171
style cleanup
2012-10-29 02:11:40 +00:00
Bastien Montagne
ec67334e25
A few more BMesh errors messages translated, and "automated" translation for modifers too!
2012-10-27 11:12:09 +00:00
Lukas Toenne
91584b0f0c
Fix for missing bracket in r51674.
2012-10-27 11:10:12 +00:00
Campbell Barton
aeba4950c3
style cleanup
2012-10-27 10:42:28 +00:00
Campbell Barton
0e494b74c4
style cleanup
2012-10-26 04:14:10 +00:00
Campbell Barton
e5a31eff37
code cleanup: use squared length for comparisons and is_zero_v# rather then checking length == 0.
2012-10-25 23:04:33 +00:00
Campbell Barton
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
Campbell Barton
c93978d445
code cleanup: some edits for unused vars in recent smooth addition and some style edits.
2012-10-24 11:31:57 +00:00
Daniel Genrich
3ce334e188
Merge GSoC project from branch: Laplacian Smooth (Operator & Modifier)
...
by Alexander Pinzon Fernandez (apinzonf)
Supported by Google Summer of Code 2012
Project Documentation:
http://wiki.blender.org/index.php/User:Apinzonf
Manual Page:
http://wiki.blender.org/index.php/User:Apinzonf/Doc:2.6/Manual/Modifiers/Deform/Laplacian_Smooth
2012-10-24 10:39:11 +00:00
Campbell Barton
2de2acc681
add CDDM_from_bmesh(), avoids using BMEditMesh in modifiers.
2012-10-24 07:24:11 +00:00
Campbell Barton
3fab39f76f
style cleanup: modifier structs
2012-10-24 05:45:54 +00:00
Campbell Barton
dd36983520
enable decimate modifier for curves.
2012-10-24 05:44:27 +00:00
Campbell Barton
fec81d9b56
use min_ max_ functions in more places.
...
also fix minor error in MOD decimate when the modifier did nothing the reported face count would be wrong.
2012-10-23 16:21:55 +00:00
Campbell Barton
f70d2c65d8
rename api functions...
...
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-23 13:28:22 +00:00
Campbell Barton
9c58865d20
code cleanup: remove $Id's that crept back in, also osl style edits
2012-10-23 11:47:23 +00:00
Campbell Barton
13940cc78e
fix for issues in new decimator
...
- when an edge exists across a quad, dont attempt to triangulate it. (such a case isn't so common anyway)
- silly mistake when checking if anything needed to be done in the modifier, percent was being checked for 1.0 even when not used.
2012-10-23 06:37:58 +00:00
Campbell Barton
a82af0d220
add option to planar decimator to collapse all verts that define face boundries (verts that 2 faces share and have 2 edge users).
...
avoids ugly stepping between faces when applying on curves surfaces. (but less useful for architectural style models)
2012-10-23 06:13:56 +00:00
Campbell Barton
1ea210a8dc
add option for decimate-collapse to keep triangulated geometry (normally quads stay as quads when not collapsed).
2012-10-23 05:30:10 +00:00
Campbell Barton
bbe0deb8af
add limited dissolve as a decimation type to the decimate modifier.
2012-10-23 05:20:02 +00:00
Campbell Barton
0636886715
add un-subdivude as an optional method for the decimate modifier, gives more even geometry & nicer results in some cases.
2012-10-23 04:26:39 +00:00
Campbell Barton
1767b65846
style cleanup: also rename bmesh_decimate.c --> bmesh_decimate_collapse.c
2012-10-23 03:38:26 +00:00
Campbell Barton
23baf8c9c3
code cleanup: check defgroup_name_index() return value != -1, rather then checking >= 0.
...
also remove unused bmesh decimator code.
2012-10-22 17:19:05 +00:00
Campbell Barton
3526ae9805
add vertex group option to decimate modifier, handy if you want to pin some parts of the geometry.
2012-10-22 15:39:06 +00:00
Campbell Barton
ddc2dbc2a4
style cleanup
2012-10-22 08:15:51 +00:00
Campbell Barton
a4b2783169
small optimization for BLI_heap(), give some speedup in decimeter.
...
- use unsigned ints only (where mixing signed/unsigned)
- turn heap_swap into an inline function, add SWAP_TVAL macro to swap values using a temp value as storage.
- added type checking SHIFT3/4 macros
also style cleanup for CTR_Map
2012-10-22 03:25:53 +00:00
Campbell Barton
226a5ee834
remove LOD_Decimator (c++ decimator), now replaced by bmesh decimator. also remove CTR c++ classes that are no longer used.
2012-10-22 02:39:26 +00:00
Campbell Barton
2342209c95
enable bmesh decimator by default.
2012-10-22 02:09:41 +00:00
Campbell Barton
248b2fc6d6
bmesh-decimator update
...
- update face normals when triangulating.
- avoid divide by zero when interpolating customdata on a zero length edge.
- replace zero float comparisons with fabsf() < FLT_EPSILON to avoid numeric error.
also renamed BLI_heap_empty() --> BLI_heap_is_empty() so its obviously readonly function.
2012-10-21 15:20:53 +00:00
Bastien Montagne
26d0492653
A final bunch of UI messages fixes and tweaks, and some BKE_report()<->BKE_reportf() fixes.
2012-10-21 14:02:30 +00:00
Campbell Barton
d599b643b7
style cleanup: bge, switch statements mostly.
...
also left bmesh decimator on in previous commit.
2012-10-21 07:58:38 +00:00
Campbell Barton
f3ece5a108
style cleanup: trailing tabs & expand some non prefix tabs into spaces.
2012-10-21 05:46:41 +00:00
Campbell Barton
8944dab58a
bmesh decimator support for loop & edge customdata. (most importantly UVs and vertex colors).
2012-10-20 17:31:07 +00:00
Campbell Barton
23d43396ff
code cleanup: quiet -Wshadow warning, var name changes for splice functions and add assert for BM_edge_splice() when edges don't use the same vertices.
2012-10-20 09:56:40 +00:00
Campbell Barton
e527ce552e
add option to initialize heap with a known number of elements, since this may be known in advance - it avoids re-allocing too much.
2012-10-19 10:40:32 +00:00
Campbell Barton
9b07c98bb4
code cleanup: minor style change & quiet warning, also add assert for BM_vert_splice() to check for invalid use.
2012-10-19 03:07:58 +00:00