blender.git
14 years agoStage two of the giant animation recode project; Ipo/Action/NLA cleanup
Ton Roosendaal [Mon, 10 Oct 2005 17:42:48 +0000 (17:42 +0000)]
Stage two of the giant animation recode project; Ipo/Action/NLA cleanup

-> Note; added 2 new c files (split editipo.c). MSVC needs upgrade.

Impatient people can check the goodies in CMS:
http://www.blender3d.org/cms/Action_and_NLA_editor.706.0.html

Most work was on trying to unwind the spaghetti for editing ipos. Too much
history and bad design got added here. Most evident changes:
- made generic 'context' for detecting which Ipo is being edited, or to
  assign ipos or to retrieve ipo curves.
- made generic insertkey() for all ipo types, including actions
- shuffled a lot of code around to make things more logical. Also made
  sure local functions are not exported

It is far from ready... when action/nla was added in Blender, a lot of
duplicate code was generated. That's for another time.

Now the goodies;
- made Actions to allow any Ipo type
- made NLA to define active actions, for Action window too
- corrected timing for active action, so it shows the 'real time', as
  defined in NLA editor.

I did update python code, but that would require testing. Testing is
needed for this commit in general, too many changes happened on all
levels of the animation system. :)
Will keep track of all reports this evening, hopefully it doesnt break
the pre-release schedule!

14 years agomsvc6 project file suite complete again
Jens Ole Wund [Mon, 10 Oct 2005 17:27:17 +0000 (17:27 +0000)]
msvc6 project file suite complete again

14 years agoProjectfile update
Joseph Gilbert [Mon, 10 Oct 2005 15:34:56 +0000 (15:34 +0000)]
Projectfile update
* added new file to elbeem project

14 years agoPatch for mathutils
Joseph Gilbert [Mon, 10 Oct 2005 15:28:59 +0000 (15:28 +0000)]
Patch for mathutils
* fixed another issue with anglebetweenvecs

14 years ago- minor solver fix for msvc compilation
Nils Thuerey [Mon, 10 Oct 2005 11:31:06 +0000 (11:31 +0000)]
- minor solver fix for msvc compilation
- added pop up menues for fluid sim bake with no
  fluid objects or without valid output dir settings
- fixed 3d view redraw for fluidsim buttons

14 years ago- fixed fluidsim inflow speed init
Nils Thuerey [Mon, 10 Oct 2005 08:52:42 +0000 (08:52 +0000)]
- fixed fluidsim inflow speed init
- fixed intersecting fluid objects init
- added MSVC6 fixes from bjornmose (thanks!)

14 years ago- added option to switch off compiling elbeem to scons files (set USE_FLUIDSIM=true)
Nils Thuerey [Mon, 10 Oct 2005 06:59:47 +0000 (06:59 +0000)]
- added option to switch off compiling elbeem to scons files (set USE_FLUIDSIM=true)
in this case only the new blenderdummy.cpp and utilities.cpp have to be compiled
- restructured gui:
   * domain options split up into 2 sections
 * added compressibility and refinement settings
 * added inflow/outflow object types
- increased progress bar by 1

14 years ago - silly test inversion, thanks to Stephan Kassemeyer for noticing
Daniel Dunbar [Sun, 9 Oct 2005 21:01:57 +0000 (21:01 +0000)]
 - silly test inversion, thanks to Stephan Kassemeyer for noticing

14 years ago - bug fix, paste clipboard on windows didn't free buffer
Daniel Dunbar [Sun, 9 Oct 2005 18:47:07 +0000 (18:47 +0000)]
 - bug fix, paste clipboard on windows didn't free buffer

14 years ago - bug fix #2940, at some point assumption that mesh_get_derived_...
Daniel Dunbar [Sun, 9 Oct 2005 18:38:40 +0000 (18:38 +0000)]
 - bug fix #2940, at some point assumption that mesh_get_derived_...
   returned NULL in editmode was invalidated which caused a crash in
   particles (was freeing subsurf cache). I can't remember but hope
   that I didn't intentionally break this assumption for some
   reason. :/

14 years ago - bug fix for #2948, made ccgSubSurf bail (completely) when it encounters
Daniel Dunbar [Sun, 9 Oct 2005 18:18:11 +0000 (18:18 +0000)]
 - bug fix for #2948, made ccgSubSurf bail (completely) when it encounters
   an inconsistent mesh. I would really like this to be corrected at some
   other stage, probably on loading, but at least things shouldn't crash
   now.

14 years ago o another warning fix for msvc
Daniel Dunbar [Sun, 9 Oct 2005 16:59:10 +0000 (16:59 +0000)]
 o another warning fix for msvc

14 years ago o some warning fixes (compare of int to NULL, missing prototype)
Daniel Dunbar [Sun, 9 Oct 2005 16:57:49 +0000 (16:57 +0000)]
 o some warning fixes (compare of int to NULL, missing prototype)

