Commit Graph

19319 Commits

Author SHA1 Message Date
Matt Ebb
0b4627c5d6 More specific notifiers for preview render jobs 2010-01-05 01:59:37 +00:00
Matt Ebb
665011e410 Fix for some confusing terminology: Window type -> Editor type
Correct hierarchy of terminology should be:
* Window (OS level window with borders)
* Area (top level subdivision in Blender UI), containing an
* Editor (actual UI functionality such as 3D View, Properties)
* Region (subdivision of an area, i.e. a header, a properties panel or toolbar)
2010-01-05 00:45:05 +00:00
Campbell Barton
e90b6eefb1 patch from Benoit Bolsee (ben2610) for 4 bugs in report [#20527] Several bugs in RNA
from the report...


# bug 1. UV properties are not raw editable but are reported 
#        as RAW_TYPE_INT by RNA causing wrong conversion 
#        internally (bpy_rna.c line 2205)
# bug 2. raw update of UV coordinates crash blender (rna_access.c line 252)
mtfaces.foreach_set("uv", rawuvs)
# workaround:
#for i in range(int(len(faces)/4)):
#   mtfaces[i].uv = uvs[i]

# bug 3. raw update of non-array property fails (rna_access.c line 2270)
mfaces.foreach_set("material_index", mats)
# workaround:
# for i in range(int(len(mfaces))):
#    mfaces[i].material_index = mats[i]

# bug 4. It is not possible to add a vertex color layer using mesh API.
me.add_vertex_color()
# no workaround...
2010-01-04 22:30:09 +00:00
Campbell Barton
7f03297fc8 grease pencil 'Only Endpoints' option wasnt working when the entire zbuffer was filled. 2010-01-04 21:37:09 +00:00
Joshua Leung
a9861e3381 Durian Request: Drivers Recode
Highlights:
* Support for Multi-Target Variables
This was the main reason for this recode. Previously, variables could only be used to give some RNA property used as an input source to the driver a name. However, this meant that effects such as Rotational Difference couldn't be used in conjunction with other effects and/or settings to achieve the powerful results. Now, a variable can take several input targets, perform some interesting operations on them, and spit out a representative value based on that.

* New Variable Types
With the introduction of multi-target variables, there are now 3 types of variable that can be used: single property (i.e. the only type previously), Rotational Difference (angle between two bones), and Distance (distance between two objects or bones).

* New Driver Types
In addition to the existing 'Average', 'Sum', and 'Expression' types, there is now the additional options of 'Minimum' and 'Maximum'. These take the smallest/largest value that one of the variables evaluates to.

* Fix for Driver F-Curve colouring bug 
Newly added drivers did not get automatically coloured in the Graph Editor properly. Was caused by inappropriate notifiers being used.


Notes:
* This commit breaks existing 2.5 files with drivers (in other words, they are lost forever). 
* Rigify has been corrected to work with the new system. The PyAPI for accessing targets used for the variables could still be made nicer (using subclassing to directly access?), but that is left for later.
* Version patching for 2.49 files still needs to be put back in place.
2010-01-04 21:15:45 +00:00
Campbell Barton
bed3c5254f pyrna array slice assignment
- accept any sequence
- disallow deleting & resizing via slices
2010-01-04 20:53:52 +00:00
Martin Poirier
0525829735 transform:
Rotation operator now saves axis of rotation (when not using a constraint). Better for operator redo and tweak (would use a Z axis because of matrix init)

Also fix crash in Translation operator redo and tweak (rv3d is not always available).
2010-01-04 20:49:42 +00:00
Martin Poirier
a325b8b3b9 bugfix: macro redo could crash because of not nulled freed pointer. 2010-01-04 20:18:13 +00:00
Brecht Van Lommel
29f90af19c Fix: curve reset for brushes now gives proper smooth curve as default,
also moved brush curve presets code into curvemapping code.
2010-01-04 17:28:37 +00:00
Campbell Barton
8af456313a dupli faces inherit scale wasnt using the right flag internally.
renamed...
 dupli_frames_no_speed --> use_dupli_frames_speed
 dupli_verts_rotation --> use_dupli_verts_rotation
 dupli_faces_inherit_scale --> use_dupli_faces_scale
2010-01-04 17:27:23 +00:00
Brecht Van Lommel
0e37b49a2c Sculpt: fix, disable border/circle/mouse select operators in sculpt mode. 2010-01-04 17:03:44 +00:00
Brecht Van Lommel
5dd7b4d490 Sculpt:
* Fix #20482: grab brush + size pressure sensitivity don't work
  together, disabled the pressure sensitivty for that case now.
* Fix for smooth brush messing up mesh sometimes, smooth factor
  is now clamped to reasonable range.
* Fix #20449: smooth brush + mirror modifier could crash.
2010-01-04 16:53:32 +00:00
Brecht Van Lommel
4faf36e3ad Added OpenGL debugging function to print state information, was using this as
a patch here for a while but might as well commit it.
2010-01-04 16:28:59 +00:00
Campbell Barton
d92a6f140d copy modifiers, as "Link Modifiers" - in Ctrl+L menu. difference between copy and link is vague especially since particle systems are ID data. 2010-01-04 16:26:07 +00:00
Campbell Barton
589b2b4ca8 object.group_users, object.scene_users
utility functions to find the groups and scenes this object is used in.

button to set the group location from the cursor (UI is horrible but not any nice place to add?)

smarp project would fail if there were linked meshes in the scene, made ID.tag ignore the library, so you can tag linked data since its only for tools to use.

normalize the vertex normal before setting and use inline vector functions.
2010-01-04 15:37:22 +00:00
Campbell Barton
61a8f370f5 patch from Guillaume Bouchard for setting vertex normals, (lost when existing editmode but still useful in some cases) 2010-01-04 15:25:21 +00:00
Campbell Barton
d077ea6c6c use a smaller threshold for mesh mirror, workaround for sintels face.
Better solutions could be...
- use a tool to set mirror locations (did a script for this in 2.4x), then run this if locations get messed up..
- find the closest mirror vertex, would be slower
- have a configurable threshold.
2010-01-04 14:59:53 +00:00
Campbell Barton
addd07582b check if newlibadr returns a valid pointer when running do-versions on animviz data 2010-01-04 14:22:22 +00:00
Campbell Barton
d1da5cb99a support for rna functions returning mathutils types - so object.rat_cast() returns Mathutils vectors rather then tuples 2010-01-04 13:29:55 +00:00
Matt Ebb
7a67b662bd * Tweaks for node editor Make Links (F key)
Testing a new method that hopefully will be faster to use than finicky socket 
selection - now just select multiple nodes and press F - available output sockets 
on the selected nodes will get automatically connected to the active node.

It works for one socket type each time, to avoid getting lots of extra connections 
when you join up, but as a shortcut you can easily press F again to connect up 
other socket types. For example, to connect a render layer node (with vector pass) 
to a vector blur node, select the render layer then the vector blur, and press F 
three times to connect up the Image, Z and Vector sockets. It now also 
preferences sockets with the same name to connect up first.

There's also another option (ctrl F) which will replace existing input links, rather 
than only connecting up links to available input sockets.


* Also changed socket link knife cut to a more convenient shortcut - Ctrl LMB tweak
2010-01-04 04:26:28 +00:00
Matt Ebb
a37aa8d11d * Added back some shortcuts from 2.4x using ctrl/alt/shift/etc mouse wheel to scrub frames, pan view, etc.
* Redraw the 3D View on brush edit changes (for [ and ] keys)
2010-01-04 00:39:55 +00:00
Matt Ebb
1cbe3c06d6 * Added new hotkeys [ and ] to decrease/increase brush size by 20 in all paint modes.
The actual value to increment/decrement by can be customised in key maps.
2010-01-04 00:18:08 +00:00
Matt Ebb
4494ec8019 * Fix tooltip for reset default values
* Redraw 3D View tool shelf on texture changes (to reflect new brush textures)
2010-01-03 23:46:19 +00:00
Matt Ebb
f02dde5de7 Patch from Raul Fernandez Hernandez - volume render multiple scattering fixes
Also: Changed 'Spread' value to be proportional to the light cache voxel grid 
(i.e. 0.5 spreads half the width of the grid), so that it's independent of light 
cache resolution. This means that results should be similar as you increase/
decrease resolution.
2010-01-03 23:45:13 +00:00
Stefan Gartner
1f33d574c2 OS X Makefiles:
* added some new variables (mostly the same as with scons):
  - USE_COCOA: use Cocoa for ghost (defaults to true)
  - MACOSX_ARCHITECTURE: can be ppc, ppc64, i386, x86_64. By default this is the host architecture
    (ppc for PowerPC Macs, i386 for Intel Macs). In theory this allows to cross compile blender for
    a different architecture, though cross compilation only works on Intel Macs, because makesdna
    and makesrna are built for the target architecture.
    For a 64 bit build, set MACOSX_ARCHITECTURE to x86_64 (Intel) or ppc64 (PowerPC).
  - MACOSX_MIN_VERS: minimum OS X version to run blender on (10.4 for 32 bit builds, 10.5 for 64 bit    builds)
  - MACOSX_DEPLOYMENT_TARGET: needed by the linker to create an Application targeted for a specific
    OS version (defaults to 10.4 for 32 bit builds, 10.5 for 64 bit builds)
  - MACOSX_SDK: path to a specific SDK. currently not used 
  - USE_QTKIT: use QTKit instead of QuickTime (defaults to true for 64 bit builds, as using QTKit
    is mandatory in that case))
 * use the same compiler flags as scons
 * default compiler now is gcc-4.0 when building for 10.4 and gcc-4.2 when building for 10.5
 * extract $(LCGDIR)/release/python_$(MACOSX_ARCHITECTURE).zip to Application bundle. This might
   break building on 10.4, to fix that, rename $(LCGDIR)/release/python.zip 

