ec30e3f00e
corrections to modifiers from recent normal handling changes
...
- solidify didn't define a dependsOnNormals callback (which it should have)
- build wasn't passing on dirty normals.
- decimate wasnt setting dirty normals.
2013-06-02 04:09:29 +00:00
8ca977b16e
change limited dissolve angle limit default from 15 -> 5 deg. since 15deg is quite high for 2 surfaces to be considered co-planar
2013-01-03 08:09:57 +00:00
3d69dbd44a
use openmp to thread some common bmesh operations
...
- BM_mesh_elem_toolflags_ensure / bmo_flag_layer_alloc / bmo_flag_layer_free / bmo_flag_layer_clear
- BM_mesh_select_flush
- EDBM_index_arrays_init
notes:
- mostly use openmp `sections` to split operations on vert/edge/face since this is a fairly minor change.
- split tool flag pool in 3, this means we can allocate exact sizes needed and iterate on them in threads without alloc'ing.
2012-12-12 05:04:01 +00:00
e35b235925
fix [ #33320 ] Decimate modifer in collapse is inconsistent when limiting to a vertex group
2012-11-28 02:49:06 +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
ec67334e25
A few more BMesh errors messages translated, and "automated" translation for modifers too!
2012-10-27 11:12:09 +00:00
2de2acc681
add CDDM_from_bmesh(), avoids using BMEditMesh in modifiers.
2012-10-24 07:24:11 +00:00
dd36983520
enable decimate modifier for curves.
2012-10-24 05:44:27 +00:00
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
9c58865d20
code cleanup: remove $Id's that crept back in, also osl style edits
2012-10-23 11:47:23 +00:00
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
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
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
bbe0deb8af
add limited dissolve as a decimation type to the decimate modifier.
2012-10-23 05:20:02 +00:00
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
1767b65846
style cleanup: also rename bmesh_decimate.c --> bmesh_decimate_collapse.c
2012-10-23 03:38:26 +00:00
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
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
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
2342209c95
enable bmesh decimator by default.
2012-10-22 02:09:41 +00:00
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
d599b643b7
style cleanup: bge, switch statements mostly.
...
also left bmesh decimator on in previous commit.
2012-10-21 07:58:38 +00:00
f3ece5a108
style cleanup: trailing tabs & expand some non prefix tabs into spaces.
2012-10-21 05:46:41 +00:00
8944dab58a
bmesh decimator support for loop & edge customdata. (most importantly UVs and vertex colors).
2012-10-20 17:31:07 +00:00
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
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
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
9beef61199
Fix format string warnings (gcc) by using string literals.
...
gcc 4.6 was giving warnings like this:
"warning: format not a string literal and no format arguments [-Wformat-security]"
2012-03-19 21:38:35 +00:00
1f6ae5e4fb
Minor UI messages fixes, and enabling i18n for all modifier_setError() error messages.
2012-03-17 14:27:46 +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
be1bc0eb98
rename
...
* CDDM_calc_edges --> CDDM_calc_edges_tessface
* CDDM_calc_edges_poly --> CDDM_calc_edges
2012-01-06 02:59:28 +00:00
7fd67392eb
added a function to ensure derived mesh has tessface's, in preparation for removal of tessface recalculation after each modifier runs.
2012-01-05 12:40:09 +00:00
8d8403c15e
for modifiers that are stull creating MFaces - call CDDM_tessfaces_to_faces rather then making an entire copy with CDDM_copy(result, 1)
2012-01-03 15:28:53 +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
15e6d6cd75
svn merge ^/trunk/blender -r41226:41227 .
2011-10-24 12:43:08 +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
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
352c0ba387
Fix for boolean modifier:
...
----------------------------------------------
Patch for making faces stop dissapearing when
using the boolean modifier submitted by
howardt in IRC.
2011-06-22 00:39:14 +00:00
1bb763922d
Fix for decimator:
...
----------------------------------------------
Patch for making faces stop dissapearing when
using the decimator submitted by howardt in IRC.
Also fixed crash for when input mesh had less than
three triangles
2011-06-22 00:34:08 +00:00
c98148a963
=bmesh= merge from trunk at r36153
2011-04-15 01:19:13 +00:00
c7fccc84bf
use NULL rather then 0 for pointer assignments & comparison, modifier, imbuf & editors.
2011-03-05 10:29:10 +00:00
f01261d040
merge with/from trunk at r35190
2011-02-27 06:19:40 +00:00
Nathan Letwory
caa7bea1c5
doxygendoxygen: blender/modifiers tagged.
2011-02-25 13:57:17 +00:00
4124804b4e
many functions in blender are not marked static but should be.
...
most local modifier,GPU,ImBuf and Interface functions are now static.
also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
2011-02-13 14:16:36 +00:00
329e2d8037
Todo issue: sculpting on deformed mesh
...
Used a crazyspace approach (like in edit mode), but only modifiers with
deformMatricies are allowed atm (currently shapekeys and armature modifiers only).
All the rest modifiers had an warning message that they aren't applied because
of sculpt mode. Deformation of multires is also unsupported.
With all this restictions users will always see the actual "layer" (or maybe
mesh state would be more correct word) they are sculpting on.
Internal changes:
- All modifiers could have deformMatricies callback (the same as deformMatriciesEM but
for non-edit mode usage)
- Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it
could be generalized for usage in other painting modes (particle edit mode, i.e)
Todo:
- Implement crazyspace correction to support all kinds of deformation modifiers
- Maybe deformation of multires isn't so difficult?
- And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed
without code duplicating?
2011-01-31 20:02:51 +00:00
89c9aaaa25
remove references to BKE_utildefines where its not needed.
...
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00