14 years agomake compiling with free ms vc7 toolkit easier
Jens Ole Wund [Sat, 8 Oct 2005 22:40:58 +0000 (22:40 +0000)]
make compiling with free ms vc7 toolkit easier
hum .. do we need that ODBC .. looks like no

14 years ago-fix for AngleBetweenVecs
Joseph Gilbert [Fri, 7 Oct 2005 15:24:32 +0000 (15:24 +0000)]
-fix for AngleBetweenVecs
* correctly finds zero length vectors now

14 years agoQuickly re-enabled drawing of Text object in editmode.
Ton Roosendaal [Thu, 6 Oct 2005 21:43:56 +0000 (21:43 +0000)]
Quickly re-enabled drawing of Text object in editmode.
Simple fix... but I am in a three meeting session in Stockholm now, can
not do full tests, hope it works. :)

14 years ago* Added a Select -> Inverse for object mode, available
Matt Ebb [Wed, 5 Oct 2005 13:08:07 +0000 (13:08 +0000)]
* Added a Select -> Inverse for object mode, available
 in the 3d view header and toolbox.

14 years agoMissing file, must have slipped between 2 of the phone calls :)
Alexander Ewering [Tue, 4 Oct 2005 21:46:48 +0000 (21:46 +0000)]
Missing file, must have slipped between 2 of the phone calls :)

14 years agoBeware, coded between 10 phone calls and 20 sudden surprises, but I still
Alexander Ewering [Tue, 4 Oct 2005 21:23:19 +0000 (21:23 +0000)]
Beware, coded between 10 phone calls and 20 sudden surprises, but I still
hope it's somehow usable :-)

Colourpicker update:
-------------------

1) Converted numbuts to sliders and made the colourpicker wider. Sliders
   are more useful for something like RGB and HSV because they're fixed
   range values

2) Added a hex button for entering HTML-like color (#RRGGBB, can be
   entered both with and without the hash sign).

   This should completely replace the former strange NKEY functionality
   in buttonswindows, and even add hex support for buttons which didn't
   have it before.

Please test thoroughly, I never coded something in a hurry like this.

There are small rounding errors still... Maybe someone finds the
reason? :)

14 years agoadded elbeem though it won't compile without modifications
Jens Ole Wund [Tue, 4 Oct 2005 20:39:31 +0000 (20:39 +0000)]
added elbeem though it won't compile without modifications
thus i did not add to dependencies but still a nice reminder to build it at times

14 years agoremove non-standard __FUNCTION__ use
Ken Hughes [Tue, 4 Oct 2005 20:27:25 +0000 (20:27 +0000)]
remove non-standard __FUNCTION__ use

14 years ago* Added from tuhopuu: icons in ok/confirmation popups
Matt Ebb [Tue, 4 Oct 2005 20:17:30 +0000 (20:17 +0000)]
* Added from tuhopuu: icons in ok/confirmation popups
( http://mke3.net/blender/interface/controls/error_ok_icons.png )

A bit nicer and quick to visually recognise at a glance

14 years agoDrivers cannot drive channels of own Object, added error warning for it. I
Ton Roosendaal [Tue, 4 Oct 2005 20:17:10 +0000 (20:17 +0000)]
Drivers cannot drive channels of own Object, added error warning for it. I
might allow this once, but it's a lot of new complexities then.
It also means you cannot drive one Bone with another Bone in same Pose.

14 years agoadding mesh.c .h files to project
Jens Ole Wund [Tue, 4 Oct 2005 20:07:21 +0000 (20:07 +0000)]
adding mesh.c .h files to project

14 years agoAnother little fix for non-prop edgeslide
Johnny Matthews [Tue, 4 Oct 2005 18:50:58 +0000 (18:50 +0000)]
Another little fix for non-prop edgeslide

14 years agoAdded (temporal) fix for crashes with the new cool "show modifier deform in
Ton Roosendaal [Tue, 4 Oct 2005 18:04:49 +0000 (18:04 +0000)]
Added (temporal) fix for crashes with the new cool "show modifier deform in
editmode" feature. This specific fix only patches the case with armature
deformed meshes & vertex groups.

Note that while in editmode, new created vertices have no weights or
groups assigned, so the result will be unpredictable. This feature should
actually only be allowed for moving vertices around I guess...

14 years agoBugfix #3188
Ton Roosendaal [Tue, 4 Oct 2005 17:43:41 +0000 (17:43 +0000)]
Bugfix #3188

Enter Vpaint or Wpaint did not redraw headers of all 3d windows, so the
mode menu indicator didn't update.

14 years agoPosemode, ALT+R,G,S didn't work always, this because SHIFT+mouse selecting
Ton Roosendaal [Tue, 4 Oct 2005 17:40:22 +0000 (17:40 +0000)]
Posemode, ALT+R,G,S didn't work always, this because SHIFT+mouse selecting
accidentally could unselect the object itself.

It can be that older saved files still show this issue, then just select
another object, and select the armature again. :)