When compiling blender, only MACOSX_ARCHITECTURE might be of interest, as it allows doing 64 bit
builds (or 32 bit PowerPC builds on Intel). All other variables are then set to reasonable defaults.
For current users of the Makefile system, this commit shouldn't change much.
2010-01-03 20:35:13 +00:00
Janne Karhu
c6e40798fb Stickness factor for particle collisions, patch submitted by Raul Fernandez Hernandez (farsthary). 2010-01-03 14:51:34 +00:00
Matt Ebb
7a33b5ce72 Tweak to group operator naming 2010-01-03 08:38:42 +00:00
Matt Ebb
251ef0a47f Changes to Brush texture workflow
This changes how textures are accessed from Brushes, with the intention of simplifying 
the workflow, and reducing the amount of clicking. Rather than the previous texture slots 
(which didn't work as a stack anyway), brushes now have a single texture linked. Rather 
than taking time having to set up your slots in advance, you can now select and change 
textures directly as you sculpt/paint on the fly. For complex brushes, node textures can 
be used, or for fast access, it's easy to make a duplicate of your brush with the texture 
you like and assign a hotkey.

Brush textures can now be chosen from a new Textures panel in the brush tool 
properties - click on the thumbnail to open a texture selector. This is done using a new 
variation on the ID template - the number of rows and columns to display in the popup 
can be customised in the UI scripts.
2010-01-03 08:37:18 +00:00
Campbell Barton
ca4a5f309e solidify supports original mapping, so enable in the modifier.
this means you can select the copied face (as with the mirror modifier)
2010-01-03 05:49:56 +00:00
Campbell Barton
1286a16ea4 [#20450] Crash before creating a volumetric material.
- volumetric material must be traceable
2010-01-03 05:40:33 +00:00
Campbell Barton
28c137a8eb bugfix [#20510] .blog file causes crash (again rev25592) 2010-01-03 05:34:53 +00:00
Campbell Barton
833ec130a3 bugfix [#20528] Crash when applying scale to a Bezier curve 2010-01-03 05:08:56 +00:00
Campbell Barton
bf6fc75161 freeing particle modifier would access freed memory (only to tak the psys to be deleted), set to NULL after freeing and check before tagging. 2010-01-03 04:35:51 +00:00
Campbell Barton
eb7ac3146e - disallow the change the layer operator in localview.
- toggle setting the layers (mainly useful when accessed from the keys)
2010-01-03 04:21:40 +00:00
Campbell Barton
a93e2d3603 [#20455] Spotlight halo with deep buffers: render crashes 2010-01-03 03:18:48 +00:00
Campbell Barton
5266969546 fix for [#20499] Smoot view doesn't work for all view keys. 2010-01-03 03:01:46 +00:00
Campbell Barton
310a84f13e bugfix [#20534] Blender crashes throghout compositing 2010-01-03 02:53:01 +00:00
Campbell Barton
6b9d65549b bugfix [#20542] Crash 2.50a0 Click event in Console window Report mode 2010-01-03 02:34:00 +00:00
Campbell Barton
9bda43ed27 - WM_OT_context_cycle_int wasnt working (also wasnt used anywhere)
- remove console zoom operator, use WM_OT_context_cycle_int instead.
- use WM_OT_context_cycle_int for text editor zoom also (Ctrl +/- and Ctrl+MouseWheel)
2010-01-03 02:24:53 +00:00
Campbell Barton
e2f5d31453 dont draw object centers when drawing the depth buffer, grease pencil would get its depth messed up by object centers when with 'Surface' mode.
Also fix own error with drawing grease pencil depths, wasnt setting v3d->zbuf back to its original value.
2010-01-03 01:55:20 +00:00
Campbell Barton
9cb975bd9b grease pencil depth option 'Stroke Endpoints' works well when painting onto mesh surfaces as well as other grease pencil lines. change ui to show this. 2010-01-02 23:56:14 +00:00
Campbell Barton
04d0261c37 new python submodule. eg.
from bpy.app import binary_path, version, version_string, home

can add constant variables from blender here as needed (maybe functions too... bpy.app.memory_usage() ?)
2010-01-02 23:14:01 +00:00
Campbell Barton
e7d863cee5 editbone.transform(matrix) function, requested by Cessen.
Also added matrix.median_scale attribute to get the average scale from the matrix, use for scaling bone envalopes.
2010-01-02 22:47:56 +00:00
Campbell Barton
cf7b19c0ba fix for mistake in last commit. also forgot to call RNA_parameter_list_end() in some places, (ok the function does nothing now, but some day it might do) 2010-01-02 19:01:19 +00:00
Campbell Barton
cef8b2088f sphinx support for documenting multiple return values 2010-01-02 18:55:07 +00:00
Campbell Barton
78b2eb8d3c PyRna float/bool/int slicing.
- fixed slice assignment.
- fix for slowdown where getting a slice would get the entire array and free it for every item in the array (malloc and free for arrays >32).
- fix for thick wrapped returning an array referencing the original pointer when coercing into a mathutils type failed.

TODO
- slice assignment currently only sypports lists.
- dimensions are ignored for multidimensional arrays.
2010-01-02 17:33:44 +00:00
Campbell Barton
c1b0239f06 RNA Ray casting function for python access, uses BVH acceleration structure (same as shrink wrap), very fast & useful for object placing scripts.
Python Example.
 hit_location, hit_normal, face_index = object.ray_cast(ray_start, ray_end)

- first rna func to use multiple return values
- currently casts in object space, may want to cast in worldspace too.
2010-01-02 15:31:02 +00:00
Campbell Barton
e83940d994 support for multiple return values from rna functions & support for returning arrays, (no functions are using this yet).
patch from Elia Sarti, (vekoon) with some modifications mainly for the python api.

- multiple values are returned as a typle in the order that are defined.
- added support for registered types returning multiple arguments (untested).
- renamed func->ret --> func->c_ret, since this only defines what the C function returns.
2010-01-02 10:42:38 +00:00
Stefan Gartner
382e52e5c7 OS X Makefiles: append -DPARALLEL=1 to CPPFLAGS when compiling with OPENMP 2010-01-02 09:32:32 +00:00
Joshua Leung
a7d268d38e Cessen Rigging Request: "Copy Transforms" Constraint
This constraint simply copies the transformation matrix of the target, and assigns it to the owner.
2010-01-02 04:14:17 +00:00