Commit Graph

360 Commits

Author SHA1 Message Date
Alex Fraser
f276b3a3cd Adding a new SPH solver that is more physically accurate. See patch #29681
http://projects.blender.org/tracker/index.php?func=detail&aid=29681&group_id=9&atid=127

The solver was mostly implemented by John Mansour at VPAC, with help from me and with funding from the AutoCRC. The SPH formulation is due to Gingold and Monaghan, and the smoothing kernel is due to Wendland.

This solver does not replace the old one; it is available as an option. Note that the new solver uses different units than the old one. The patch page has a couple of attachments that can be used to test the new solver, particularly sphclassical_dam_s0.01_grav.blend (ignore the earlier tests). The simulation in that file compares well with a physical experimental dam break; details in a paper by Changhong Hu and Makoto Sueyoshi, also referred to on that page.
2012-12-14 04:57:26 +00:00
Alex Fraser
9a848c1a9d Can now set a lower bound on the number of subframes (i.e. an upper bound on the time step size) for fluid simulations. Previously, the "subframes" parameter was not available when the adaptive time step was enabled; now they can both be set. The two settings can be used together to greatly increase simulation stability. 2012-12-12 22:42:55 +00:00
34fecdd60e code cleanup: use min/max functions rather then macros. 2012-11-07 12:31:05 +00:00
23baf8c9c3 code cleanup: check defgroup_name_index() return value != -1, rather then checking >= 0.
also remove unused bmesh decimator code.
2012-10-22 17:19:05 +00:00
0e6e171cdd Revert part of own r51193 (now I know where Courant comes from...), and add another exception to UI messages spellchecker! Thanks to Lockal for pointing this. 2012-10-11 18:41:07 +00:00
bfadb9c272 Minor UI messages typo fixes. 2012-10-08 20:25:07 +00:00
6c1da4d022 code cleanup: make many functions static 2012-09-22 14:07:55 +00:00
97ee630dcd Fix #32201: particle size compatibility broken for object/group duplication.
After 2.63 there was a bugfix to take object scale into account for the duplicated
objects, but this breaks compatibility on earlier files. Now there is an option to
control if the scale should be used or not.

Scale is used by default on newer files, and not used on older ones.
2012-08-22 13:10:43 +00:00
026e2b3d03 Fix dummy cp/pt error (harmless in blender itself, but breaking doc and i18n tools...). 2012-05-26 08:31:34 +00:00
a9f6e54384 style cleanup: mostly whitespace in rna 2012-05-12 11:01:29 +00:00
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
6701933f5c style cleanup 2012-04-21 12:51:47 +00:00
6fed4fdd5e Style cleanup (mostly line length, also no final point in tips...). 2012-04-15 13:41:07 +00:00
e5bda9f827 Fixed some UI message typos (spotted by Leon Cheung, thx). 2012-04-14 15:44:31 +00:00
906cd4d8a6 update python keywords (remove exec, print, add nonlocal) 2012-04-06 05:53:01 +00:00
f469e0652a Node socket values now only have soft limits, rather than hard limits, so you
can type in any value, and only when sliding the number value there is a limit.
It was already possible to assign any value to a socket with node linking, so
this shouldn't cause any new issues.