14 years agoSmall fix; browse Vertex Weight groups in Edit panel, didn't update display
Ton Roosendaal [Tue, 4 Oct 2005 15:58:25 +0000 (15:58 +0000)]
Small fix; browse Vertex Weight groups in Edit panel, didn't update display
of 3d object.

14 years agoDuplicate Objects updated links in drivers wrong (the new object became a
Ton Roosendaal [Tue, 4 Oct 2005 15:30:51 +0000 (15:30 +0000)]
Duplicate Objects updated links in drivers wrong (the new object became a
driver). Now drivers are only corrected on duplicating when the whole Ipo
got copied a well.

14 years agoAdded Mesh.New() method; can now create new meshes within the module
Ken Hughes [Tue, 4 Oct 2005 15:17:27 +0000 (15:17 +0000)]
Added Mesh.New() method; can now create new meshes within the module

Changed Object.link() to allow link objects with both BPython-type meshes
Changed Object.getData() to allow retrieving both types of BPython-type meshes

Added new mesh types to Types module

14 years agoShape Keys now can be controlled with Vertex Weight groups as well!
Ton Roosendaal [Tue, 4 Oct 2005 15:00:28 +0000 (15:00 +0000)]
Shape Keys now can be controlled with Vertex Weight groups as well!

Just fill in the name of a Vertex group in the Shape Panel, and this
Shape will then become blended with the reference Shape.

It is useful for example for a symmetrical modeled head, make a
copy of that Shape, and use two Vertex Groups to make it asymetric.
Of course the Shapes update nicely while Weight Painting.

Also new; since the Vertex group names reside on Object level, you might
want to copy these names to the other Objects that have the same Mesh.
That's a new button "Copy to Linked" in the first Edit Panel.

14 years agoThought I committed it before... this is the fix for Python API version
Ton Roosendaal [Tue, 4 Oct 2005 14:53:55 +0000 (14:53 +0000)]
Thought I committed it before... this is the fix for Python API version
of "library append", which keeps the current .blend file name.

14 years ago* Doubled the maximum shadow buffer size limit in the shading buttons.
Matt Ebb [Tue, 4 Oct 2005 14:19:29 +0000 (14:19 +0000)]
* Doubled the maximum shadow buffer size limit in the shading buttons.
Now, more than ever!

14 years agoBugfixes for #3102, #3104
Ken Hughes [Mon, 3 Oct 2005 22:06:16 +0000 (22:06 +0000)]
Bugfixes for #3102, #3104

- Fix incorrect usage of PySequence_Fast_GET_ITEM()
- make EXPP_setFloatRange() convert its argument to float instead of short

14 years agoBugfix #3137
Ton Roosendaal [Mon, 3 Oct 2005 21:29:45 +0000 (21:29 +0000)]
Bugfix #3137

In UV Faceselect, the button "Set vertex color" needed Mesh update flush.

14 years agoBugfix #3141
Ton Roosendaal [Mon, 3 Oct 2005 21:17:33 +0000 (21:17 +0000)]
Bugfix #3141

Ending localview didn't correctly restore selection, so oops or outline
were not updated.

14 years agoBugfix #2650.
Ken Hughes [Mon, 3 Oct 2005 21:05:41 +0000 (21:05 +0000)]
Bugfix #2650.

Calling ipo.delCurve() with a curve that's not been displayed in the
Ipo curve editor caused a segfault.

14 years agoBugfix #3143
Ton Roosendaal [Mon, 3 Oct 2005 20:53:54 +0000 (20:53 +0000)]
Bugfix #3143

CTRL+click adding bones now respects X-axis mirror edit too.

14 years agoUpdate for thin mesh
Joseph Gilbert [Mon, 3 Oct 2005 20:48:43 +0000 (20:48 +0000)]
Update for thin mesh
*warnings fixes
*projectfile update

14 years agoSmall code cleanups by Stephane SOPPER...
Kent Mein [Mon, 3 Oct 2005 20:24:10 +0000 (20:24 +0000)]
Small code cleanups by Stephane SOPPER...

remove extra ;   and move a variable declaration to top of function.

Kent

14 years agoBrought back Outliner operations!
Ton Roosendaal [Mon, 3 Oct 2005 19:50:05 +0000 (19:50 +0000)]
Brought back Outliner operations!

Since clicking on outliner items activates/selects, and not all outliner
elements allow selection (like scene, mesh, material, etc) there's another
selection method needed.

It works by leftclicking (click-drag works too) outside of the outliner
icons or texts. This allows rapid selecting, without any change in the
other windows.

Then press Wkey or RightMouse for an operations menu. Based on the
selection you get a menu with options. Currently available;

- Objects: Select/Deselect/Delete
- Materials: Unlink
- Textures: Unlink
- Bones: Select/Deselect/Hide/Unhide

Notes:
- mixed selections give an error.
- selection doesn't flush down into closed outliner items.
- selection state is persistant (saved in files), and unique per
  Outliner window, so can be used as sortof temporal grouping.

Hotkey SHIFT+A: select/deselect all open outliner items

The system can be easily expanded with a lot of interesting options, of
course.

14 years agoWorld AO table was freed, but a pointer not NULLed correctly, causing a
Ton Roosendaal [Mon, 3 Oct 2005 19:39:34 +0000 (19:39 +0000)]
World AO table was freed, but a pointer not NULLed correctly, causing a
memory error on end render.

14 years agoAdded new BPython thin mesh module
Ken Hughes [Mon, 3 Oct 2005 19:36:15 +0000 (19:36 +0000)]
Added new BPython thin mesh module

14 years agoCommit I did sept 22 gave returnvalues to buttons, but that should not be
Ton Roosendaal [Mon, 3 Oct 2005 19:30:50 +0000 (19:30 +0000)]
Commit I did sept 22 gave returnvalues to buttons, but that should not be
on buttons in popup menus (like postproduction settings etc)

Error was that the menu returned immediate now.

14 years agoBPython bug fixes:
Willian Padovani Germano [Mon, 3 Oct 2005 19:12:11 +0000 (19:12 +0000)]
BPython bug fixes:

- #2781, reported by Ed Blake: crash on undo when there were active space handlers. Space Handler script links belong to screen areas, which do not get saved on undo. Thanks Ton for pointing out the function that restores ui pointers gone bad.

- Applied patch #2822 by Ken Hughes for bug #2647 ("Setting a Face UV"), reported by Campbell Barton.

- #3022, reported by Timothy Wakeham: "Blender.BGL.glDrawPixels crashes when drawing more pixels then buffer size". Made glDrawPixels check buffer dimensions.

- #2882, reported by Campbell: crash in nmesh.getMaterials(arg == 0 or 1) when nmesh came from GetRawFromMesh(). Raw nmeshes are not linked to Blender meshes, so the method doesn't support these options (getting mat info from the actual mesh) for it.

- #2817, reported by Tod Koeckeritz: Dir_Depth var was not being decremented in BPY_Menus.c, causing dir depth limits to be reached prematurely.

- #2954, reported by Daniel Holtz: "Python scripts crash hard with valid windows paths". Blender.Load() was not meant for background mode, now it's been update to support it, using BKE_read_file instead of BIF_read_file in this case. Also found another issue with command line scripts using Blender.Load() that could crash Blender: trying to free the Text when it wasn't available anymore (loading a new .blend already removed it). There are still issues with one case, though, causing a crash on start or "Memoryblock winopen: double free" at end, when running a script that is already a Blender Text (only if the script calls Blender.Load, of course). Will investigate.

- #2897: reported by Timothy Wakeham: object.setMaterials was asking the length of a Python list w/o confirming first if the passed obj was really a list.

Thanks all for the help and for being patient (long delay, again).

14 years agoDocumentation for new Python thinmesh module
Ken Hughes [Mon, 3 Oct 2005 18:23:04 +0000 (18:23 +0000)]
Documentation for new Python thinmesh module

14 years agoA fix for the menu button yesterday broke something else... the menu button
Ton Roosendaal [Mon, 3 Oct 2005 17:10:18 +0000 (17:10 +0000)]
A fix for the menu button yesterday broke something else... the menu button
should return a non existing event instead. :)
Thanks elubie for reporting!

