blender.git
13 years agoinitial commit of the fluid simulator.
Jean-Luc Peurière [Sun, 18 Sep 2005 13:27:12 +0000 (13:27 +0000)]
initial commit of the fluid simulator.
Ton reviewed and gave his blessing.
Zr, can you have a look ?

see :
http://projects.blender.org/tracker/?func=detail&atid=127&aid=3039&group_id=9

for initial comments.

N_T : the solver itself (elbeem) needs some works to get rid of
warnings

13 years agoNLA strips that had an internal repeat, didn't use correct timing to be
Ton Roosendaal [Sun, 18 Sep 2005 12:24:14 +0000 (12:24 +0000)]
NLA strips that had an internal repeat, didn't use correct timing to be
rendered with MBlur or Fields.
This is a fix for now, but I've already noticed several pending issues for
Blender's internal time control (time ipos, global time control, startframe
offsets, etc). That's for another time! (pun not intended :)

13 years agoSmall fixes, based on bugreports;
Ton Roosendaal [Sun, 18 Sep 2005 11:20:05 +0000 (11:20 +0000)]
Small fixes, based on bugreports;

- Toolbox item for shaded mode had wrong hotkey
- Added countall() for select menu stuff (in 3d header, groupmenu)
  That way the stats in infoheader are updated.
- Tooltip was wrong for X-axis mirror mode Armatures

13 years agocompatibility fix for Os X tiger with make.
Jean-Luc Peurière [Sun, 18 Sep 2005 11:19:53 +0000 (11:19 +0000)]
compatibility fix for Os X tiger with make.

add export USE_OSX10.4STUBS = 1 to your user-def.mk if compile fails
on missing definitions like _printf$LGDB

those are parts of the 10.4 sdk.

This is interim fix as scons dont need this and we should be able
to acheive same result with make. investigating further on this.

13 years agoupdate to .NET projectfiles
Joseph Gilbert [Fri, 16 Sep 2005 22:36:30 +0000 (22:36 +0000)]
update to .NET projectfiles
- added missing header files to src and src_cre projects

13 years ago- Imagepaint code cleanup:
Brecht Van Lommel [Fri, 16 Sep 2005 20:17:09 +0000 (20:17 +0000)]
- Imagepaint code cleanup:
  - Move UVTEXTTOOL variables into global Gip struct (like Gvp for
    vertex paint). This will probably be moved into SpaceImage later,
    so it is saved with the .blend file.
  - Disable tool drawing. a better solution needs to be found.
  - Panel button layout is still the same, this will change.

- Removed the NAN_TPT define, it has no use anymore.

13 years agoAnd this time, the right file.
Alexander Ewering [Thu, 15 Sep 2005 22:06:31 +0000 (22:06 +0000)]
And this time, the right file.

13 years agoFix the "Text to 3D Font" options in the text editor.
Alexander Ewering [Thu, 15 Sep 2005 22:03:41 +0000 (22:03 +0000)]
Fix the "Text to 3D Font" options in the text editor.

Note: The "Insert Text" button pretty much replaces this, together with
      the fact that editing 3d text is now much more powerful than the
      usual text editor ;-)

13 years agoBug fix #3036
Ton Roosendaal [Thu, 15 Sep 2005 20:34:41 +0000 (20:34 +0000)]
Bug fix #3036
Particle emittor parented to Bone in armature didnt update correct.

13 years agoMade sure makefiles use by default the lib/ libraries for OSX. It was
Ton Roosendaal [Thu, 15 Sep 2005 20:25:44 +0000 (20:25 +0000)]
Made sure makefiles use by default the lib/ libraries for OSX. It was
still pointing at /sw (fink stuff)

13 years agoAdding missing prototypes, removing unused variables, initializing vars,
Ton Roosendaal [Thu, 15 Sep 2005 17:32:24 +0000 (17:32 +0000)]
Adding missing prototypes, removing unused variables, initializing vars,
all to make compiling warning less again in gcc. :)

13 years agoGetting blender to compile for IRIX, in particular:
Chris Want [Wed, 14 Sep 2005 21:50:37 +0000 (21:50 +0000)]
Getting blender to compile for IRIX, in particular:

IK: needed to change abs() to TNT::abs() (thanks brecht!)

Freetype: FT_ENCODING_UNICODE typecast to FT_CharMap (thanks intrr!)

header_image: missing include for liballoc stuff

Ketsji: needed to declare m_hitObject as public in KX_MouseFocusSensor.h.
This is probably the wrong thing to do, but KX_MouseFocusSensor.cpp
compilation fails on line 279 otherwise.

13 years agoAn #include <wchar.h> was needed to ccoompile on OSX
Chris Want [Wed, 14 Sep 2005 20:07:32 +0000 (20:07 +0000)]
An #include <wchar.h> was needed to ccoompile on OSX

13 years agoCommented out the memset(...) in chtoutf8(), as it just assumed the buffer
Alexander Ewering [Wed, 14 Sep 2005 17:01:03 +0000 (17:01 +0000)]
Commented out the memset(...) in chtoutf8(), as it just assumed the buffer
was at least 16 bytes long, but wasn't always, and it gets cleared manually
by all calling places anyway.