Also raised the limits on the math nodes, with a patch by Agustin Benavidez.
2012-03-30 16:09:05 +00:00
7c8c1a0718 Minor fixes to recent new UI messages. 2012-03-26 06:20:59 +00:00
fcd5550a42 Some advanced particle rotation modes and reorganization of the rotation panel:
- More angular velocity modes to support creative effects.
- Renamed "Initial Rotation" to "Initial Orientation" to better reflect the functionality
- Renamed "Spin" angular velocity mode to "Velocity".
- Organized the rotation panel a bit better.
- Also some better names and tooltips for the different rotation values.
2012-03-20 01:00:28 +00:00
709ca0ece9 "Fix" for [#30098] Particle rotation wrong / explode modifier
- The main problem was that in order to be accurate all particle
  rotations have to be calculated incrementally so the only working
  solution is to store rotations to the point cache (previously
  this was only done for dynamic rotations). This can nearly double
  the point cache size so it's not ideal to have this as a default
  as in many cases you don't care about particle rotations.
- Particle rotation panel now has a new "enable" checkbox that
  enables rotation calculations and the storing of rotations to
  point cache.
- Old files will have rotations enabled via do_versions so that in
  the worst case old files will only get bigger point caches, but no
  sudden loss of particle rotations.
2012-03-18 21:33:00 +00:00
ed43b652ee Code style edits (mostly spliting long lines, and removing trailing spaces).
Note about long lines: I did not touch to two pieces of code (because I don’t see any way to keep a nicely formated, compact code, with shorter lines):
* The node types definitions into rna_nodetree_types.h
* The vgroup name functions into rna_particle.c
2012-03-18 09:27:36 +00:00
4f19c1a995 spelling cleanup 2012-03-18 07:38:51 +00:00
0114d78c33 Code cleanup in rna files (huge, higly automated with py script).
Addresses:
* C++ comments.
* Spaces after if/for/while/switch statements.
* Spaces around assignment operators.
2012-03-05 23:30:41 +00:00
937c5494c4 A (hopefully last) bunch of fixes and tweaks to UI label and messages (found while translating in french). 2011-12-04 17:36:13 +00:00
fdfd7045eb A bunch of fixes and tweaks in RNA messages, found while translating them in french... 2011-11-26 12:30:01 +00:00
2345efc6c5 Patch #29336: renaming UV (Texture) Layer to UV Map in the user interface,
by Gaia Clary.

Rationale: the name was confusing and not always used consistently, and this
map itself is not something that can be layered, rather the map can be used
as texture coordinates in some layered setup.

The original intent was to indicate this contained more than just UV's, but
the game engine settings have already been moved out, and apparently users
didn't really get this from the name anyway.
2011-11-23 17:25:25 +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
74017cb020 header cleanup and typo's 2011-10-22 01:53:35 +00:00
04db8ad282 misc cleanup
- remove redundant casts
- replace strcmp's with "" to just check first char.
- added WM_event_print(), debug mode only to print events since the structs values are not that meaningful.
- added warnings if locale/font dirs cant be found.
2011-10-21 08:16:15 +00:00
8fae0c6d7e Particle dupliobject rotation changes:
There has been quite a bit of fuss about particle dupliobject rotation in 2.59, so here are some changes to make things work a bit more consistently and predictably in 2.60.

Much of the confusion has been about what the "Initial rotation" for particles actually means. Simply put it's just a vector that that the particles (and the dupliobjects) are aligned to and around which they can be rotated with the phase controls. I've now renamed these controls under a label "Rotation axis".

In 2.59 and previous versions the dupliobject's global x-axis was aligned to the particle rotation axis for non-hair particles. This meant that the object's own rotation (in addition to the particle rotation) could effect the dupliobjects' rotations. This old behavior can still be used with the "Rotation" option in the particle render panel when object/group is set as the visualization. This option is also activated automatically for old files to maintain backwards compatibility.

Now the default dupliobject rotations ignore the object's own rotation completely and align the object's tracking axis to the particle rotation axis. The tracking axis can be found under the Object tab -> Animation Hacks panel.

In 2.58 the way of calculating the rotation for hair didn't work as intended and enabled many non-functional combinations of options. For this reason I removed most of the rotation options for hair in 2.59. Now the options have been reimplemented better and the dupliobject's tracking axis is aligned to the hair direction by default (Rotation axis = Velocity / Hair). All the other axis options work too along with the phase controls.
2011-10-16 16:14:36 +00:00
58eb0d7967 keep particle system names unique 2011-10-15 11:55:09 +00:00
16ee427576 rna_ParticleDupliWeight_name_length was returning an incorrect value. Zealous debug checks are testing the (buf[len] == '\0') 2011-10-06 23:16:12 +00:00
fe63d07883 Minor: Other UI strings typos and tweaks. 2011-09-29 15:58:15 +00:00
0aa19de52f add missing imports to wm.py and remove "." from rna descriptions. 2011-09-26 09:31:24 +00:00
Alex Fraser
558b646216 Committing patch #27442: Adaptive time step for fluid particles. The number of
subframes can now be altered automatically while an SPH (fluid particle)
simulation is running.
2011-09-25 11:51:28 +00:00
3379099a6e patch [#28616] Multiple particle systems support
from Andrea Rugliancich (andrearu01)
2011-09-25 07:42:43 +00:00
a6d9a5a972 Code cleanup: warning fixes. 2011-09-05 19:27:21 +00:00
fa2ba5fbf5 - use static vars and functions where possible.
- use NULL rather than 0 when used as pointers.
2011-08-28 05:06:30 +00:00
Lukas Toenne
587b51831d More flexible size options for particle billboards. This adds scale factors for width and height of billboards, relative to the particle size. It's useful when the particle size is primarily used for collision and the like, so the billboard appearance can be adjusted independently. Also allows non-square billboards.
In addition the billboards can be scaled by the particle velocity with optional head and tail factors (similar to line drawing options). This allows for pseudo-motionblur effects.
2011-06-23 18:59:47 +00:00
81982140b8 Fix #27550: texture node editor header was still showing texture datablock
selector even if there is no active texture slot or node, now it's disabled
in that case.
2011-06-01 16:17:38 +00:00
348f947d80 tag unused rna args. 2011-05-31 02:14:25 +00:00
155d589333 add the property as an argument to enum item functions, not used yet but needed for dynamic python enums. 2011-05-26 13:38:16 +00:00
c4dca3890b RNA glitch: particle path step values had soft & hard limits the wrong way around. 2011-05-16 20:48:14 +00:00
7459133648 Patch [#27344] 300+ New/changed tooltips by Davis Sorenson (dsavi). Thanks a lot!
Reviewed by Tom Musgrove and myself. 

From the patch description:
ValterVB on #blendercoders submitted a long list of missing tooltips in Blender, and I went through the list and added all I knew. After that I crowdsourced the rest by putting a spreadsheet on Google docs and having people fill in the missing ones that I didn't know. So if there's some weird tooltip in there that doesn't make sense, that's why.

Thanks to Wolter, spacetug and others on BlenderArtists for contributing tooltips.
2011-05-15 17:59:48 +00:00
f9f771cd01 converted more mixed tab/space indentations to tabs. only whitespace changes. 2011-04-21 15:53:30 +00:00
2d1e663440 patch [#26861] Spelling, Typos, and Grammar
- also fix own bad assert from yesterday & remove testing cmake print.
2011-04-11 01:18:25 +00:00
36858f6342 Fix for [#26747] Crash accessing dynamic hair RNA
* Removed hairkey.co_dynamic. The hairkey access is now simplified so that hairkey.co are the dynamic coordinates whenever the hair is dynamic.
2011-04-04 13:47:28 +00:00
5b996e04d2 Fix for [#26750] Particles Can Only Address first 16 Material Indexes
* The rna maximum hadn't been updated when the maximum material count was increased.
2011-04-04 13:33:31 +00:00
ac1cb5ee05 - quiet new warnings with gcc 4.6
- use BLI math funcs for normal float/short conversion.
- correct some un-intentional float/double promotions.
2011-03-28 02:34:55 +00:00
0c03fa78c1 fix [#26601] Python error when use of autocomplete
Was a naming collision with 'keys' python method, reserve keys/items/values/get for python.
Updated animsys_update.py for shapekey data paths.

renamed:
  Particle.hair --> hair_keys
  Particle.keys --> particle_keys
  Key.keys --> key_blocks
  EnumProperty.items --> enum_items
  KeyMap.items --> keymap_items 

noted:
  http://wiki.blender.org/index.php/Dev:2.5/Py/API/Updates#Since_2.56a
2011-03-25 02:12:44 +00:00
72fe34efb2 tweaks not to load webbrowser or math modules on startup. 2011-03-23 13:04:35 +00:00