Commit Graph

29656 Commits

Author SHA1 Message Date
ab52d677bc simplify editmesh mapping lookups.
this really has no effect since they were not created or used, however if we want to use emDM_getEdge or emDM_getTessFace this will need to be called.
2012-01-24 18:20:33 +00:00
d5c4f030df correct error in recent merge. 2012-01-24 16:54:21 +00:00
4af4863baf svn merge ^/trunk/blender -r43639:43664 2012-01-24 16:18:20 +00:00
1f9e25ac1a comment unused assignment. 2012-01-24 15:51:44 +00:00
58c51bb551 quiet some warnings & (possible/unlikely error) 2012-01-24 15:37:50 +00:00
925234f1e0 New fix for [#29940] Stretch To constraint breaks scaling in Transform constraint, previous one caused bug [#29962] linked objects not correct on r4361, should be fixed now.
Org code was working with isotropic scaling, but when scaling only one axis, it was broken. First fix just disabled completly scale handling. This version only takes into account scaling along local Y axis, as this is the only one affecting that constraint!

Sorry for the mistake, hope this time it will be ok.
2012-01-24 13:17:32 +00:00
1c33126cf5 Fix #29975: Track Preview color channels not filtering correctly
Typo in checking bitflags
2012-01-24 12:25:03 +00:00
b8fe464b62 Bugfix: Circle-select in Pose Mode disregarded layer visibility, selecting
invisible bones too
2012-01-24 08:43:39 +00:00
9998d1235b Fix #29965: Crash: Memory psys node array: end corrupt
Original indices from right operand were used in boolean result derived mesh
which lead to crash if right operand has got more entities (faces/edges/vertices)
than left operand.
2012-01-24 08:43:17 +00:00
e634cb2607 Add the .Identity() classmethod to mathutils matrices. This allows the user
to create an identity matrix of a specific size without having to specify
all the values in the matrix and then use the .identity() method.
2012-01-24 01:56:44 +00:00
d7e30369f8 commented smoke collision derived mesh,
was storing its own copy of the collision mesh but never using it.
2012-01-24 01:21:43 +00:00
644e44e7b6 remove unneeded re-tessellation converting metaball to mesh. 2012-01-24 00:52:26 +00:00
e236fb157a fix leak in mirror modifier. 2012-01-24 00:26:12 +00:00
8c6120e5ff fix for crash with mesh undo with shape keys
'undomesh' was also used in confusing way (relied on mesh being first member).
2012-01-23 23:53:21 +00:00
7138e6aa9c comment unused code. 2012-01-23 23:39:51 +00:00
ebe01d06bc Misc picky edits to UI messages. 2012-01-23 22:57:46 +00:00
12531c5c76 fix for crash applying solidift after subsurf 2012-01-23 21:04:56 +00:00
d65a5a92f9 assertion when bvhtree_from_mesh_faces is called and tessfaces dont exist. 2012-01-23 20:46:38 +00:00
99dc4ec691 BLI_array_reserve from bmesh. 2012-01-23 19:42:22 +00:00
be0be0b1a9 Fix #29970: Crash trying to track disabled marker 2012-01-23 19:32:00 +00:00
690c77dd7d Fix #29934: New Carve library can't execute boolean operations in some cases
Issue was caused by left boolean operand consist of several intersecting manifolds
which make Carve triangulator confused and which can't be resolved in general case.
Added mesh pre-processing before actual applying boolean operator on it. This
preprocessing applies union operation on intersecting manifolds of the same object
so intersection edge loop with second object wouldn't confuse tesselator and correct
result would be returned.
Detecting of intersecting manifolds is based on AABB intersection check which leads
to some extra union operation called, but it's possible to speed things up from
Carve side so union operation of two not intersecting meshes would work faster.
Additional condition for running union for manifold is this manifolds intersects
AABB of second operand, so mesh topology wouldn't be changed at all in areas
where there's definitely no intersection between operands. It might be improved
so only manifolds which actually intersects second operand would be joined
together, but it'll slow things down a bit and prefer to do it only if it'll
be really a problem.

Additional change is fixed memory leak when boolean operation fails to run -
it was missed "delete" call if exception happens in Carve library.

From side effects of this change might be named boolean operation between
suzanne and another object: suzanne is consist of three intersecting open
manifolds, so this new meshes preprocessing leads to missed eyes in result
because of failure of merging two open manifolds. Don't think making suzanne
work for all setups should really be a goal, it's a bit crappy mesh for CSG
algorithms.
2012-01-23 17:43:41 +00:00
92aa15805d BMesh: Fix for previous own fix (re-enable DynamicPaint previews in Object mode).
In fact, we have to add a CD_WEIGHT_MCOL layer (if not yet present) when updating CD_WEIGHT_MLOOPCOL, else with modifiers modifying the topology (like subsurf), it will sigsev.

That step should probably be done at tesselation time, though…
2012-01-23 17:17:08 +00:00
5cc898ada2 svn merge ^/trunk/blender -r43616:43639 2012-01-23 16:46:35 +00:00
6c9438ea8a BMesh: Fix (re-enable) DynamicPaint previews in Object mode.
Also simplifies DM_update_weight_mcol: no need to update CD_WEIGHT_MCOL here, as it is anyway recreated from CD_WEIGHT_MLOOPCOL at tesselation time. Only commented out code for now.
2012-01-23 16:32:11 +00:00
76f03a2ee4 use same default as trunk for cylinder depth 2012-01-23 14:03:09 +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
001a15a721 speedup for mesh -> bmesh conversion
- was looping over all verts/edges/faces to setup the selection store, even when there was no selection store (mselect), since this is fairly common case, add a check.

also use BLI_array_growitems rather then BLI_array_growone to allocate in larger steps.
2012-01-23 13:50:00 +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
2d3b3f9bf1 minor refactor to main tesselation function
- reserve the array sizes to avoid re-allocing (even though its a lower limit it still helps)
- increase array size in larger steps then 1 by 1.
- avoid a few array lookups.
- use more obvious variable naming to make the function more readable.
2012-01-23 13:36:11 +00:00
74b4fd26d2 In order to maintain consistency with other uses of .remove(), these functions will be removed and reimplemented after the BMesh merge.
The main issue in an implementation of these functions is the need to constantly edit the vertex array and subsequently update the face and edge arrays.
2012-01-23 13:29:29 +00:00
f4b9e83741 improve editmode triangulation by re-using the loop array when
possiblem, this has to guess when the size is too big so as to re-
well.

If this isnt done, then the number of faces is used to allocate the
initial array to at least avoid many small allocs.

added BLI_array_reserve() to reserve elements and avoid reallocing many
small arrays when the loop starts.
2012-01-23 13:25:06 +00:00
25a3d11260 avoid using resizing array for transform (size is known to begin with, use single alloc) 2012-01-23 13:15:40 +00:00
be69b8b4fd modifier Apply as Shape is now Apply as Shape Key. Was confusing some users 2012-01-23 03:13:55 +00:00
37e1285042 Cloth: Add "velocity damping" to damping options. This will help with the "cloth wobbling" problem which accurs quite often when having animated characters with cloth. 2012-01-23 01:35:14 +00:00
62963525ce Fix for "[#29911] Crash on reading BL_ActionActuator.channelNames"
The crash occurred when an action actuator was attached to a non-armature object because objects that aren't armatures do not have pose data. A NotImplementedError is now raised if someone tries to access any of the following with an action actuator attached to a non-armature object:

BL_ActionActuator.channelNames
BL_ActionActuator.getChannel()
BL_ActionActuator.setChannel()
2012-01-22 23:15:35 +00:00
c499f5120b Ocean Modifier UI fixes:
* Modifier Icon was missing in the outliner
* Fluid icon was used in the rna struct, fixed

Note: Ocean uses the Wave modifier icon atm, if we find a better one, this can be changed.
2012-01-22 22:30:45 +00:00
d9958e4f7b dissable double re-tesselation when entering editmode. 2012-01-22 22:20:20 +00:00
6d50149e7c dissable editmode tesselation calculation on exiting editmode, the mesh conversion function does this. 2012-01-22 22:06:12 +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
686ce92fe8 Committing patch "[#27676] Change window size/resolution in realtime" by me.
Description:
This patch allows the user to change the size of the window (or the resolution in fullscreen mode) using the new bge.render.setWindowSize() method. This only works in the Blenderplayer since it doesn't make a whole lot of sense for the embedded player.
2012-01-22 20:25:25 +00:00
a63efc00cc svn merge ^/trunk/blender -r43611:43616 2012-01-22 20:15:05 +00:00
6eb0ca9385 Merged with trunk (-r43609:43611): updated modifier preview.
Noted preview code for DynamicPaint is currently disabled, will see if I can re-enable it…
2012-01-22 20:05:26 +00:00
359e961a12 restrict stitching of same island uvs to only midpoint, without snapping case 2012-01-22 20:01:33 +00:00
008b0e90dd minor edit for operator error macro so it can return different values. 2012-01-22 19:52:41 +00:00
ab1600bee5 error in outliner parent patch - was using set string on an enum property. 2012-01-22 18:59:06 +00:00
b54182c93f minor header tidy up 2012-01-22 18:44:44 +00:00
4966982a5a svn merge ^/trunk/blender -r43564:43609 2012-01-22 18:04:35 +00:00
1a93d88343 Add weight preview to WeightVG modifiers, and first, simple/basic refactor of how modifiers can generate preview.
User side:
* Preview for DynamicPaint should keep the same behavior (for now). Weight preview should be somawhat quicker, though.
* Preview for WeightVG modifiers is only active in WeightPaint mode, and if the affected vgroup is the active one.
* Last active preview modifier in stack wins!

Note: that modifier preview topic is yet to be further refined, quite raw/incomplete for now.

Dev side:
* In draw code, renamed DRAW_DYNAMIC_PAINT_PREVIEW flag to DRAW_MODIFIERS_PREVIEW
* Removed use of MOD_DPAINT_PREVIEW_READY in DynamicPaint code (seems unecessary, and if it was, should be of more general scope).
* Added eModifierTypeFlag_UsesPreview to ModifierTypeFlag, for modifiers that can generate some preview data.
* Added three new modifier funcs, to handle preview modifiers in draw code / mod stack.
* For weights preview: added the generic DM_update_weight_mcol func, which can update WEIGHT_MCOL layer with either a given array of weights (currently used by DynamicPaint only), or from current active vgroup(s).

So now, draw code is fully generic (i.e. no more modifier-type checking in it). Mod stack code is generic to some extent, but will need more work.
2012-01-22 17:54:23 +00:00
df51fd74cf Quiet warnings in text editor 2012-01-22 17:26:56 +00:00