14 years agoNLA window:
Ton Roosendaal [Mon, 3 Oct 2005 15:48:17 +0000 (15:48 +0000)]
NLA window:
Insert a NLA strip makes it size 100 frames if the actual action is smaller
than 2 frames, otherwise you cannot even select it :)

14 years ago* Added copying curve resolution settings to the copy attributes (ctrl c) menu
Matt Ebb [Mon, 3 Oct 2005 14:44:48 +0000 (14:44 +0000)]
* Added copying curve resolution settings to the copy attributes (ctrl c) menu

14 years agoAdding Drivers in Actions now update live as well.
Ton Roosendaal [Mon, 3 Oct 2005 14:40:42 +0000 (14:40 +0000)]
Adding Drivers in Actions now update live as well.

The main change is that an Action now always updates Poses  on transform,
unless you are editing the Pose itself. Please test!

14 years agoadded getting names of shapes/KeyBlocks to bpy api so mikasaari can continue with...
Toni Alatalo [Mon, 3 Oct 2005 14:28:08 +0000 (14:28 +0000)]
added getting names of shapes/KeyBlocks to bpy api so mikasaari can continue with his lipsync script (where names of phonemes are as names of shapes/keyblocks).

14 years agoNew! Edit mode curve now draws solid extrusions, bevelcurves and tapers.
Ton Roosendaal [Mon, 3 Oct 2005 14:13:47 +0000 (14:13 +0000)]
New! Edit mode curve now draws solid extrusions, bevelcurves and tapers.

Fix: when unlinking an Action from Armature, the ipo window still allowed
adding drivers, causing crashes.

14 years agoIpoWindow, Action curve update.
Ton Roosendaal [Mon, 3 Oct 2005 13:03:25 +0000 (13:03 +0000)]
IpoWindow, Action curve update.

