Commit Graph

1380 Commits

Author SHA1 Message Date
Gaia Clary
3ebbfe2c40 new parameter in assign_material() to specify where material shall be assigned: object, obdata, by userpref(default) (as discussed with ideasman_42) 2012-08-12 17:12:07 +00:00
Campbell Barton
0b5a995cfd code cleanup: rename G.rt to G.debug_value 2012-08-08 18:21:54 +00:00
Nicholas Bishop
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
Campbell Barton
c41e1e434a code cleanup: replace MIN2/MAX2 with minf/maxf 2012-07-29 16:59:51 +00:00
Campbell Barton
94576f20f4 fix own error in recent commit - possible uninitialized value. 2012-07-28 00:08:26 +00:00
Campbell Barton
4c2de5e0c7 fix some types and incorrect info 2012-07-26 17:41:09 +00:00
Campbell Barton
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
Campbell Barton
62a73381a7 use fabsf when using floats. 2012-07-21 15:27:40 +00:00
Campbell Barton
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
Bastien Montagne
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
Campbell Barton
6f0950a1f4 use math vector init functions 2012-07-17 12:05:15 +00:00
Campbell Barton
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
Nicholas Bishop
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
Campbell Barton
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
Bastien Montagne
8b9977e354 Fixing a typo! 2012-07-07 23:38:40 +00:00
Campbell Barton
cfb7aee017 style cleanup 2012-07-07 22:51:57 +00:00
Bastien Montagne
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
Campbell Barton
8b865c01cd style cleanup: comments 2012-06-30 22:49:33 +00:00
Campbell Barton
2932cded40 fix for own error renaming bmesh operator dupe 2012-06-30 21:19:12 +00:00
Campbell Barton
69a7e0af02 rename bmesh ops since they are exposed in an api now. 2012-06-30 15:27:13 +00:00
Campbell Barton
15cb064e1b style cleanup 2012-06-25 07:24:48 +00:00
Campbell Barton
74c9c24d27 style cleanyp 2012-06-23 23:22:19 +00:00
Campbell Barton
1a625d1416 code cleanup: use const float's where possible and specify vector size. 2012-06-12 23:19:52 +00:00
Nicholas Bishop
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
Sergey Sharybin
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
Sergey Sharybin
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
Daniel Salazar
3c85e213db Enabling smooth modifier for curves 2012-06-06 00:03:39 +00:00
Campbell Barton
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
Nicholas Bishop
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
Campbell Barton
5189356d58 style cleanup 2012-06-04 20:11:09 +00:00
Joshua Leung
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
Joshua Leung
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
Campbell Barton
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
Campbell Barton
63788b47d6 add vector versions of hsv_to_rgb, rgb_to_hsv & rgb_to_hsv_compat 2012-05-26 11:01:01 +00:00
Campbell Barton
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
Campbell Barton
e343a69e76 solidify option to flip normals 2012-05-26 09:18:47 +00:00
Campbell Barton
29e89dc996 code cleanup: solidify modifier - remove dead assignment and unneeded NULL check. 2012-05-25 06:54:01 +00:00
Nicholas Bishop
75a8de49fc Fix bug #31582, Crash with Skin modifier
Buffer overflow error in collecting split_face vertices.
2012-05-24 19:41:09 +00:00
Campbell Barton
da710b3e14 style cleanup: brace placement/newlines 2012-05-24 16:35:45 +00:00
Campbell Barton
27220c3340 solidify modifier - replace define, no longer needed since switching to bmesh. 2012-05-23 06:39:29 +00:00
Campbell Barton
8f886b3958 solidify modifier - replace VECADDFAC with inline function. 2012-05-23 06:32:02 +00:00
Campbell Barton
f537691c6b fix solidify modifier flipping of rim polygons. 2012-05-23 06:25:31 +00:00
Campbell Barton
f16f545c6e style cleanup
also fix example for mesh uv's
2012-05-22 16:24:09 +00:00
Campbell Barton
e1eeb81792 style cleanu: skin modifier 2012-05-22 15:57:42 +00:00
Nicholas Bishop
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
Campbell Barton
eb023322ef style cleanup: mmap_win32 2012-05-22 13:20:01 +00:00
Campbell Barton
8b2ffc1428 fix for error in last commit and minor speedup to looping over edges. 2012-05-22 10:10:14 +00:00
Campbell Barton
e7647e1585 solidify modifier - remove a loop on all edges. 2012-05-22 09:53:33 +00:00
Campbell Barton
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