Should fix crashes.

13 years agoOn behalf of Mika Saari, the famous Unicode Font support!
Alexander Ewering [Wed, 14 Sep 2005 14:02:21 +0000 (14:02 +0000)]
On behalf of Mika Saari, the famous Unicode Font support!

Further information is available here:

http://wiki.blender.org/bin/view.pl/Blenderdev/UnicodeFont3D

Shortlist of features:

- Unicode character support for Font3D
- UI to select characters from Unicode character list
- UI to select Unicode table areas
- Optimized character loading (Load only those characters which are used
  in font object)

Please test extensively if it breaks anything, try also loading/saving
files, packing fonts, etc.

The official text regression file in the regression suite should be a
good start.

Thanks to mikasaari for this very useful addition!

13 years ago=bpy beztriple: finally got the mem. management right with the help of khughes.
Toni Alatalo [Wed, 14 Sep 2005 13:59:43 +0000 (13:59 +0000)]
=bpy beztriple: finally got the mem. management right with the help of khughes.

13 years agoJust a little addition to docs based on a discussion on irc.
Toni Alatalo [Wed, 14 Sep 2005 11:04:13 +0000 (11:04 +0000)]
Just a little addition to docs based on a discussion on irc.

13 years agoMemory management flag to behave better, as hinted by Ken Hughes.
Toni Alatalo [Wed, 14 Sep 2005 10:53:51 +0000 (10:53 +0000)]
Memory management flag to behave better, as hinted by Ken Hughes.
Still not good, i.e. getting these when quitting: Error Totblock: 4
new bpytriple len: 60 0x8889bdc ... 'cause nothing frees them..

Changed the loop that parsed input args to PyArg_ParseTuple to have
support for passing ints from Python too as the floats that are the
coordinates. Didn't find PyInt_AsFloat and figured that this is an ok
way anyhow.

Changed the default handle mode from AUTO to ALIGN, which is the same
as in UI and more useful at least for me.

Little sanifying in CurNurb (this was done with Ton).

13 years agoupdate to .NET projectfiles
Joseph Gilbert [Wed, 14 Sep 2005 02:27:15 +0000 (02:27 +0000)]
update to .NET projectfiles
- added imagepaint and key files

13 years agoKEYC pops up 'paint tool'
Jens Ole Wund [Tue, 13 Sep 2005 21:04:19 +0000 (21:04 +0000)]
KEYC pops up 'paint tool'
was always there .. but noone but me knew

13 years ago* Added hotkeys for rendering animation (Ctrl F12) and playing back
Matt Ebb [Tue, 13 Sep 2005 09:52:00 +0000 (09:52 +0000)]
* Added hotkeys for rendering animation (Ctrl F12) and playing back
animation (Ctrl F11) similar to rendering a still with F12 and showing it in
the buffer with F11.

13 years agobug fix:
Jens Ole Wund [Mon, 12 Sep 2005 19:20:53 +0000 (19:20 +0000)]
bug fix:
UV paint tool did not work with swapped mouse buttons in user prefs.

13 years agoExclude only-shadow lamps to be rendered when the main render option
Ton Roosendaal [Mon, 12 Sep 2005 17:43:48 +0000 (17:43 +0000)]
Exclude only-shadow lamps to be rendered when the main render option
"shadow" is off.
Bugfix 3018

13 years agoSmall fixes;
Ton Roosendaal [Mon, 12 Sep 2005 15:17:35 +0000 (15:17 +0000)]
Small fixes;

- "make track" in posemode only worked for objects, so disabled it for now
- in weightpaint, "Clear rotation/location" worked on armature-pose, as well
  as on object. Was confusing... disabled clearing object in weightpaint.

13 years agoBug fix #3042
Ton Roosendaal [Mon, 12 Sep 2005 14:48:00 +0000 (14:48 +0000)]
Bug fix #3042

Button "text on curve" did not remake DAG dependencies, so editing the
curve gave no updates in text.

13 years agoFix for bug #3024
Johnny Matthews [Mon, 12 Sep 2005 14:01:44 +0000 (14:01 +0000)]
Fix for bug #3024

In non-prop mode for edgeslide, loop would not return to proper position after cancel.

13 years agoBug fix #3026
Ton Roosendaal [Mon, 12 Sep 2005 13:53:40 +0000 (13:53 +0000)]
Bug fix #3026

Pulldown Mode select (3d header) failed to enter posemode in editmode,
but only when posemode was already set for armature

13 years agoBugfix #3040, the new 'roundbox' button disabled copy/paste values in
Ton Roosendaal [Mon, 12 Sep 2005 13:26:53 +0000 (13:26 +0000)]
Bugfix #3040, the new 'roundbox' button disabled copy/paste values in
buttons. You could notice that for Constraint and Modifier panels.

