Commit Graph

47594 Commits

Author SHA1 Message Date
Campbell Barton
3bd71e9ad5 added the option to Blender.Library to 'link' data for malefico 2006-10-05 15:24:15 +00:00
Jens Ole Wund
21d6b199ab softbody self collision
ironing out a few glitches related to goal pinning
volatile test blend ->
http://www.wund.homepage.t-online.de/hidden/sb_col_must.blend
+ adding a few alternative collision ball calculation algos
since i did not want to blow up (waste)  DNA space without need,
coded as -1.0 -0.1 -1.1 values in 'ball size' (look at tooltip popup)
2006-10-04 21:36:55 +00:00
Campbell Barton
0c6bb8c079 mesh.transform() was applying the inverted 4x4 matrix to the normals, without removing the translation part.
iter with a char value did not allow for -1, my bad, using short now.
2006-10-04 17:06:29 +00:00
Campbell Barton
5dcf97c892 moved vector objects to getseters,
added in place operations.
  Vector_iadd   vec1+=vec2
  Vector_isub   vec1-=vec2
  Vector_imul   vec1*=float or vec1*=mat
  Vector_idiv   vec1/=float

length is now writable vec.length= float
2006-10-03 16:07:48 +00:00
Jens Ole Wund
c903e2c07b -bug fix
sometimes goal pinned vertices were omitted by self collision
2006-10-03 12:12:24 +00:00
Campbell Barton
6b7c4e09e8 Mathutils.Vector speedup
removed the need for casting python objects to Vectors pyobjects when performing vec/float arithmatic.
a PyObject for coercing has also been removed from the vector struct so a little less memory will be used also.


Benchmarked before and after this change
___________________________________
import Blender
v= Blender.Mathutils.Vector
m= Blender.Mathutils.Matrix

a= v(1,2,3)
b= v(3,2,1)
c= m()
t= Blender.sys.time()
for i in xrange(20000000):
        a*b
        a*10
        a/10
        a+b
        b-a
        a*c

print Blender.sys.time()-t
_______________________________________

Before 63.5sec
after 49.5

