Commit Graph

770 Commits

Author SHA1 Message Date
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
Campbell Barton
ed679693c9 style cleanup: whitespace/indentation 2012-05-19 13:55:54 +00:00
Campbell Barton
76f28921dc add option for screw modifier to smooth shade. (renamed smooth_shading to use_smooth_shade for remesh modifier too) 2012-05-18 10:37:49 +00:00
Nicholas Bishop
b5a6be37f1 Add smooth-shading option for remesh modifier.
The remesh modifier doesn't currently get any data from original
faces, so even if the input mesh was entirely smooth none of the
output faces would be. Solved by adding a new
dna-flag/rna-bool/UI-checkbox to smooth shade the output.

Requested by Daniel Salazar.
2012-05-18 06:10:47 +00:00
Nicholas Bishop
b5a6afd767 Enable remesh modifier for curves. 2012-05-17 17:16:51 +00:00
Nicholas Bishop
ed33320e3f Code cleanup: simplify standard GHash creation.
Added four new functions as shortcuts to creating GHashes that use the
standard ptr/str/int/pair hash and compare functions.

GHash *BLI_ghash_ptr_new(const char *info);
GHash *BLI_ghash_str_new(const char *info);
GHash *BLI_ghash_int_new(const char *info);
GHash *BLI_ghash_pair_new(const char *info);

Replaced almost all occurrences of BLI_ghash_new() with one of the
above functions.
2012-05-16 00:51:36 +00:00
Brecht Van Lommel
5478b21b28 Fix: mirror modifier only mirrors first UV map (IRC report). 2012-05-15 15:02:02 +00:00
Daniel Genrich
8242f624a1 Cloth: Revert triangulation after talking with brecht.
People: Better use subsurf after cloth since you can get failing collisions otherwise!
2012-05-15 12:26:29 +00:00
Daniel Genrich
763a16cb70 Cloth:
- Triangulate Cloth Mesh for collisions
- Speed up collisions
- Remove EL Topo code
- Prepare code to incooperate El Topo self collisions (TODO next commits)


TODO:
----------
- Triangulation: Is custom data/uv preserved correctly?
- Use MPoly not tessface?
2012-05-15 11:14:50 +00:00
Campbell Barton
305d341ec2 code cleanup: use vector math function minmax_v3v3_v3() and other minor vector function edits. 2012-05-13 11:05:52 +00:00
Campbell Barton
a9f6e54384 style cleanup: mostly whitespace in rna 2012-05-12 11:01:29 +00:00