When no Ipo existed yet for an Action Channel (Bone), you could not add
curves with CTRL+click or Drivers. This was due to antique action code
state... it's still messy, no time for big cleanup here yet. At least
this works now. :)

(Also: removed test prints of previous commit)

14 years agoBugfix #3133
Ton Roosendaal [Mon, 3 Oct 2005 10:10:19 +0000 (10:10 +0000)]
Bugfix #3133

- Rendering an image with Border didn't check for sizes smaller than 1
  pixel yet.

Related to this code I found 2 other fixes:

- Themecolor set for drawing in Render Window was not restored correctly,
  sometimes causing into wrong Panel (transparency) drawing.

- When rendering an image with Gauss, it now renders by default 1 pixel
  extra, which gets stripped. This eliminates the "ugly" darker border
  in images.
  (Yes, let's make Mr. PixelCounter Goralczyk happy! :)

14 years agoBugfix #3138
Ton Roosendaal [Mon, 3 Oct 2005 09:11:51 +0000 (09:11 +0000)]
Bugfix #3138

Editbuttons "Centre" options didn't correctly use depgraph for linked data.

14 years agoBugfix #3046
Ton Roosendaal [Mon, 3 Oct 2005 09:04:57 +0000 (09:04 +0000)]
Bugfix #3046

When using 3d window "unlocked" (own layer and own camera possible), the
dependency updates didn't work, these were only using Scene layers.

Changed the dependency graph call DAG_scene_flush_update()
to accept an argument for all visible layers in a Screen.

14 years agobug #2909
Johnny Matthews [Sun, 2 Oct 2005 23:10:56 +0000 (23:10 +0000)]
bug #2909

header is redrawn at the end of loopcut to fix part 2 of the bug , my previous commit fixed the first half of it :)

14 years agoBug fix; action editor, inserting mesh keys crashed. Referencing ipo stuff.
Ton Roosendaal [Sun, 2 Oct 2005 21:40:57 +0000 (21:40 +0000)]
Bug fix; action editor, inserting mesh keys crashed. Referencing ipo stuff.

(yes, studio orange is testing :)

14 years agoIpowindow header: Curve menu crashed when no curve was created yet.
Ton Roosendaal [Sun, 2 Oct 2005 21:29:28 +0000 (21:29 +0000)]
Ipowindow header: Curve menu crashed when no curve was created yet.

14 years agoDriver fix; entering a non-existant object name in driver Panel crashed.
Ton Roosendaal [Sun, 2 Oct 2005 21:21:05 +0000 (21:21 +0000)]
Driver fix; entering a non-existant object name in driver Panel crashed.

14 years agoagain an intermediate solution for the msvc6 builders
Jens Ole Wund [Sun, 2 Oct 2005 20:57:53 +0000 (20:57 +0000)]
again an intermediate solution for the msvc6 builders

added msvc6 project file for builing elbeem

NOTE: it won't build unless some spots in elbeem code are cangend

see -->
fixing elbeem to build on msvc6
http://projects.blender.org/pipermail/bf-committers/2005-September/011952.html

[quote]
And no.. i won't set up a msvc6 project for building blender_elbeem.lib
until things calmed down a bit.
[/quote]

well i did for me to continue work, why not share.

if you do *rebuild all* in this project (release mode) on success will do a
post build step which will copy blender_elbeem.lib to the lib/windows..blah folder
such that the msvc6 (blender) project will find it for happy linking.

it even #defines MSVC6 so all the above changes could be nicly hidden behind that
( my local tree does so ) but it is on Nils to decide if he wants his code to be *pested*.

14 years agoVersion 1.0 of IpoDrivers.
Ton Roosendaal [Sun, 2 Oct 2005 20:51:35 +0000 (20:51 +0000)]
Version 1.0 of IpoDrivers.

First note that this is new functionality, unfinished, and only for
testing and feedback purposes. I'll list below what works, and what will
need work still.

This text is also in cms: http://www.blender.org/cms/Ipo_Drivers.680.0.html

An IpoDriver is like an IpoCurve, but instead of a Bezier curve, it allows
to connect a property of other Objects as input for the "channel". For
example, IpoDrivers can be used to have a Shape Key being "driven" by
the rotation of a Bone. Or the RGB colors of a Material get driven by the
XYZ location of an Object.

Editing of Drivers happens in the IpoWindow. Here you can notice that the
channels (right hand window) now have an "active" channel indicator.
To add a Driver, you have to use the "Transform Properties" Panel (Nkey).
Here you can add or remove a Driver to the active channel, and use the
buttons to fill in what kind of relationship you want to establish.

Driver Objects

Note that any Ipo Channel can become driven now, but that only Object
transformation or Pose Bone transformation can be used to become a
Driver now.
At this moment, only the local transformation is taken into account.
For Objects that means the location/rotation/scale value without Parent
transform (as shown in "Transform Properties" Panel for Objects).
For Pose Bones it means that only the Pose transform (changes of rest
position) is Driver information (also as shown in Transform Property
Panel in Pose Mode).

Mapping of Drivers