13 years agoChecked some regression files (2.37) and found issues with correct backward
Ton Roosendaal [Mon, 12 Sep 2005 13:02:36 +0000 (13:02 +0000)]
Checked some regression files (2.37) and found issues with correct backward
conversion of data still. Remains a painful issue to get things converted
and in same time prevent things from calculated twice. :)

Anyhoo, issue was that old files with armatures in hidden layers went wrong

13 years ago - timemarker name is moved up, when current frame equals to frame of timemarker
Jiri Hnidek [Mon, 12 Sep 2005 08:43:09 +0000 (08:43 +0000)]
 - timemarker name is moved up, when current frame equals to frame of timemarker

13 years agobugfix: [ #3009 ] possible memory leak in Mathutils
Stephen Swaney [Mon, 12 Sep 2005 06:18:45 +0000 (06:18 +0000)]
bugfix: [ #3009 ] possible memory leak in Mathutils

fixed by patch [ #3013 ] patch for memleak in vector
Submitted By: Ken Hughes (khughes)

13 years agopatch #3011 ] update to curnurb.setFlagU doc, added set and get for Taper
Stephen Swaney [Mon, 12 Sep 2005 06:07:19 +0000 (06:07 +0000)]
patch #3011 ] update to curnurb.setFlagU doc, added set and get for Taper
Contributed by Toni Alatalo (antont).

Support for Taper Objects for Curves.
Code for curnurb.setFlagU() method not changed as per discussion on
bf-python mail list.

13 years agofix compiler warning: No newline at end of file
Stephen Swaney [Mon, 12 Sep 2005 04:46:34 +0000 (04:46 +0000)]
fix compiler warning:  No newline at end of file

13 years ago - when marker is selected, then it's name is highlighted and name is moved
Jiri Hnidek [Sun, 11 Sep 2005 13:19:10 +0000 (13:19 +0000)]
 - when marker is selected, then it's name is highlighted and name is moved
   up. It can be useful, when you have many named markers in timeline.
 - screenshot: http://www.kai.vslib.cz/~hnidek/pics/timeline_tweak.jpg

13 years agoMy first DerivedMesh code! :)
Ton Roosendaal [Sun, 11 Sep 2005 13:02:55 +0000 (13:02 +0000)]
My first DerivedMesh code! :)

Bugfix #3002: Using 'calc weights from envelope' WKey in weightpaint mode
now uses the subsurfered vertex coordinates to calculate weights.

13 years agoBugfix #2999. Nkey buttons had a limit for input of 1000.0. That's not
Ton Roosendaal [Sun, 11 Sep 2005 11:03:09 +0000 (11:03 +0000)]
Bugfix #2999. Nkey buttons had a limit for input of 1000.0. That's not
much... made it 10 times larger, to match the max zoom level.

Nevertheless; on our ancient todo is that we once should give number
buttons 2 limits. One for the actual min/max values, and one for the best
sliding experience (matching zoom level or distance for example).

13 years agoBugfix #2996. Delete vertexgroup didn't update Outliner.
Ton Roosendaal [Sun, 11 Sep 2005 10:20:30 +0000 (10:20 +0000)]
Bugfix #2996. Delete vertexgroup didn't update Outliner.

13 years agoBug fix #3033
Ton Roosendaal [Sun, 11 Sep 2005 10:12:31 +0000 (10:12 +0000)]
Bug fix #3033

Using "make parent armature with creating vertex groups" option gave
corrupted memory when one or more bones had the "Deform" option not set.
Was caused by old boneclass SKINNABLE variable. To end this confusement,
removed this define from code.

Note for future Armature tool coders; don't use this bonelooper
functionality. Operations in Object mode for armatures should use the
Pose Channels, which is a simple ListBase to go over. I have to recode
the 'create vertexgroups' still...

13 years agohaving a "mini gimp" in image editor
Jens Ole Wund [Fri, 9 Sep 2005 22:31:23 +0000 (22:31 +0000)]
having a "mini gimp" in image editor
{ hope it does not break builds .. mscv6 .. scons works fine here }

13 years agomake MSVC6 projects happy :
Jens Ole Wund [Fri, 9 Sep 2005 21:15:00 +0000 (21:15 +0000)]
make MSVC6 projects happy :
add key.h + .c to project

13 years agoNew feature for edgeslide: Holding SHIFT now slows down movement by factor
Alexander Ewering [Fri, 9 Sep 2005 16:27:20 +0000 (16:27 +0000)]
New feature for edgeslide: Holding SHIFT now slows down movement by factor
10 (like transform()) and allows for fine-tuning the loop with hairy
reference edges.

13 years agoFix: when using in WeightPaint the Wkey option for the first time (no
Ton Roosendaal [Fri, 9 Sep 2005 15:38:20 +0000 (15:38 +0000)]
Fix: when using in WeightPaint the Wkey option for the first time (no
vertex groups yet on Mesh), the undobuffer for Wpaint got corrupt.

13 years agoFix for armature deform: if there's a vertexgroup on a vertex, but not with
Ton Roosendaal [Fri, 9 Sep 2005 15:16:39 +0000 (15:16 +0000)]
Fix for armature deform: if there's a vertexgroup on a vertex, but not with
bone assigned to the group (like for softbody) the envelope-deform was not
applied.

13 years agoBPython:
Willian Padovani Germano [Fri, 9 Sep 2005 01:31:10 +0000 (01:31 +0000)]
BPython:

- Pontus Lidman contributed a new module: Blender.Key + access to key objects from NMesh, Lattice and Curve + docs (thanks and sorry for taking so long to check/commit the patch!)

- Allowing EVENT spacehandlers to call the file selector (scriptlinks in general are not allowed, but this special case should be able to). Requested by Paolo Colombo (thanks!)

- tiny doc update (Ken Hughes pointed an error in the space handlers example)

I didn't have time to update the Key module to follow the current bpython design, will do that later and also test it better than I did.

13 years agoRemoving Auto-Fgon feature till it can be a little better implemented and integrated
Johnny Matthews [Thu, 8 Sep 2005 12:59:47 +0000 (12:59 +0000)]
Removing Auto-Fgon feature till it can be a little better implemented and integrated

13 years agoNew icons image
Ton Roosendaal [Thu, 8 Sep 2005 10:59:36 +0000 (10:59 +0000)]
New icons image

13 years agoAdded icons for outliner display of Modifiers. Used ones as provided by
Ton Roosendaal [Thu, 8 Sep 2005 10:59:13 +0000 (10:59 +0000)]
Added icons for outliner display of Modifiers. Used ones as provided by
Eckhard Jaeger on forums. http://download.blender.org/demo/test/rt9.jpg

Notes;
- made new Armature icon, based on looks of Action icon. Using a Bone icon
  for everything was too confusing
- made softbody icon softer... it looked like a water drop, something that
  would be better for Fluid stuff later :)
- the Modifier icon itself (wrench) looks a bit too much like a tool... but
  its a clear icon that stands out.

13 years agoFix for weight painting errors, as reported by Bassam.
Ton Roosendaal [Wed, 7 Sep 2005 18:07:24 +0000 (18:07 +0000)]
Fix for weight painting errors, as reported by Bassam.

- Undo/Redo didn't work
- Crash on using weightpaint with Armature-modifier (instead of parent).

Note: checking if an object is being deformed cannot be simply done with
checking for a parent anymore... for this a call in modifier.c has been
added; modifiers_isDeformedByArmature(Object *). It even returns the
Armature object pointer.

13 years agoThis patch adds:
Johnny Matthews [Wed, 7 Sep 2005 03:37:37 +0000 (03:37 +0000)]
This patch adds:

Add Intersect Modifier
Add Union Modifier
Add Difference Modifier

to the W key menu

Select 2 mesh object and press W. Then select a modifier entry. The active mesh selection will get a boolean modifier of the type selected with the inactive selection as target.

13 years agoRoland Hess' Floor Constraint patch: https://projects.blender.org/tracker/?func=detai...
Martin Poirier [Wed, 7 Sep 2005 00:11:39 +0000 (00:11 +0000)]
Roland Hess' Floor Constraint patch: https://projects.blender.org/tracker/?func=detail&aid=2993&group_id=9&atid=127

Minor modifications to simplify the code in evaluate_constraint.

The "Stick" feature will need more work as it gives bad results when skipping frames, jumping around on the timeline and when going backward in time.

Suggestion: Would be nice if it could use the local space too, not just global space planes.

13 years agoThree armature fixes (yes, i'm in studio orange!)
Ton Roosendaal [Tue, 6 Sep 2005 16:57:08 +0000 (16:57 +0000)]
Three armature fixes (yes, i'm in studio orange!)

- on adding armatures, the "use vertexgroup" and "use envelope" options
  are now on.
- fixed ancient bug; on duplicate bone in editmode, it popped to the
  origin of armature, if parent bone was not selected and current bone not
  connected.
- subdivide bones now follows the Mirror edit option too

13 years agoadded some get methods and stuff
Erwin Coumans [Tue, 6 Sep 2005 16:45:48 +0000 (16:45 +0000)]
added some get methods and stuff

13 years agoPercent and Flip now invalidate the edgeslide redraw, so that it updated on key press
Johnny Matthews [Tue, 6 Sep 2005 15:55:54 +0000 (15:55 +0000)]
Percent and Flip now invalidate the edgeslide redraw, so that it updated on key press

13 years agoForgot to add correct naming for subdiv bones.
Ton Roosendaal [Tue, 6 Sep 2005 12:51:02 +0000 (12:51 +0000)]
Forgot to add correct naming for subdiv bones.

13 years agoQuick added; editmode bone subdivision (Wkey only). Doesn't do mirrored
Ton Roosendaal [Tue, 6 Sep 2005 09:47:30 +0000 (09:47 +0000)]
Quick added; editmode bone subdivision (Wkey only). Doesn't do mirrored
yet. Need commit so I can access it on the compu in Orange studio :)

13 years agoFix truetype (freetype2) font loading
Alexander Ewering [Sun, 4 Sep 2005 09:30:57 +0000 (09:30 +0000)]
Fix truetype (freetype2) font loading

13 years ago - added NewBooleanMeshDLM bad level call
Daniel Dunbar [Sat, 3 Sep 2005 18:10:13 +0000 (18:10 +0000)]
 - added NewBooleanMeshDLM bad level call

13 years agoSaturday morning first cup of coffee hack (yeah, its a late
Daniel Dunbar [Sat, 3 Sep 2005 17:22:29 +0000 (17:22 +0000)]
Saturday morning first cup of coffee hack (yeah, its a late
morning)

 - fun for the whole family, boolean mesh modifier... doesn't work
   with layered modifiers yet (just uses base mesh), although may
   god have mercy on your soul if you want to run boolean on a
   subsurf anyway
 - added displistmesh_add_edges

This exposes a bug in boolean, apparently the output is somehow
random (hash on alloc'd pointer value perhaps) which is sortof
lame.

It also makes more apparent the desire for some level of control
over dep graph evaluation during editmode (at the moment dep
graph is reevaluated for a mesh object in editmode, but since
mesh changes are on editmesh other objects don't really see
any change, so it is a wasted recalc).

13 years ago - assorted minor warning fixes
Daniel Dunbar [Sat, 3 Sep 2005 16:20:33 +0000 (16:20 +0000)]
 - assorted minor warning fixes

13 years agoFix for bug #2974:
Brecht Van Lommel [Sat, 3 Sep 2005 13:28:14 +0000 (13:28 +0000)]
Fix for bug #2974:
Circle select in uv editor crashed when an image was assigned but not loaded.

13 years agoBug fix #2788
Ton Roosendaal [Sat, 3 Sep 2005 12:35:13 +0000 (12:35 +0000)]
Bug fix #2788

in 3d window, nkey panel, click in middle of number button & press ESC
moved the 3d cursor to that location. The button was passing on its
event to the window event queue, which shouldn't be.

13 years agoBug fix #2985
Ton Roosendaal [Sat, 3 Sep 2005 12:14:59 +0000 (12:14 +0000)]
Bug fix #2985

Envelope correction for moving bone-points in edit mode didn't reset on ESC

13 years agoBugfix #2977
Ton Roosendaal [Sat, 3 Sep 2005 11:20:16 +0000 (11:20 +0000)]
Bugfix #2977

Tweaked selection code for Manipulators in 'combo' mode, it gives
preference now to the scale/translate widgets over the rotate arcs. This
enables use of these widgets in ortho top/side views.

13 years agoBug fix #2972
Ton Roosendaal [Sat, 3 Sep 2005 10:50:21 +0000 (10:50 +0000)]
Bug fix #2972

Copy/Paste bone name buttons crashed, didn't use the callback for buttons
proper yet.

Also added MAXFRAME defines for buttons, instead of hardcoded values 9000
or 18000

13 years agoAuto-Fgon Feature for subdivide
Johnny Matthews [Fri, 2 Sep 2005 16:31:03 +0000 (16:31 +0000)]
Auto-Fgon Feature for subdivide

If Fgon is selected in mesh tools panel, In the following cases

Quad - 2 edge Adjacent - Path
Quad - 2 edge Adjacent - Innervert
Quad - 3 edge

'extra' faces are combined to fgons. to make cleaner subdivides. Please give feedback

13 years agoAdding back in the "Big Purple Dot" to indicate which edge the non-proportional Edges...
Johnny Matthews [Thu, 1 Sep 2005 18:40:16 +0000 (18:40 +0000)]
Adding back in the "Big Purple Dot" to indicate which edge the non-proportional Edgeslide is using for distance

13 years ago- Changed xz limit drawing to use same formulas as the limiting in the IK
Brecht Van Lommel [Wed, 31 Aug 2005 22:09:44 +0000 (22:09 +0000)]
- Changed xz limit drawing to use same formulas as the limiting in the IK
  module -- the previous method could be off pretty far.
- Added drawing of transparent surface for it, instead of just the border.
- Added "stretch IK", allowing bones not only to rotate, but also scale.
  The "Stretch" value below the DoF buttons is used to enabled this.

- Some code tweaking: slightly simplified computation of transform for IK,
  renamed chain to tree, removed unused pchan->ik_mat, ..

Internal IK module work:
- Do damping per DoF also based on stiffness, hopefully makes it converge
  faster with very stiff joints.
- Instead of having two joints types (translational and rotational), now
  all 6 DoF's can be enabled for one joint.
- Added limits for translational joints.

13 years agoRe-enabled freetype font rendering :-)
Alexander Ewering [Wed, 31 Aug 2005 19:07:06 +0000 (19:07 +0000)]
Re-enabled freetype font rendering :-)

13 years ago - mesh_strip_loose_faces was completely wrong, dunno what I was on...
Daniel Dunbar [Wed, 31 Aug 2005 04:04:28 +0000 (04:04 +0000)]
 - mesh_strip_loose_faces was completely wrong, dunno what I was on...

13 years agoUpdate to .NET project files
Joseph Gilbert [Tue, 30 Aug 2005 22:11:31 +0000 (22:11 +0000)]
Update to .NET project files
- added edgehash stuff
- added new IK solver stuff (rebuild /intern)

13 years agoNonproportional mode for loopcut
Johnny Matthews [Tue, 30 Aug 2005 20:33:35 +0000 (20:33 +0000)]
Nonproportional mode for loopcut

while sliding the edge, press P this will swap modes. while in Non prop mode, press F to change the control "side". You can still change the control edge too.

13 years agoForce redraw on Edgeslide Cancel (RMB and ESC)
Johnny Matthews [Tue, 30 Aug 2005 18:09:07 +0000 (18:09 +0000)]
Force redraw on Edgeslide Cancel (RMB and ESC)

Fixes bug reported by Fab31 on IRC

13 years agoBug #2962
Ton Roosendaal [Mon, 29 Aug 2005 18:03:03 +0000 (18:03 +0000)]
Bug #2962

Moving in Posemode + Rest Position a Bone crashed. Uninitialized Trans...

13 years agoFirst version of visualizing the DoF (french degrees!) for Pose-bones. It
Ton Roosendaal [Mon, 29 Aug 2005 17:02:24 +0000 (17:02 +0000)]
First version of visualizing the DoF (french degrees!) for Pose-bones. It
now only draws the limits for X and Z rotations (Y is bone axis itself).

Quick snaphsots (links will disappear):
http://www.blender.org/bf/rt6.jpg
http://www.blender.org/bf/rt7.jpg

It only draws for selected Bones that are part of IK, and have limits set.
Most work was getting code OK to setup drawing this 'DoF space', so now
experiments can be done with more drawing types.

ALso; Buttons for DoFs now only draw if the pose-bones are part of an IK
chain.

13 years agoMore text object fancyness, and fixes:
Alexander Ewering [Mon, 29 Aug 2005 12:46:07 +0000 (12:46 +0000)]
More text object fancyness, and fixes:

 - "Flush" is now split into two seperate Alignment modes "Flush" and
   "Justify":

   - Justify does exactly the same as a normal word processor's justify
     function does, and in addition, it uses *whitespace* instead of
     *character spacing* (kerning) to fill lines. Much more readable.

   - Flush is pretty much the old Blender "Flush" mode - and as such it
     uses character spacing to fill lines. Just as Justify, this only
     works with at least one textframe.

 - Underlining for text objects. Not a lot to explain. New button "U" in
   the editbuttons, and CTRL-U as hotkey toggle underlining for newly
   entered characters or for the selection, just like CTRL-B/CTRL-I do for
   bold/italic.

   Underline height (thickness) and Underline position (vertical) can be
   set in the editbuttons.

   Implemented as CU_POLY polygon curves.

 - The B, U and i buttons (and the corresponding CTRL-B/U/I keystrokes)
   have been fixed to only affect *one* attribute at a time. Formerly,
   hitting CTRL-B when no other style was active, on a text portion with
   italics text, for example, would kill the italics and just apply bold.

   Now, these attributes always add or substract only, but do not
   replace the style.

 - In the past, there were bugs with material indices uninitialized, and
   thus crashes in the renderer with illegal material indices.

   Even though I assume they have been fixed, I've put in a check that
   checks (hah) if the material index of a character is illegal (bigger
   than ob->totcol), and then sets it to zero, and spits out a warning
   on stderr.

   If you see such warnings, please report and link to the .blend.

 - Bugfix: All alignment modes only worked if there were at least *two*
   lines of text in the text object. Fixed

There's now a regression test file for text objects, please add to the
corresponding repository:

http://blender.instinctive.de/downloads/release/demo/text-regression.blend.gz

13 years agoBugfix; rotation limits for < 3 DOF bones were using wrong reference
Brecht Van Lommel [Mon, 29 Aug 2005 12:06:23 +0000 (12:06 +0000)]
Bugfix; rotation limits for < 3 DOF bones were using wrong reference
rotation, causing incorrect limits if there was already a pose transform.

13 years agoupdated MSVC 6 Project file for IKSolver.
Simon Clitherow [Mon, 29 Aug 2005 10:19:59 +0000 (10:19 +0000)]
updated MSVC 6 Project file for IKSolver.

13 years agoMEM_freeN() and MEM_mallocN() should not have been redeclared in this
Chris Want [Mon, 29 Aug 2005 02:47:55 +0000 (02:47 +0000)]
MEM_freeN() and MEM_mallocN() should not have been redeclared in this
file.

13 years agoErrors in buttons defining DoF for bones; needed a redraw and fixed typo
Ton Roosendaal [Sun, 28 Aug 2005 17:52:34 +0000 (17:52 +0000)]
Errors in buttons defining DoF for bones; needed a redraw and fixed typo
in min/max detection for buttons.

13 years agoPose depgraph error... skipped a bone for proper IK sorting. Caused lag or
Ton Roosendaal [Sun, 28 Aug 2005 15:26:00 +0000 (15:26 +0000)]
Pose depgraph error... skipped a bone for proper IK sorting. Caused lag or
bad updates in grabbing.

13 years agoIK rotation limits fixes:
Brecht Van Lommel [Sun, 28 Aug 2005 13:06:41 +0000 (13:06 +0000)]
IK rotation limits fixes:
- Z-axis rotation limits were not working, was using wrong flag.
- Don't allow min limit to go over max, or vice versa.
- Fix for jacobian getting overwritten with IK clamping.

13 years agoIntegration of new IK lib features in Armature Poses.
Ton Roosendaal [Sun, 28 Aug 2005 12:23:06 +0000 (12:23 +0000)]
Integration of new IK lib features in Armature Poses.
Best is to forget yesterday's commit and old docs. New docs are underway...

Here's how IK works now;

- IK chains can go all the way to the furthest parent Bone. Disregarding
  the old option "IK to Parent" and disgregarding whether a Bone has an
  offset to its parent (offsets now work for IK, so you can also make
  T-bones).
- The old "IK to Parent" option now only does what it should do: it denotes
  whether a Bone is directly connected to a Parent Bone, or not.
  In the UI and in code this option is now called "Connected".
- You can also define yourself which Bone will become the "Root" for an IK
  chain. This can be any Parent of the IK tip (where the IK constraint is).
  By default it goes all the way, unless you set a value for the new IK
  Constraint Panel option "Chain Lenght".
- "Tree IK" now is detected automatic, when multiple IK Roots are on the
  same Bone, and when there's a branched structure.
  Multiple IK's on a single chain (no branches) is still executed as usual,
  doing the IK's sequentially.
- Note: Branched structures, with _partial_ overlapping IK chains, that don't
  share the same Root will possibly disconnect branches.
- When you select a Bone with IK, it now draws a yellow dashed line to its
  Root.
- The IK options "Location Weight" and "Rotation Weight" are relative,
  in case there's a Tree IK structure. These weights cannot be set to
  zero. To animate or disable IK Targets, use the "Influence" slider.
- This new IK is backwards and upwards compatible for Blender files.
  Of course, the new features won't show in older Blender binaries! :)

Other changes & notes;

- In PoseMode, the Constraint Panel now also draws in Editing Buttons, next
  to the Bones Panel.
- IK Constraint Panel was redesigned... it's still a bit squished
- Buttons "No X DoF" is now called "Lock X". This to follow convention to
  name options positive.
- Added Undo push for Make/Clear Parent in Editmode Armature
- Use CTRL+P "Make Parent" on a single selected Bone to make it become
  connected (ALT+P had already "Disconnect").

On todo next; Visualizing & review of Bone DoF limits and stiffness

13 years agoBugfix; the IK solver would crash if there were 0 DOF's in the chain.
Brecht Van Lommel [Sat, 27 Aug 2005 23:04:37 +0000 (23:04 +0000)]
Bugfix; the IK solver would crash if there were 0 DOF's in the chain.

13 years agopatch #2911 - tp_getset for Lamp module.
Stephen Swaney [Sat, 27 Aug 2005 18:44:56 +0000 (18:44 +0000)]
patch #2911 - tp_getset for Lamp module.
A nice juicy chunk of new style attribute handling from Ken Hughes.

Thanks, Ken.

13 years agoIK work-in-progress commit;
Ton Roosendaal [Sat, 27 Aug 2005 17:04:29 +0000 (17:04 +0000)]
IK work-in-progress commit;

- Removed old convention that only allowed one "IK" connection for Bones
  in a joint. Was highly frustrating for editing trees or branches.
  In a next commit, there will be a different method to define IK target
  and IK root, so this option actually will become "Connect Bone" or so.

- the IK group name is gone, now is just an option "Tree IK". When IK
  chains share a root they'll form a tree.
  Todo is preventing conflicts here (will be for editor to define IK Root)

- Adding new IK constraint with CTRL+I activates Constraint

13 years agoMake IK DOF stiffness work in range 0.0-1.0, for consistency.
Brecht Van Lommel [Sat, 27 Aug 2005 14:27:05 +0000 (14:27 +0000)]
Make IK DOF stiffness work in range 0.0-1.0, for consistency.

13 years agoUpdate SConscript.
Brecht Van Lommel [Sat, 27 Aug 2005 13:45:19 +0000 (13:45 +0000)]
Update SConscript.
Fix some warnings.
Merge with latest soc code.

What changed in IK lib:

Fully restructured, with components now as follows:
  - IK_Solver: C <=> C++ interface
  - IK_QSegment: base class for bone/segment with 0
    to 3 DOF
  - IK_QTask: base class for a task (currently there's
    a position and a rotation task)
  - IK_QJacobian: the Jacobian matrix, with SVD
    decomposition, damping, etc
  - IK_QJacobianSolver: the iterative solver

The exponential map parametrization is no longer used,
instead we have now:
  - 3DOF and 2DOF XZ segments: directly update matrix
    with Rodrigues' formula
  - Other: Euler angles (no worries about singularities
    here)

Computation of the Jacobian inverse has also changed:
  - The SVD algorithm is now based on LAPACK code,
    instead of NR, to avoid some problems with rounding
    errors.
  - When the problem is underconstrained (as is the case
    most of the time), the SVD is computed for the transpose
    of the Jacobian (faster).
  - A new damping algorithm called the Selectively Damped
    Least Squares is used, result in faster and more
    stable convergence.
  - Stiffness is implemented as if a weighted psuedo-inverse
    was used.

Tree structure support.

Rotation limits:
  - 3DOF and 2DOF XZ segments limits are based on a swing
    (direct axis-angle over XZ) and twist/roll (rotation
    over Y) decomposition. The swing region is an ellipse
    on a sphere.
  - Rotation limits are implemented using an inner clamping
    loop: as long as there is a violation, a violating DOF
    is clamped and removed from the Jacobian, and the solution
    is recomputed.

Convergence checking is based now on the max norm of angle
change, or the maximum number of iterations.

13 years agoAnother file missed in IK commit.
Brecht Van Lommel [Sat, 27 Aug 2005 13:27:49 +0000 (13:27 +0000)]
Another file missed in IK commit.

13 years agoForgot to add new files...
Ton Roosendaal [Sat, 27 Aug 2005 13:10:41 +0000 (13:10 +0000)]
Forgot to add new files...

13 years agoThird and last commit for Brecht's IK work.
Ton Roosendaal [Sat, 27 Aug 2005 12:48:45 +0000 (12:48 +0000)]
Third and last commit for Brecht's IK work.

Full logs for changes will be added later. Worth to note now;
- support for 'tree IK' added
- DOF and stiffness per IK bone (in pose only)
- Orientation IK support (target rotates -> chain follows)

This is still WIP. Buttons might change, button ranges will change, and the
way 'IK groups' are working will change. You can play with this, but don't
expect saved files to work still by end of this day! :)

13 years agoSecond commit for Brecht's IK work.
Ton Roosendaal [Sat, 27 Aug 2005 12:45:29 +0000 (12:45 +0000)]
Second commit for Brecht's IK work.

(Moto needs 'make install' before you can do IK lib btw)

13 years agoFirst commit of Brecht's new IK work. This only does the IK module.
Ton Roosendaal [Sat, 27 Aug 2005 12:44:41 +0000 (12:44 +0000)]
First commit of Brecht's new IK work. This only does the IK module.

Don't start compiling yet!

13 years agoFixes, as reported by Basse
Ton Roosendaal [Fri, 26 Aug 2005 17:48:46 +0000 (17:48 +0000)]
Fixes, as reported by Basse

- Softbody Mesh didnt update when it was child of armature-posing
- Bone Stick drawing didn't draw selected in Solid + Object mode.
- WeightPaint + Subsurf (nice that it works!) didn't update on Bone
  selection

13 years ago - tsk tsk, ll suffix for constants is not C standard, doesn't
Daniel Dunbar [Fri, 26 Aug 2005 16:07:44 +0000 (16:07 +0000)]
 - tsk tsk, ll suffix for constants is not C standard, doesn't
   work on msvc

13 years agoaccidentally left in testing printf.
Ton Roosendaal [Thu, 25 Aug 2005 20:32:49 +0000 (20:32 +0000)]
accidentally left in testing printf.

13 years agoBased on a suggestion from Zr, using line line intersection for single axis projection.
Martin Poirier [Thu, 25 Aug 2005 18:03:19 +0000 (18:03 +0000)]
Based on a suggestion from Zr, using line line intersection for single axis projection.
This makes perspective handling a bit better.

13 years agoRandom() issues with rendering...
Ton Roosendaal [Thu, 25 Aug 2005 13:11:04 +0000 (13:11 +0000)]
Random() issues with rendering...

- AO and soft shadow AreaLight tables were generated without fixed seed,
  causing animations to give unwanted amounts of noise.
- Made sure these tables now are calculated before render, with fixed seed
- Then found out the BLI_rand() has very bad seeding... it showed up as
  patterns. After some experimenting, found a nice method using noise.c
  hash tables. For compatibility with old code, named it BLI_srandom() to
  use this next to the BLI_srand(). This follows libc rand() and random()
  naming convention.
- Then of course threading should work... so made a BLI_thread_rand version
  of the calls. Now supports up to 16 threads, comments added in .h and .c

Result is stable animation render with AO and soft shadow. But, please
test and feedback!

13 years agoiBug fix #2965
Ton Roosendaal [Wed, 24 Aug 2005 21:12:58 +0000 (21:12 +0000)]
iBug fix #2965

Switching scene in Edit Mode crashed. Accessed the DAG without it being
initialized yet.

13 years agoMove the settings in the Mesh Tools panel to the new toolsettings struct in Scene...
Johnny Matthews [Wed, 24 Aug 2005 20:37:25 +0000 (20:37 +0000)]
Move the settings in the Mesh Tools panel to the new toolsettings struct in Scene. These settings are now saved per scene.

13 years agoMaking compiler happy;
Ton Roosendaal [Wed, 24 Aug 2005 20:26:28 +0000 (20:26 +0000)]
Making compiler happy;

- removed unused variables
- #if 0 around unused calls
- init of uninitialized vars