Commit Graph

17094 Commits

Author SHA1 Message Date
Arystanbek Dyussenov
6695334377 COLLADA branch: patch for importer from Sergey I. Sharybin to build against OpenCollada at revision 721. Thanks Sergey!
People who want to build this branch will need update their OpenCollada.

On Linux OpenCollada builds without patching. As usual I updated the build doc: http://wiki.blender.org/index.php/User:Kazanbas/Building_Collada_Branch#Building_the_COLLADA_GSoC_branch

A small change will be necessary in cmake and scons options on Mac and Windows: OpenCollada's libBuffer was renamed to libbuffer.
2010-01-23 17:33:40 +00:00
Arystanbek Dyussenov
ea1b97a184 COLLADA branch: partial fix of bug #20634
* scale and rotation of objects with negative scale is exported correctly. This is accomplished by:
** if ob has no parent, use ob->rot, ob->scale values directly
** if ob has a parent, a local matrix is computed without scale and rotation is derived from it, scale value is copied directly from ob->size

Noted a few other bugs:
* importer suffers from negative scale problem too
* bones with negative scale are exported incorrectly too
* object animation values are copied from FCurves which is not ok for child objects where values should be in parent-space
2010-01-23 12:45:54 +00:00
Arystanbek Dyussenov
799fd6f373 COLLADA branch: fix #20653 - <animation> tag's target attribute was missing ".ANGLE".
Also replaced "."s in <animation> ids with "_" and corrected bone <node> sids.
2010-01-13 12:44:57 +00:00
Arystanbek Dyussenov
1bca8389dd Merge from trunk -r 25003:25745. 2010-01-05 19:21:59 +00:00
Arystanbek Dyussenov
06d548bd6f COLLADA branch: bone anim export works. Export-import roundtrip is possible.
Importer now takes mesh bind position into account.

TODO: read/write object-level anim on armatures and fix memleaks.
2010-01-05 16:07:10 +00:00
Brecht Van Lommel
73f84b24fc Particles:
* Fix crash in mirror tool.
* Added X Mirror option back to the UI, flag is now same as the
  one for edit and paint modes, stored in the mesh.
2010-01-05 15:23:09 +00:00
Brecht Van Lommel
9a3362c84f BUGFIX: revision 25736 (about 3 hours ago) introduced a problem in SDNA
for drivers, which will cause files that include drivers and saved since
then to crash on load, and loading existing files to crash as well. This
commit fixes that problem. So, don't use builds from revision 25736-25743.

The problem is this line, SDNA does not support parsing #defines:

DriverTarget targets[MAX_DRIVER_TARGETS];
2010-01-05 14:56:48 +00:00
Brecht Van Lommel
a1034a0526 Fix #20571: run script operator crashes in 3d view. 2010-01-05 14:27:13 +00:00
Brecht Van Lommel
d16547ab73 Alt+B view clipping is now taken into account properly for sculpt, particle
edit and snapping, by clipping the view ray.
2010-01-05 14:26:38 +00:00
Campbell Barton
01b762e846 fix for bpyob.foreach_set(), when the list is empty 2010-01-05 13:55:51 +00:00
Matt Ebb
cc72f7e1b1 Revert previous preview render commit, causing some problems 2010-01-05 12:14:18 +00:00
Joshua Leung
b6598ed710 Quick fix for layout of Transform Channel var type, since on smaller regions, the widget sizes were too small to be useful. 2010-01-05 12:12:26 +00:00
Joshua Leung
05cddaa280 Quick fix for previous commit - changing order of items in the variable type menu to make it easier to use the transform one.
Also, forgot to mention in previous commit that I tweaked the path-renaming code to only rename driver targets that were being used, and commenting out some code there that wouldn't work...
2010-01-05 12:03:32 +00:00
Joshua Leung
6fb1d0e6a3 More Driver Fixes:
* Fixed Driver version-patching code to work correctly again with the new system.

* Fix for bug #20484, by adding a new driver variable type ('Transform Channel') which makes it easier to use object/bone transforms as in the past. The main differences with using this (compared with the 'Single Prop' type) are that this allows for 'final' transforms to get used instead (i.e. constraints are also taken into account), and also that this variable type can only be used for transforms (more limited scope -> less flexibility -> point-n-click goodies can follow). Mancandy now loads correctly again.

* Added toggle for local vs worldspace transforms when working with Rot/Loc Diff variable types, and also for the newly added Transform Channel

* Removed some dead code from sequencer...
2010-01-05 11:59:12 +00:00
Campbell Barton
cce1d178b8 obscure feature: Display Custom Bone Shape at another bones transform.
Brecht and I took a fair bit of convincing on this one however Cessen was jumping through hoops to do without this feature.
Having the shape being an external mesh deformed by its own armature, which were both hidden but in the same layer *(so the depgraph would update them).
Without this some of the bones in the rig also dont make much sense when animating with.
2010-01-05 11:47:43 +00:00
Campbell Barton
52a2b82852 speedup for driver execution, use PyUnicode_InternFromString() for variable names, cache hash and string -> unicode conversion for driver variables. 2010-01-05 10:54:54 +00:00
Matt Ebb
d16ea70f51 * Modifications to node editor 'make links' tool, after some requests by Soenke
Now it automatically decides how to connect the nodes up, based on the node positions. This lets you do fun stuff like in this video: http://www.vimeo.com/8548698
2010-01-05 06:49:29 +00:00
Martin Poirier
6e6560d924 Macro: insert macro properties into sub operator properties when run (this enables you to set a parameter on the macro itself and have the operator it runs use it). Note that macro properties are not initialized from its operators yet, you have to add them manually. Also, this isn't really nice if two operators in the macro have the same property. 2010-01-05 03:31:57 +00:00
Martin Poirier
22c32973e7 IDGroup utility function to copy a group inside another one 2010-01-05 03:29:41 +00:00
Martin Poirier
8f3db6bb24 Rename extrude macro "Extrude and Move" (less confusion with the Extrude operator that just creates geometry and doesn't move it) 2010-01-05 03:26:11 +00:00
Matt Ebb
3398dd032b Added render layer 'enable' toggles for render layer list view 2010-01-05 03:09:11 +00:00
Matt Ebb
5838c80038 More "Window" terminology corrections 2010-01-05 03:06:02 +00:00
Martin Poirier
02cf88464d Macro used wrong length for idname (also use OP_MAX_TYPENAME more often so it doesn't blow up if changed) 2010-01-05 03:01:04 +00:00
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