When an Ipo Channel is "driven", the mapping is by default one-to-one.
It is only restricted by already built-in limits for Channels, like
for Material the "R" value can only range from 0.0 to 1.0.

Also note that when mapping rotations, the actual rotation values
in Ipos are scaled down with a factor 10.0. (180 degrees actually has
in the Ipo system a value of 18.0). This is an ancient year zero
convention in Blender... it is a bit hidden, because the ruler
(vertical as well as horizontal) displays the virtual values correctly.
Only the Properties panel shows the actual value.

When you draw an IpoCurve in a Driven channel, this curve will define
the mapping between the Driver output (horizontal) and Driven input
(vertical, as usual).
A nice new option to use is "Insert one-to-one curve" (press I-key,
or in pulldown menu). This will also zoom the display in exactly to
fill the window, allowing easy edit. If you use this option with
degrees, it will map 180 degree rotation to a range of 1.0 unit.

Live updates

Since the Drivers are integrated in the Ipo system, they will always
be updated whenever an Ipo is evaluated. This happens at least on
frame changes.
For interactive feedback, updates while transforming objects were
added in these cases:

- Driven Object Ipos, by other Objects or Pose Bones
- Driven Shape Key Ipos, by other Objects or Pose Bones

You can also insert Drivers on Action Ipos, but these are only evaluated
on frame change now.

Todo

- Drivers can also get a text button, allowing a 1 line Python script
  to be executed.
- Make UI for it a bit less hidden... maybe with visualization in 3D?
- Allowing global transform coordinates as Driver too.

Issues

- renaming Bones won't rename drivers
- (file) appending the Ipo won't append the linked driver Objects

14 years agoTransform MMB behavior correction, as mentionned in meeting.
Martin Poirier [Sun, 2 Oct 2005 19:31:32 +0000 (19:31 +0000)]
Transform MMB behavior correction, as mentionned in meeting.

MMB uses global axis, Ctrl-MMB uses user defined. (Alt-MMB cause conflict with the window manager on linux)

(for hotkeys, first press is global, second press is user defined)

14 years agoFixing bones grab in "pose" transform. Bug #3030: http://projects.blender.org/tracker...
Martin Poirier [Sun, 2 Oct 2005 18:27:14 +0000 (18:27 +0000)]
Fixing bones grab in "pose" transform. Bug #3030: projects.blender.org/tracker/?func=detail&atid=125&aid=3030&group_id=9

It didn't do initgrabz correctly.

14 years ago - add support for Python Buffer()s of type DOUBLE
Daniel Dunbar [Sun, 2 Oct 2005 17:09:11 +0000 (17:09 +0000)]
 - add support for Python Buffer()s of type DOUBLE

14 years agoCrash fix; rendering AO with envmap on didn't work.
Ton Roosendaal [Sun, 2 Oct 2005 16:21:26 +0000 (16:21 +0000)]
Crash fix; rendering AO with envmap on didn't work.

Note that envmaps still render without raytracing.

14 years agoThis commit sets the info header on the preferences window and the
Chris Burt [Sat, 1 Oct 2005 21:16:52 +0000 (21:16 +0000)]
This commit sets the info header on the preferences window and the
header prints on the 3d view header to be the same color as the menu text.
This ensures that you can read the text against the color of the header
just as long as the theme color for the menu text is also readable against
the header color. This should make dark themes much better.

14 years agoA little more cleanup of the loopcut code. Hoping to gain some speed, and letting...
Johnny Matthews [Sat, 1 Oct 2005 13:04:19 +0000 (13:04 +0000)]
A little more cleanup of the loopcut code. Hoping to gain some speed, and letting qread() finish its work instead of breaking. I think this may have been causing trouble.

14 years agohum .. blender.dsp would link to
Jens Ole Wund [Fri, 30 Sep 2005 21:00:34 +0000 (21:00 +0000)]
hum .. blender.dsp  would link to
blender_elbeem.lib  in
,..\..\..\lib\windows\elbeem\lib
if it was there

14 years agoFor loopcut, have the event queue ignore MOUSEX and MOUSEY events to help prevent...
Johnny Matthews [Fri, 30 Sep 2005 20:18:00 +0000 (20:18 +0000)]
For loopcut, have the event queue ignore MOUSEX and MOUSEY events to help prevent it from bottlenecking

14 years agoFix SHIFT finetuning for edgeslide (aftermath from a warning cleanup ;-)
Alexander Ewering [Fri, 30 Sep 2005 10:58:39 +0000 (10:58 +0000)]
Fix SHIFT finetuning for edgeslide (aftermath from a warning cleanup ;-)

14 years agoPossible fix for bug #3094 - use normal malloc/free for stuff that gets
Alexander Ewering [Fri, 30 Sep 2005 10:23:28 +0000 (10:23 +0000)]
Possible fix for bug #3094 - use normal malloc/free for stuff that gets
alloced inside SDL threads.