about 3 sec of that is looping
2006-10-03 05:11:33 +00:00
Matt Ebb
815f115338 * Previous backwards compat commit to reset curve radius values to 1.0 on old
file was also happening on files made with current CVS (until next release).
Added a simple check to make it only happen on old files where there was no
radius before.
2006-10-03 00:16:22 +00:00
Jens Ole Wund
1ace6ec0ef softbody panel cosmetics
and a forgotten debug print .. tsk
2006-10-02 17:05:56 +00:00
Andrea Weikert
ecfdda30cd - fix for relative path: BLI_strncpy needs to be passed len+1 !
(introduced by my last patch - ouch)
2006-10-02 16:11:57 +00:00
Jens Ole Wund
ab92fca306 softbodies
mostly reshuffeling UI to have things where i'd expect them to be
2006-10-01 21:49:10 +00:00
Martin Poirier
1ea97e5552 Patch: [ #5036 ] IPO Curve Mirroring by Joshua Leung (aligorith)
This patch adds the feature of IPO curve mirroring. It mirrors the selected keyframes in the active ipo curves over a user-nominated mirror-line.

Options are:
- Mirror over current frame
- Mirror over vertical axis (X = 0)
- Mirror over horizontal axis (Y = 0)

Functionality can be accessed from:
- Hotkey M in IPO editor
- Submenu in header of IPO editor
2006-10-01 19:45:37 +00:00
Martin Poirier
e5ba49349f Patch: [ #5046 ] IPO Editor -> Axis Locking for Transform by Joshua Leung (aligorith)
** This is a heavily modified version of the patch, but the idea is the same. **

This adds X and Y as hotkey for constraining IPO transforms (grab only) and also fixes the display to only show relevant information when constraining (grab and scale).
2006-10-01 19:29:46 +00:00
Martin Poirier
ed2560488b As discussed during meeting, Changed curve length/tilt markers to indicate direction.
That is, a 3D curve now displays as ->->->-> instead of -|-|-|-|.

Comparing the two, I didn't find the arrow display any more confusing then the straight lines when dealing with loops and tilt variations. Sharp turns are more likely to display crossed lines though.

Others should feel free to disagree and make it better.
2006-10-01 18:28:46 +00:00
Tom Musgrove
a88807b6dd ==Mat4ToEul==
a utility function to convert 4x4 matrices to a euler rotation, contributed by Joshua Lueng (aligorith)
2006-10-01 16:49:41 +00:00
Tom Musgrove
7e469efd43 ==kkey action column select update==
added constraint key column selection to column selection code, patch by Joshua Leung (aligorith)
2006-10-01 15:55:09 +00:00
Simon Clitherow
4d1a7ef042 Added missing check for 'WITH_BF_INTERNATIONAL'. This fixes loading truetype fonts for text objects. 2006-10-01 12:39:31 +00:00
Brecht Van Lommel
dfa01a56ba Fix for bug #5044: random crashes when rendering.
This one is of my own making, removed too many locks. Thanks Malefico for reporting.
2006-09-30 21:29:47 +00:00
Campbell Barton
32b1e2383b 3rd attempt to commit, metaball fixes and small vector optimization 2006-09-30 14:14:49 +00:00
Jens Ole Wund
8e7b403924 new softbody feature:
simple (naive) self collision
estimates a collision ball
using the spring lenght to attached neighbours
(idea stolen from old cloth modifier files, but i'm sure ZAZ and genscher won't mind)
-- usefull for untangeling static cloth like objects
-- may be used for cloth simulation with known limitations
like 'tunnel effect' if objects are moving too fast ...

demo -- volatile files
http://www.wund.homepage.t-online.de/hidden/sb_without_selfcol.avi
http://www.wund.homepage.t-online.de/hidden/sb_with_selfcoll.avi

have fun
BM
2006-09-28 20:27:46 +00:00
Geoffrey Bantle
bd6e5d20c7 -> Sanity Check for Selection History
Some operations like edge loop deselect would cause selection history
to become invalid. Added a sanity check to countall() to try and catch
these when they happen.
2006-09-28 02:37:35 +00:00
Geoffrey Bantle
b4e97c01ff -> Enter/Exit editmode wait cursor flags
The wait cursor was being called during editmode enter and exit for meshes.
This was a problem for several reasons. First of all, python modules like
Mesh now make use of editmode features. These methods that wrap editmode
tools may be called many times during the execution of a script
and lead to the wait cursor rapidly flickering on and off.

The other problem was that the wait cursor wasn't being called for editmode
enter and exit of all data types. This is unified now.

-New Arguments

enter_editmode() should be passed a nonzero integer or simply EM_WAITCURSOR
if the wait cursor is desired. Currently only the python API passes a '0'
to enter_editmode()

exit_editmode() has several options and they are passed in as the bitflags
EM_FREEDATA, EM_FREEUNDO and EM_WAITCURSOR. These flags are defined in
BDR_editobject.h.
2006-09-28 01:55:44 +00:00
Geoffrey Bantle
d86af04e9a -> Add/Delete Scene fix
countall() wasn't being called when scenes were being added/deleted.
This caused the info header to temporarily display incorrect information
about scene statistics.
2006-09-27 23:39:19 +00:00
Brecht Van Lommel
9dce6081c0 Bugfix for a recent commit: live unwrapping behaved badly because
pinned uv charts were being auto rotated, they should just stay fixed.
2006-09-27 19:45:38 +00:00
Campbell Barton
0cd7ee76a4 made fgon edges not draw lengths with length draw option 2006-09-27 18:08:54 +00:00
Campbell Barton
ad51edd3bf Adding MDD import and export from patch 4969 with modifications, (import and export rvks, MDD is from lightwave AFAIK)
Added Mesh .key .removeAllKeys() and .insertKey() for MDD support (was using NMesh just for keys before)
Since this is aparently an experemental feature in NMesh we may want to change this.
2006-09-27 16:33:02 +00:00
Jens Ole Wund
2d11fbe192 fix for homegrown bug in softbody rigidity
springs inserted twice caused unreal stiffness in ODEs
-> bad performance killers
2006-09-27 06:59:27 +00:00
Geoffrey Bantle
a39ca26700 -> Misspelled tooltip for 'Enable Script Links'
Fixed a minor mispelling in the tooltip, 'and' was written as 'amd'.
2006-09-27 06:40:10 +00:00
Jens Ole Wund
d0899c2642 Rigidity only for meshes 2006-09-26 17:16:23 +00:00
Jens Ole Wund
d8874df09c New softbody option: adjustable rigidity.
Gives local structure stability for though fabrics, thin steelplates ..
even suzanne gets pretty crash resistant that way.
If non zero it not only adds diagonals but all other "2edge-wide" springs
so it somehow replaces stiff quads for meshes too.
2006-09-26 12:53:57 +00:00
Campbell Barton
e6251f6ae7 removed .parent by mistake in Object.c
made some of the importers raise a nice error if a file disnt exist rather then a python error. will eventually apply to all.
2006-09-26 04:39:46 +00:00
Brecht Van Lommel
6587c3c6ba Some UV/Image window changes:
- A new Save image function, next to the existing Save As.
- Shortcut keys Alt+S, Alt+R, Alt+O and Alt+N for Save, Reload, Open
  and New image respectively, consistent with the text editor window.
- Hide Select and UVs menus when UV editing isn't active.
- Removed duplicate and unused code, also moved some functions.
2006-09-25 22:00:52 +00:00
Campbell Barton
65895ba6bd corrected image doc mistake - image.makeCurrent()
BPyRender.imageFromObjectsOrtho() returns an image

Made all image bake scripts ask before overwriting a file. as well as displaying the newly created image once its rendered.
2006-09-25 19:35:43 +00:00
Brecht Van Lommel
7e4f1425b7 Fix for bug #4828: random rotations of uv charts after unwrapping.
This never worked that well, so now after unwrapping, uv charts are
rotated to fit in their smallest enclosing rectangle. This should give
the expected behavior in the most common cases.
2006-09-25 15:40:26 +00:00
Brecht Van Lommel
99c7e3cb9e Last commit broke the smear brush, thanks Jens for spotting this. 2006-09-25 12:30:12 +00:00
Matt Ebb
01e7f02dcd * This should have come along with the proportional edit commit. tsk tsk. 2006-09-25 11:33:53 +00:00
Ton Roosendaal
2662c7ae79 Bugfix #5034
When using new Shadowbuffer option "Auto clip", the clipping planes could
become so narrow that sampling code - using ints - could result in
overflows (sign flip). This especially for small shadow buffers with high
bias values.

This fix adds an extra check in shadow sampling for such overflows.
2006-09-25 09:35:04 +00:00
Matt Ebb
aec9f8969c * tweak to outliner line colour 2006-09-25 07:59:50 +00:00
Matt Ebb
6b775741c0 * Gave curve transforms Tilt and Shrink/Fatten a home in the v3d menu 2006-09-25 06:11:16 +00:00
Matt Ebb
2e7aa1dbf5 * Proportional edit mode 'random' falloff
This is another proportional edit falloff that slightly randomises the
influence. It's not strictly random, it's blended with linear falloff so that
it's a bit smoother. The nice thing is that it works with all transforms, axis
locking etc, including the special ones like to sphere, shrink/fatten/etc. It
can be used for all sorts of things like roughening surfaces. I most recently
used it to add a bit of randomness to the folds of some cloth. I
made a short demo video here: http://mke3.net/blender/etc/prop_random-h264.mov

Also included nicer icons for the falloff types.
2006-09-25 05:15:19 +00:00
Alfredo de Greef
db7c3d3271 A possible problem was noted by Cyril Brulebois regarding copyright issues
with regards to the noise functions in yafray based on Ken Musgrave's
original code.
I had left the 'Copyright' notice in the comments, and according to
Cyril Brulebois this is a problem. In fact, from what I understand this
makes it even impossible to use or modify the code in other software.
But since it is not a verbatim copy of the code but rather based on Musgrave's
work, he suggested I change it to explicitely state that it is in fact
based on the code from the 'Texturing & Modeling' book.
And since the yafray code is in turn based on the blender code, I better
adapt the blender code too.

This reminded me that I also have forgotten to include the copyright notice
in the mersenne twister rng code I used for the Python Noise module.
This does clearly state to include the original notice with any resdistributed
code, in modified form or not. So I added that too.

I hope that solves the problems.
2006-09-25 04:54:45 +00:00
Matt Ebb
71284959d5 * Added backwards compat check for curve radius value, so old files act properly. 2006-09-25 03:22:54 +00:00
Matt Ebb
7639f0890a * Updated the auto-generated UV test image (Image Editor -> Image -> New). The
previous one was ok as a quick fix during orange and showed distortion obviously
but it was kind of extreme, and I'd rather not be blamed for causing blindness
or brain tumours because of it. This pattern is nicer, and still shows
distortion and its location on the map well.
2006-09-25 03:15:58 +00:00
Brecht Van Lommel
ef7200741b Basic pressure sensitivity support in imagepaint, for opacity, size,
falloff and spacing. Click the button labeled "P" next to the sliders.
Works best for opacity, other options can give poor quality strokes in
some cases. Also performance needs to be improved.

Remember, works only on X11 and Mac, no Windows support for tablets yet.
2006-09-24 19:29:25 +00:00
Campbell Barton
7f7f35d1ca fixed mistakes and warnings in previous commit. 2006-09-24 09:21:18 +00:00
Ton Roosendaal
f6a6ad5688 New render feature:
If you define multiple RenderLayers with different view-layers, these
view-layers are rendered entirely, not looking at the faces that are
invisible. This allows layered composite, but only when geometry does
not intersect or overlap partially.

This new Renderlayer option "All Z values" will fill in the Z of not
visible faces (in the Scene view-layers) as well, which then allows
masking out as if these faces were set to Material option "Env".

Here's an example composite to show the effect:

Two cubes, in view-layers 1 and 2, and rendered in 2 RenderLayers:
http://www.blender.org/bf/all_z0.jpg

Same scene, but with both RenderLayers set to "All Z values":
http://www.blender.org/bf/all_z.jpg
2006-09-24 09:21:04 +00:00
Campbell Barton
e8495d1fdd Extra generic errors for Scene, Groups and Metaballs to raise errors when trying to do anything with a python objects thats had its data removed in Blender.
Added to existing scn.objects
scn.objects.active    (get/set the active object for the scene)

scn.objects.selected    - an iterator that only uses selected objects
scn.objects.context    - an iterator on objects in the user context (visible in the current 3d views layer and selected)
These are the same type as scn.objects but .add() .remove() .new() .active etc raise errors. so scn.objects.selected.add() will raise an error.

Made nested loops possible with scn.objects, metaball.elements and ob.modifiers, by initializing the iter value as NULL and creating copys of the pyobject when _getIter() is called if ->iter is not NULL.
This is how pythons xrange() works.
2006-09-24 08:30:38 +00:00
Geoffrey Bantle
e136fe0acb -> Adjustable Tolerance for Knife Vertex Cutting
Previously had Vertex snapping in knife tool adjustable by the 'threshold'
value in the 'Mesh Tools' panel. This was actually a misunderstanding on
my part of a user request (oops). What was really needed was to make the
sensitivity of intersection code for vertex cutting adjustable. Vertex Snap
is now set at same tolerance as vertex selection.
2006-09-24 05:14:29 +00:00
Campbell Barton
d728cd1a52 new read only object property to be used for the collada exporter
ob.parentType and a constant dict Blender.Object.ParentTypes
2006-09-23 15:07:03 +00:00
Roland Hess
3c8fe64910 This commit adds backwards compatability for the new floor constraint
feature. Old files that had "sticky" set would not show "sticky" under
the new system. Not that anyone ever actually used "sticky".

Also, these commits only add support for rotated external target objects,
not target bones inside the same armature.
2006-09-22 16:42:39 +00:00
Roland Hess
4725ca6c02 This commit adds local target rotation support to the floor constraint,
making it much more useful. Requested and taunted for frequently by
Plumiferos folks. Click on "Use Rot" to take target object rotations
into account.

Good for using rotated empties, etc., as a sloped floor.
2006-09-22 15:57:58 +00:00