Commit Graph

3888 Commits

Author SHA1 Message Date
b6817b55e8 * 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
2005-10-04 20:17:30 +00:00
5b25951013 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.
2005-10-04 20:17:10 +00:00
fe6badc186 Another little fix for non-prop edgeslide 2005-10-04 18:50:58 +00:00
375056def5 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...
2005-10-04 18:04:49 +00:00
d8c17fcf8b Bugfix #3188
Enter Vpaint or Wpaint did not redraw headers of all 3d windows, so the
mode menu indicator didn't update.
2005-10-04 17:43:41 +00:00
ecddc0739b 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. :)
2005-10-04 17:40:22 +00:00
4a0d86aac8 Small fix; browse Vertex Weight groups in Edit panel, didn't update display
of 3d object.
2005-10-04 15:58:25 +00:00
0e22b501db 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.
2005-10-04 15:30:51 +00:00
Ken Hughes
ac668ea561 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
2005-10-04 15:17:27 +00:00
772459f15c 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.
2005-10-04 15:00:28 +00:00
e5eea31629 Thought I committed it before... this is the fix for Python API version
of "library append", which keeps the current .blend file name.
2005-10-04 14:53:55 +00:00
583ebd75be * Doubled the maximum shadow buffer size limit in the shading buttons.
Now, more than ever!
2005-10-04 14:19:29 +00:00
Ken Hughes
b777b23e07 Bugfixes for #3102, #3104
- Fix incorrect usage of PySequence_Fast_GET_ITEM()
- make EXPP_setFloatRange() convert its argument to float instead of short
2005-10-03 22:06:16 +00:00
b4c85d58f6 Bugfix #3137
In UV Faceselect, the button "Set vertex color" needed Mesh update flush.
2005-10-03 21:29:45 +00:00
e006662a5b Bugfix #3141
Ending localview didn't correctly restore selection, so oops or outline
were not updated.
2005-10-03 21:17:33 +00:00
Ken Hughes
33fcdf2ada Bugfix #2650.
Calling ipo.delCurve() with a curve that's not been displayed in the
Ipo curve editor caused a segfault.
2005-10-03 21:05:41 +00:00
7c199946ec Bugfix #3143
CTRL+click adding bones now respects X-axis mirror edit too.
2005-10-03 20:53:54 +00:00
6cb422b886 Update for thin mesh
*warnings fixes
*projectfile update
2005-10-03 20:48:43 +00:00
bfea10e659 Small code cleanups by Stephane SOPPER...
remove extra ;   and move a variable declaration to top of function.

Kent
2005-10-03 20:24:10 +00:00
3a8d10a713 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.
2005-10-03 19:50:05 +00:00
eb698196d0 World AO table was freed, but a pointer not NULLed correctly, causing a
memory error on end render.
2005-10-03 19:39:34 +00:00
Ken Hughes
f2af563f92 Added new BPython thin mesh module 2005-10-03 19:36:15 +00:00
c7f4016349 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.
2005-10-03 19:30:50 +00:00
080b7f0902 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).
2005-10-03 19:12:11 +00:00
Ken Hughes
fde63008a5 Documentation for new Python thinmesh module 2005-10-03 18:23:04 +00:00
3eb1f04509 A fix for the menu button yesterday broke something else... the menu button
should return a non existing event instead. :)
Thanks elubie for reporting!
2005-10-03 17:10:18 +00:00
15c5fb7e41 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 :)
2005-10-03 15:48:17 +00:00
2e8d8f6b8f * Added copying curve resolution settings to the copy attributes (ctrl c) menu 2005-10-03 14:44:48 +00:00
bec1e25720 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!
2005-10-03 14:40:42 +00:00
9459f7c1be 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). 2005-10-03 14:28:08 +00:00
12dc565786 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.
2005-10-03 14:13:47 +00:00
45edb9cecb 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)
2005-10-03 13:03:25 +00:00
1c72a19fd8 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! :)
2005-10-03 10:10:19 +00:00
fd7ef55a69 Bugfix #3138
Editbuttons "Centre" options didn't correctly use depgraph for linked data.
2005-10-03 09:11:51 +00:00
1af3055832 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.
2005-10-03 09:04:57 +00:00
d9b0475158 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 :)
2005-10-02 23:10:56 +00:00
6d52a829ef Bug fix; action editor, inserting mesh keys crashed. Referencing ipo stuff.
(yes, studio orange is testing :)
2005-10-02 21:40:57 +00:00
2f590af596 Ipowindow header: Curve menu crashed when no curve was created yet. 2005-10-02 21:29:28 +00:00
b8442c531a Driver fix; entering a non-existant object name in driver Panel crashed. 2005-10-02 21:21:05 +00:00
015fe7ea81 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
2005-10-02 20:51:35 +00:00
42fe4c568d 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)
2005-10-02 19:31:32 +00:00
90b5c5054c Fixing bones grab in "pose" transform. Bug #3030: http://projects.blender.org/tracker/?func=detail&atid=125&aid=3030&group_id=9
It didn't do initgrabz correctly.
2005-10-02 18:27:14 +00:00
cdb8700ddc - add support for Python Buffer()s of type DOUBLE 2005-10-02 17:09:11 +00:00
173a4791b2 Crash fix; rendering AO with envmap on didn't work.
Note that envmaps still render without raytracing.
2005-10-02 16:21:26 +00:00
589f91e0ee 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.
2005-10-01 21:16:52 +00:00
453fd9f532 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. 2005-10-01 13:04:19 +00:00
80c5ca75dc For loopcut, have the event queue ignore MOUSEX and MOUSEY events to help prevent it from bottlenecking 2005-09-30 20:18:00 +00:00
Alexander Ewering
2f22ea5900 Fix SHIFT finetuning for edgeslide (aftermath from a warning cleanup ;-) 2005-09-30 10:58:39 +00:00
Alexander Ewering
61e9d7c2d4 Possible fix for bug #3094 - use normal malloc/free for stuff that gets
alloced inside SDL threads.
2005-09-30 10:23:28 +00:00
3c3b0c13e3 * 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!
2005-09-30 09:49:56 +00:00