14 years ago* Added additional shift space to fullscreen/tile window spaces. So much
Matt Ebb [Fri, 30 Sep 2005 09:49:56 +0000 (09:49 +0000)]
* Added additional shift space to fullscreen/tile window spaces. So much
more convenient than ctrl uparrow/downarrow since you don't have to take
your hand off the mouse!

14 years ago* added right mouse click to cancel a sequence strip transform, like everything else...
Matt Ebb [Fri, 30 Sep 2005 08:39:35 +0000 (08:39 +0000)]
* added right mouse click to cancel a sequence strip transform, like everything else in blender.

14 years agoBugfix #3112
Ton Roosendaal [Thu, 29 Sep 2005 21:31:47 +0000 (21:31 +0000)]
Bugfix #3112

Mesh selection in editmode didnt work proper with new ALT+B clip option.

14 years agoBugfix #3115
Ton Roosendaal [Thu, 29 Sep 2005 19:52:42 +0000 (19:52 +0000)]
Bugfix #3115

Undo after you did a layer change, didn't restore the 'active layer' in the
3d window. Adding a new object then is invisble.

14 years ago- Added shadow buffer support for wire material and particle strands
Ton Roosendaal [Thu, 29 Sep 2005 19:33:50 +0000 (19:33 +0000)]
- Added shadow buffer support for wire material and particle strands
  (Since strands are screen-aligned, it didn't fill in OK yet)

No shadow;
http://www.blender.org/bf/rt14.jpg
Shadow;
http://www.blender.org/bf/rt15.jpg

14 years agoText3d.c NULL pointer check added to get rid of MEM_freeN warning.
Mika Saari [Thu, 29 Sep 2005 19:25:12 +0000 (19:25 +0000)]
Text3d.c NULL pointer check added to get rid of MEM_freeN warning.

14 years agocu->strinfo reallocation added to Text3d.c, so when setText is executed
Mika Saari [Thu, 29 Sep 2005 19:03:53 +0000 (19:03 +0000)]
cu->strinfo reallocation added to Text3d.c, so when setText is executed
the strinfo is reallocated to include strlen(cu->str) amount of free memory

14 years agoNew hair "strand" channel has wrong texture coord input... it rendered
Ton Roosendaal [Thu, 29 Sep 2005 18:13:36 +0000 (18:13 +0000)]
New hair "strand" channel has wrong texture coord input... it rendered
from 0 - 1, instead of -1 to 1. Thats fixed.
The error made tests i did with alpha make nice though, apparently hairs
are nicer when rendered with alpha range 0.0 to 0.5.

14 years agoStorage of ME_FACE_STEPINDEX in mface iwas same flag as for new
Ton Roosendaal [Thu, 29 Sep 2005 17:06:34 +0000 (17:06 +0000)]
Storage of ME_FACE_STEPINDEX in mface iwas same flag as for new
anisotropic, causing nice interesting render errors.

14 years agoOrange report bug; Adding a new scene, choose "link obdata" gives corrupt
Ton Roosendaal [Thu, 29 Sep 2005 16:37:37 +0000 (16:37 +0000)]
Orange report bug; Adding a new scene, choose "link obdata" gives corrupt
memory. Poses should be relinked right after duplicating, not during a
redraw (when more objects use same armature).

Added in readfile a patch to make sure files saved with this duplicate
error can still be used.

14 years agoFix Python API to correctly create Text3D objects. This is just a
Alexander Ewering [Thu, 29 Sep 2005 15:46:06 +0000 (15:46 +0000)]
Fix Python API to correctly create Text3D objects. This is just a
temporary fix (duplicating code again), the *real* fix would be to once
make one central function to create and init a text object for all
places...

I also tried to introduce compatibility code to be able to load old files
with broken text objects (cu->tb == NULL due to missing init code).

Hope it works :)

14 years ago- Added "anisotropic" rendering for static particle hair strands.
Ton Roosendaal [Thu, 29 Sep 2005 13:19:07 +0000 (13:19 +0000)]
- Added "anisotropic" rendering for static particle hair strands.
  This means the diffuse and specular shaders don't use the normal
  for hair (which is actually undefined, a hair is micro cylinder) but
  it uses the tangent vector (vector in direction of hair).

For Diffuse, it computes a fake normal now, representing the optimal
hair normal pointing towards the light. All current builtin shaders
work with this, including ramps.

For Specular, it uses another formula to remap dot products for all
lines that now use the tangent vector instead of the normal:

dot = vector * tangent
dot = sqrt(1.0 - dot*dot)

Gives better results than using the 'fake' normal for diffuse. Officially
(according the papers) this could be used for diffuse too, but then hair
becomes very flat. Now you can control the flatness easily with ramps or
using Oren-Nayer for example.

Example image (disappears in some weeks)
http://www.blender.org/bf/rt9.jpg

- Added new texture channel "Strand" to apply textures on hairs over the
  length of hair (1 dimensional). Orco now gives 1 fixed coordinate for
  the entire hair, based on where it starts.
  Note; UV doesn't work yet. Nor vertexcolor.

http://www.blender.org/bf/rt10.jpg

