Commit Graph

779 Commits

Author SHA1 Message Date
0b5a995cfd code cleanup: rename G.rt to G.debug_value 2012-08-08 18:21:54 +00:00
a423f55ca9 Avoid recursion in skin modifier's edge matrix calculations
This is a potential fix for bug [#32263] Instant Crash with Skin
modifier.
2012-08-05 23:29:50 +00:00
c41e1e434a code cleanup: replace MIN2/MAX2 with minf/maxf 2012-07-29 16:59:51 +00:00
94576f20f4 fix own error in recent commit - possible uninitialized value. 2012-07-28 00:08:26 +00:00
4c2de5e0c7 fix some types and incorrect info 2012-07-26 17:41:09 +00:00
7f1a76887f workaround for depsgraph update issue with booleans. 2012-07-26 17:14:23 +00:00
Lukas Toenne
1bb491348b Fix #31339, Modifying mesh destroys particle system.
The particle system modifier has to ensure tesselation before testing for topology changes. It compares the number of vertices, edges and tesselation faces to the previously stored values.

Note that this test only detects a subset of actual topology changes (where the number of elements differs), but this is a known limitation we have to live with for now.
2012-07-25 11:26:10 +00:00
62a73381a7 use fabsf when using floats. 2012-07-21 15:27:40 +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
6f0950a1f4 use math vector init functions 2012-07-17 12:05:15 +00:00
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
677876e429 Fix normals around root nodes of skin modifier output.
The direction for these are flipped from other end caps, so add a root
flag to indicate whether the cap polygon's vertex output order should be
reversed.

Fixes bug [#32079] Skin-modifier calculates root's normals wrong
projects.blender.org/tracker/index.php?func=detail&aid=32079&group_id=9&atid=498
2012-07-12 05:55:07 +00:00
b91bc4f037 use gcc attrubutes to warn on unused return values and arguments which shouldnt be NULL.
also remove IDP_AppendArray's return value which wasnt the new item in the array (which is odd/misleading), but wasnt used anywhere either.
2012-07-08 06:00:27 +00:00
8b9977e354 Fixing a typo! 2012-07-07 23:38:40 +00:00
cfb7aee017 style cleanup 2012-07-07 22:51:57 +00:00
f058a3dd42 Fix [#31923] Particle instanced objects don't show textures in render
Actually, particle instance modifier was still using tessfaces, but copying poly cdata!

Simply made it using poly/loop.
2012-07-06 10:03:27 +00:00
8b865c01cd style cleanup: comments 2012-06-30 22:49:33 +00:00
2932cded40 fix for own error renaming bmesh operator dupe 2012-06-30 21:19:12 +00:00
69a7e0af02 rename bmesh ops since they are exposed in an api now. 2012-06-30 15:27:13 +00:00
15cb064e1b style cleanup 2012-06-25 07:24:48 +00:00
74c9c24d27 style cleanyp 2012-06-23 23:22:19 +00:00
1a625d1416 code cleanup: use const float's where possible and specify vector size. 2012-06-12 23:19:52 +00:00
a18b303a76 Fix incorrectly deleted elements in array modifier caps.
Add check for merging vertices into vertices that are themselves
marked for merge, was already done for array eleements but not end
caps.

Fixes bug [#31695] Array Modifier: End Cap fails if all vertices are merged

Also corrected some reversed assert arguments.
2012-06-11 09:41:08 +00:00
9564138847 Another fix for #31743: check for DM's verts number matches passed number of vertices
Now bevelled splines shall work in the same way as meshes.
2012-06-08 09:15:45 +00:00
87211a49ab Fix #31743: Applying Smooth modifier to a curve crashes Blender
Actually there were two different issues involved here:

- Recently enabled Smooth modifier wasn't actually designed for curves, so
  it in fact requires a bit bigger work to make it working.

  For now added check for object's typy in this modifier and if it's not
  mesh, it wouldn't try to use edges.

  The reason why it worked in 3d viewport is that creating DM from curve while
  displist is still ocntrcuting for would result in empty CDDM and that leads to
  not taking edges into account, only vertexCos passed to modifier would be used.

  This makes it behaving a bit differently from if it was a mesh, but still gives
  quite reasonable result. Would leave actual fix for a guy who enabled smooth
  modifier.

- Another issue is related on ensuring sculpt mask layer after applying modifier.
  This shall happen only for meshes.
2012-06-08 08:17:34 +00:00
3c85e213db Enabling smooth modifier for curves 2012-06-06 00:03:39 +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
d24a27ca36 Fix remesh output changing when input is moved relative to origin.
Fixes bug [#31626] Remesh modifier generates different results
depending on object origin position

Was incorrectly initializing bounding box min/max to zero, now uses
INIT_MINMAX.
2012-06-04 23:53:59 +00:00
5189356d58 style cleanup 2012-06-04 20:11:09 +00:00
7985fd0d1f Part-Bugfix, Part-Feature Completion: 'Armature' Option for Mask Modifier
finally works

This commit finally hooks up the Mask Modifier's "Armature" option with the
relevant depsgraph updates on bone selection. Hence, this feature finally works
as it was originally intended - that is, bone selections can be used to control
which parts of the mesh that the mask modifier is applied to are displayed,
giving riggers more freedom to experiment with rigs that don't necessarily
feature overbearing/cluttering widgets.

Regarding the implementation ("has_viz_deps" flag):
This feature is just the "tip of the iceberg" of a number of related set of
rigging/visual animation tools I've had in mind for a while now (dating back to
the introduction of this modifier). Key considerations
- Not all rigs will use this, so we don't want an extra (depsgraph-flush +
search) recalc cost for those that don't use this.
- There are some planned features which will also use this
2012-06-03 07:49:54 +00:00
1d4213b2bc Mask Modifier - Bugfix and dead-code cleanup
'Armature' mode for the Mask Modifier was not working at all anymore even when
the selection <-> depsgraph recalc issue was patched to work (this latter fix is
coming in another commit). It appears that this probably happened during one or
more of the refactors which may have taken place around here over the years
since I first introduced it.

This commit does two things:
* Removed the unused/redundant "vgroupHash"
* Fixed the incorrect assumption used for determining if the vertex actually
belonged to a vgroup corresponding to a selected bone.
2012-06-03 01:05:20 +00:00
405f6a7c77 code cleanup:
style and remove BM_face_find_longest/shortest_edge functions,
... instead use BM_face_find_longest/shortest_loop()->e
2012-05-27 11:10:27 +00:00
63788b47d6 add vector versions of hsv_to_rgb, rgb_to_hsv & rgb_to_hsv_compat 2012-05-26 11:01:01 +00:00
c895c0ee23 patch [#31579] Solidify modifier: Add new option "Flip Normals"
- previous commit was so similar to the patch Shinsuke wrote, better to add him as contributor, this commit will add to generated credits.
- this commit has no functional changes.
2012-05-26 09:39:04 +00:00
e343a69e76 solidify option to flip normals 2012-05-26 09:18:47 +00:00
29e89dc996 code cleanup: solidify modifier - remove dead assignment and unneeded NULL check. 2012-05-25 06:54:01 +00:00
75a8de49fc Fix bug #31582, Crash with Skin modifier
Buffer overflow error in collecting split_face vertices.
2012-05-24 19:41:09 +00:00
da710b3e14 style cleanup: brace placement/newlines 2012-05-24 16:35:45 +00:00
27220c3340 solidify modifier - replace define, no longer needed since switching to bmesh. 2012-05-23 06:39:29 +00:00
8f886b3958 solidify modifier - replace VECADDFAC with inline function. 2012-05-23 06:32:02 +00:00
f537691c6b fix solidify modifier flipping of rim polygons. 2012-05-23 06:25:31 +00:00
f16f545c6e style cleanup
also fix example for mesh uv's
2012-05-22 16:24:09 +00:00
e1eeb81792 style cleanu: skin modifier 2012-05-22 15:57:42 +00:00
8801330c18 Add skin modifier: DNA, RNA, UI, and MOD_skin.c implementation.
Skin modifier documentation:
http://wiki.blender.org/index.php/User:Nicholasbishop/SkinModifier

Implementation based in part off the paper "B-Mesh: A Fast Modeling
System for Base Meshes of 3D Articulated Shapes" (Zhongping Ji,
Ligang Liu, Yigang Wang)

Note that to avoid confusion with Blender's BMesh data structure,
this tool is renamed as the Skin modifier.

The B-Mesh paper is current available here:
http://www.math.zju.edu.cn/ligangliu/CAGD/Projects/BMesh/

The main missing features in this code compared to the paper are:

* No mesh evolution. The paper suggests iteratively subsurfing the
  skin output and adapting the output to better conform with the
  spheres of influence surrounding each vertex.

* No mesh fairing. The paper suggests re-aligning output edges to
  follow principal mesh curvatures.

* No auxiliary balls. These would serve to influence mesh
  evolution, which as noted above is not implemented.

The code also adds some features not present in the paper:

* Loops in the input edge graph.

* Concave surfaces around branch nodes. The paper does not discuss
  how to handle non-convex regions; this code adds a number of
  cleanup operations to handle many (though not all) of these
  cases.
2012-05-22 15:29:01 +00:00
eb023322ef style cleanup: mmap_win32 2012-05-22 13:20:01 +00:00
8b2ffc1428 fix for error in last commit and minor speedup to looping over edges. 2012-05-22 10:10:14 +00:00
e7647e1585 solidify modifier - remove a loop on all edges. 2012-05-22 09:53:33 +00:00
2d2d36fe3b code cleanup:
- style - multi-line ifs move braces onto new lines.
- iterators - convert some to macros, other split up and move brace.
2012-05-20 19:49:27 +00:00
ed679693c9 style cleanup: whitespace/indentation 2012-05-19 13:55:54 +00:00