14 years agofix Curve.update() method to use new DAG features.
Stephen Swaney [Thu, 29 Sep 2005 07:05:00 +0000 (07:05 +0000)]
fix Curve.update() method to use new DAG features.

14 years agoprojectfile update to elbeem
Joseph Gilbert [Thu, 29 Sep 2005 02:22:56 +0000 (02:22 +0000)]
projectfile update to elbeem
* fixed lib paths
* removed files
* fix preprocessor define

14 years ago- added stub for elbeemDebugOut in
Nils Thuerey [Wed, 28 Sep 2005 18:09:46 +0000 (18:09 +0000)]
- added stub for elbeemDebugOut in
  source/blender/blenkernel/bad_level_call_stubs/stubs.c
for read/write bobj debug output

14 years ago- corrected MSVC6 fix in ntl_vector3dim.h (caused problems with SDL includes)
Nils Thuerey [Wed, 28 Sep 2005 17:52:06 +0000 (17:52 +0000)]
- corrected MSVC6 fix in ntl_vector3dim.h (caused problems with SDL includes)
- removed print from SConscript

14 years ago- removed some unecessary files & code
Nils Thuerey [Wed, 28 Sep 2005 16:20:57 +0000 (16:20 +0000)]
- removed some unecessary files & code
- debug output now controlled globally by elbeem debug level
  (BLENDER_ELBEEMDEBUG environment var), also for fluidsimBake
and read/writeBobj
- debug output is written to file for WIN32
- added "for" and "vector" etc. defines for MSVC6
  (I couldnt get hold of the compiler itself, so not tested yet)

14 years agoadded missing DAG call to image_aspect.
Toni Alatalo [Wed, 28 Sep 2005 15:01:40 +0000 (15:01 +0000)]
added missing DAG call to image_aspect.

14 years ago* Headers for the last Set Smooth commit
Matt Ebb [Wed, 28 Sep 2005 11:56:09 +0000 (11:56 +0000)]
* Headers for the last Set Smooth commit

14 years ago* Added 'Set Smooth' and 'Set Solid' to the mesh edit mode specials menu/toolbox...
Matt Ebb [Wed, 28 Sep 2005 11:55:43 +0000 (11:55 +0000)]
* Added 'Set Smooth' and 'Set Solid' to the mesh edit mode specials menu/toolbox/3d view menu so you don't always have to keep switching back to edit buttons.

14 years agoBrought back (lost with modifier code) display of actual amount of faces
Ton Roosendaal [Wed, 28 Sep 2005 11:24:39 +0000 (11:24 +0000)]
Brought back (lost with modifier code) display of actual amount of faces
for subsurfs in info header.

14 years agoBugfix;
Ton Roosendaal [Wed, 28 Sep 2005 11:07:12 +0000 (11:07 +0000)]
Bugfix;

Ipo window could crash on reading old files with keys, non proper use
of pointer...

14 years agoBugfix;
Ton Roosendaal [Wed, 28 Sep 2005 11:05:20 +0000 (11:05 +0000)]
Bugfix;

- buttons "Show" and "Key" didn't set the active constraint, causing
  confusement in display for the IpoWindow

Also made the backdrop for constraints and modifiers to use the Panel
theme color, making it better integrated.

14 years agoRemoved ancient (2.1) feature for Constraints... a highly undocumented and
Ton Roosendaal [Wed, 28 Sep 2005 10:07:54 +0000 (10:07 +0000)]
Removed ancient (2.1) feature for Constraints... a highly undocumented and
unpredictable one!

This is what it did; if two or more Constraints are of the same type, it
accumulates the Target positions/rotations for the constraints, averages
them, and then only applies the last Constraint in the row. It seems to
be a trick to blend IK Constraints or so... in all other cases I cannot
find a good use for it (nor did Bassam).

For example; add three Empties, and make one Empty to have 2 location
constraints to the other two. This just didn't work, unless you insert
an "Empty" constraint inbetween.
I will post in the blender.org animation forum feedback for it too. :)

Its quite easy to make it an option, but I first like to grasp fully what
the actual use of such an option is.

14 years agoSuppressed another GL_FRONT drawing routine, causing potential slowdowns
Ton Roosendaal [Wed, 28 Sep 2005 09:59:59 +0000 (09:59 +0000)]
Suppressed another GL_FRONT drawing routine, causing potential slowdowns
for some configs. This was an old hack for sgi's, so I've put it behind an
ifdef for sgi and suns now.

Test if blender still works by switching screens, and check for the borders
between the blender area windows. These should draw all nice empty/black.

14 years agoFix forward declaration of drawscreen()
Alexander Ewering [Wed, 28 Sep 2005 07:11:24 +0000 (07:11 +0000)]
Fix forward declaration of drawscreen()

14 years agoDivision by zero prevented in new hair strand algo. It showed as vertical
Ton Roosendaal [Tue, 27 Sep 2005 22:33:06 +0000 (22:33 +0000)]
Division by zero prevented in new hair strand algo. It showed as vertical
lines, especially with the "Step" size low.