Commit Graph

17356 Commits

Author SHA1 Message Date
1d9f90ed42 - all add object operators now take view_align as an argument, and enter_editmode where its used. Makes running the operator from python pradictable without having to know the user prefs.
- missing return in function
- python error in view3d (assumed active object exists)
2009-11-02 16:07:49 +00:00
9ea97203ae Mac :
- Updated CMake files for building with openCollada

Update of the 10.5 libs including openCollada is coming in next commit
2009-11-02 14:03:13 +00:00
9e9ab1a227 *Added subdivide to armature toolbar, and gave it a hotkey (W)
*Fixed some remaining icon issue in the shape key properties
2009-11-02 13:20:14 +00:00
a87c16947d * Set some custom empty draw types on adding force fields, where relevant 2009-11-02 11:37:35 +00:00
4b8c64246e * Added a new 'bone constraint' property editor icon and panel titles to distinguish bone constraints from object constraints
It was a bit too confusing and people were easily getting them mixed up.
2009-11-02 11:36:45 +00:00
3b43a5228e Mac / COCOA :
- revert tiff load/save to use standard libtiff (to ensure 100% colorimetry & alpha interpretation across platforms)
- include patch #18720 to fix load of libtiff dynlib (if present on system)
2009-11-02 11:20:31 +00:00
da1765765b many operators uses Bases, for the python to set operators context python too needs to be able to access bases.
- added scene.bases (like scene.objects)
- renamed group create operator.

Example
 scene = bpy.data.scenes[0]
 C = {}
 C["scene"] = scene
 C["selected_editable_bases"] = [scene.bases[2], scene.bases[3]]
 
 bpy.ops.group.create(C)


Also made operator fake modules not return __call__ (reported by Stani, fixes autocomp. bug)
2009-11-02 11:14:22 +00:00
da6081f266 Fix for bug [#19668] Blender freezes if step size 0 is used for a volumetric material -- limit the minimum step size 2009-11-02 10:30:51 +00:00
3b910a7809 Fixed typo in key display code, was making the shortcuts for [ and ] (used in bone selection) inverted in the menu shortcut hint 2009-11-02 10:20:06 +00:00
334a80a4f8 Spline IK Experimental Features:
1) "Even Divisions" - This option ignores the length of bones when considering how they should fit along the curve. This is useful for getting a smoother curve fit without having to worry about getting the bone lengths spot on. By default, this is disabled.

2) "Keep Max Length" - This option prevents the bone chain from extending past its natural length when the spline is stretched beyond that length. When the spline length is substatially shorter though, this bones get scaled to zero; making this option possibly useful for doing "growing tips". 
This is essentially a 'no scale' option, although the behaviour when the curve is shorter is really a compromise since the curve cannot be accurately satisfied + left intact without some scaling being applied due to the way this works.

3) "Radius to Thickness" - The average radius of the spline between at the head+tail of each bone determines the x+z scaling of the bone.
2009-11-02 10:04:37 +00:00
27580daf27 Added back texture filter/minimum settings to image texture properties 2009-11-02 09:31:55 +00:00
dd130350d5 make python operator instances subclasses of the wmOperator when called.
was subclassing the operator's type before.

Removes the need for passing self.__operator__, can pass self directly.
2009-11-02 08:32:00 +00:00
c90db8d270 last commit broke running python operators
note that you can still set rna properties like this.
 bpy.data.__dict__["var"] = 1
 print(bpy.data.var)

but this is only stored for the python objects lifetime and not actually attached to blenders data
2009-11-02 00:20:07 +00:00
e8b5effdff Spline IK Bugfixes 1:
* Fixed crash when reloading a file with Spline IK and/or Damped Track constraints. The targets for these constraints weren't getting relinked.
* Fixed problems with removing Spline IK making some bones unable to be manipulated.
* Jotted down some comments in the Spline IK code noting places where additional tweaks will be added.
2009-11-01 22:30:47 +00:00
a99157b20d rna structs would not raise an error when assigning invalid properties
netrender needed updating for this.
 hint, bpy.data is not a module
2009-11-01 21:53:45 +00:00
94209d58aa Simplify gimbal axis code and make gimbal orientation work correctly with parents (objects or pose bones). Works for all euler orders too, obviously. 2009-11-01 21:10:54 +00:00
7bb6e18f20 Fix view3d rna to work with new number of orientations (use constant instead of value, safer for future). 2009-11-01 20:17:30 +00:00
39021ac4ea after transform update didn't run because of stupid typo 2009-11-01 20:09:03 +00:00
29aea786cb Added proper icon for full screen mode. Would be nice to have this button eventually be right-aligned. 2009-11-01 18:05:01 +00:00
9cf155d012 Compile fix for too many arguments to uiItemO 2009-11-01 14:19:35 +00:00
4f4b637a35 * OpenGL Render is now available again from the View3D Header. 2009-11-01 14:04:37 +00:00
3111ebde65 Quick tweak to version patching code for Camera IPO's to fix one of the issues in bugreport 19761.
For now, this just assumes that the 'lens' parameter was animated (assuming a perspective lens was used). Unfortunately, this may not always be correct, but at least there's a path now that can lead to further tweaking.
2009-11-01 11:33:41 +00:00
2068eaf1b7 Rigging Goodies: Spline IK Constraint
At last, this commit introduces the Spline IK Constraint to Blender. Spline IK is a constraint that makes n bones follow the shape of a specified curve. 

Simply add a chain of bones, add a curve, add a Spline IK Constraint to the tip bone and set the number of bones in the chain to make it work. Or, try the following test file:
http://download.blender.org/ftp/incoming/250_splineik_spine01.blend

Screenshots of this in action (as proof):
http://download.blender.org/ftp/incoming/b250_splineik_001_before.png
http://download.blender.org/ftp/incoming/b250_splineik_001_after.png

I've implemented this in a similar way to how standard IK solvers are done. However, this code is currently not an IK plugin, since I imagine that it would be useful to be able to combine the 2 types of IK. This can be easily changed though :)

Finally, a few notes on what to expect still:
* Constraint blending currently doesn't affect this. Getting that to work correctly will take a bit more work still.
* Options for not affecting the root joint (to make it easier to attach the chain to a stump or whatever), and non-uniform scaling options have yet to be added. I've marked the places where they can be added though
* Control over the twisting of the chain still needs investigation. 

Have fun!
2009-11-01 11:29:40 +00:00
cb45db0336 * Some guideline work for the particle py file.
* Minor layout tweaks in Node RNA to match most other RNA enums.
2009-11-01 10:45:42 +00:00
95fbca7dc9 Mac / COCOA :
- fix imbuf Cocoa resolution handling issue
2009-11-01 08:23:53 +00:00
69feedf139 Object PET works with autokey.
Reordering some function calls in transform cleanup to make it simpler (that means other fixes are possible too, sequencer probably don't need it's own freeing function anymore).
2009-11-01 02:52:38 +00:00
f9b19d54b5 tabs to spaces, remove trailing white space. (apart of pep8)
didnt do "release/scripts/io" since some exporters cant be auto converted
2009-10-31 19:31:45 +00:00
af72bb50ae improved class validation, variables defined by the rna interface as non-optional could fail silently when absent in the class. Set these to PROP_REGISTER_OPTIONAL and raise an error when others are not found.
last commit broke povray too.
2009-10-31 18:48:58 +00:00
e4881eef52 define operator properties in the class, similar to django fields
# Before
[
	bpy.props.StringProperty(attr="path", name="File Path", description="File path used for exporting the PLY file", maxlen= 1024, default= ""),
	bpy.props.BoolProperty(attr="use_modifiers", name="Apply Modifiers", description="Apply Modifiers to the exported mesh", default= True),
	bpy.props.BoolProperty(attr="use_normals", name="Export Normals", description="Export Normals for smooth and hard shaded faces", default= True),
	bpy.props.BoolProperty(attr="use_uvs", name="Export UVs", description="Exort the active UV layer", default= True),
	bpy.props.BoolProperty(attr="use_colors", name="Export Vertex Colors", description="Exort the active vertex color layer", default= True)
]

# After
path = StringProperty(attr="", name="File Path", description="File path used for exporting the PLY file", maxlen= 1024, default= "")
use_modifiers = BoolProperty(attr="", name="Apply Modifiers", description="Apply Modifiers to the exported mesh", default= True)
use_normals = BoolProperty(attr="", name="Export Normals", description="Export Normals for smooth and hard shaded faces", default= True)
use_uvs = BoolProperty(attr="", name="Export UVs", description="Exort the active UV layer", default= True)
use_colors = BoolProperty(attr="", name="Export Vertex Colors", description="Exort the active vertex color layer", default= True)
2009-10-31 16:40:14 +00:00
ea265fc697 change blender python interface for classes not to ise __idname__ rather bl_idname since __somename__ is for pythons internal use.
replacements...
"__idname__" -> "bl_idname"
"__props__" -> "bl_props"
"__label__" -> "bl_label"
"__register__" -> "bl_register"
"__undo__" -> "bl_undo"
"__space_type__" -> "bl_space_type"
"__default_closed__" -> "bl_default_closed"
"__region_type__" -> "bl_region_type"
"__context__" -> "bl_context"
"__show_header__" -> "bl_show_header"
"__URL__" -> "_url"
2009-10-31 13:31:23 +00:00
ea8c41bf54 Resizing didn't handle PET correctly for size attributes (position was ok, that's why it worked alright in edit mode). 2009-10-31 02:54:27 +00:00
9efc427f80 pep8 compliance for bpy_ops.py
add bpy.props to the modules so you can do...
 from bpy.props import *
2009-10-31 01:23:49 +00:00
9c1fc8497b small change to strip-swap, Made keys Alt+L/RArrowKey, added in menu, dont treat color strips like other effects 2009-10-30 21:40:07 +00:00
0cf1d391ed 2.5 Sequencer
Swap active sequence with the sequence on the right (CTRL+R) or left (CTRL+L).
was small Durian wish.

Note: in find_next_prev removed the code to find selected only if sel was != 0
I believe it should be possible to pass -1 in the case I want to find the next strip
regardless of selection state.
2009-10-30 20:40:41 +00:00
93173a6dd4 Mac / COCOA :
- fix 10.4 compile issues

- fix some scons issues & add WITH_BF_COLLADA = False in scons darwin_config.py to allow build waiting for complete Collada Mac implementation
2009-10-30 20:20:48 +00:00
f03257cc1f B.blend update
Received some additional feedback on the various screens

*Added Game Logic screen, with Logic editor, text editor, outliner and 3D view
*Added Properties screen, good for having direct access to loads of properties on a second monitor
*Tweaked UV Editing screen, removing timeline, and providing access to texture mapping and texture layers
*Tweaked Compositing screen, adding image editor and 3D view camera, and providing fast access to passes.
*Reordered some panels in the N-key area
*Added n-key properties area in the sequencer.
2009-10-30 20:02:56 +00:00
c47a768af7 2.5 Nodes:
* Wrapped Math, Vector Math and Texture Node.
2009-10-30 19:31:44 +00:00
ac8480f42a Revert changes committed by accident in 24168
(this was experimental code for "ladder-like" mouse adjustment of float values)
2009-10-30 17:50:45 +00:00
d5921a274f Proportional edit for object mode.
Limitations:

1) Parents and children of selected objects are excluded from the pool (siblings are ok) Making it work with that would required unparenting and reparenting after transform, that would turn nasty really quick.

2) Does not support Connected (this could be done through parent links, but see 3 first).

3) Parent relationships in affected objects aren't taken into account. When parent and children in the area of effect, remember that the children will also take the motion of the parents (with additive results). This could perhaps be fixed, but it could be nasty.


Other stuff:
New BASE_EDITABLE macro that checks if base is editable (like TESTBASELIB except it doesn't check for selection)
Add scene parameter to TESTBASELIB_BGMODE macro (using it from current scope is nasty)
2009-10-30 17:48:50 +00:00
89c7ad970c - setting the active object in rna works properly now (notifiers added)
- adding keyframes now works for bones and other data types (not just ID types)

# Add a pose bone keyframe
bpy.data.objects['Armature.001'].pose.pose_channels["Hip"].keyframe_insert("location")

# Add an object keyframe (worked before)
bpy.data.objects['Armature.001'].keyframe_insert("location")
2009-10-30 17:23:40 +00:00
31258507d0 Merge of the COLLADA GSoC branch into trunk.
COLLADA code is disabled by default (it has dependencies requiring manual install).

SCons and CMake builds are supported on Windows and Linux, no Mac building yet. More on building COLLADA code: http://wiki.blender.org/index.php/User:Kazanbas/Building_Collada_Branch.

The detailed command log of the merge (can be useful for educational purposes):

branch=https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-chingachgook
# collada code
svn copy $branch/source/blender/collada source/blender/collada
# operator
svn merge -c 20401,20955,21077,24077,24079 $branch/source/blender/windowmanager/intern/wm_operators.c source/blender/windowmanager/intern/wm_operators.c
# menu
svn merge -c 24079 $branch/release/scripts/ui/space_info.py release/scripts/ui/space_info.py
# scons
svn merge -c 20398 $branch/source/blender/SConscript source/blender/SConscript
svn merge -c 20398,20691,20955,22726 $branch/tools/btools.py tools/btools.py
svn merge -c 20691,20955,22726 $branch/tools/Blender.py tools/Blender.py
svn merge -c 20398,20692,20955 $branch/config/linux2-config.py config/linux2-config.py
svn merge -c 22726 $branch/config/win64-vc-config.py config/win64-vc-config.py
svn merge -c 22726 $branch/config/win32-vc-config.py config/win32-vc-config.py
svn merge -c 24077 $branch/source/blender/windowmanager/SConscript source/blender/windowmanager/SConscript
# cmake
svn merge -c 23319,23905,24077,24158 $branch/CMakeLists.txt CMakeLists.txt
svn merge -c 23319 $branch/source/blender/CMakeLists.txt source/blender/CMakeLists.txt
svn merge -c 23319 $branch/source/creator/CMakeLists.txt source/creator/CMakeLists.txt
svn merge -c 23319 $branch/CMake/macros.cmake CMake/macros.cmake
svn merge -c 24077 $branch/source/blender/windowmanager/CMakeLists.txt source/blender/windowmanager/CMakeLists.txt
2009-10-30 15:35:50 +00:00
84eb897caa updating mathutils wrapped attributes now runs rna update functions too 2009-10-30 13:58:43 +00:00
01f6dfaac9 own commit r24178 broke adding objects, need to look into why but this fixes for now 2009-10-30 13:26:29 +00:00
6f2ca7c2bf check for error that could happen when making editmode armatures 2009-10-30 13:08:58 +00:00
d3e1696d4f use context functions rather then macros 2009-10-30 12:35:17 +00:00
312c487201 - Simplified EulToGimbalAxis, its still only works on XYZ and ZXY but at least its more clear whats going on.
- Made RotOrderInfo use a vector rather then i/j/k
- Added gimbal_axis to transform.h (was extern)
2009-10-30 12:11:04 +00:00
77532f6f8a two things; made ctrl-p add an armature modifier instead of using PARSKEL, and also made wpaint auto-normalize work with PARSKEL armature setups 2009-10-30 09:50:35 +00:00
ae3cf92491 New Track To Constraint: "Damped"
This is effectively a C-port of Nathan Vegdahl's "No Twist" TrackTo PyConstraint, and has been added as a separate type of constraint to be consistent with the existing constraints (Locked Track, and Track To). 

In general, this works considerably better than the existing "Track To" constraint, since it works by determining the smallest rotation necessary to get the current orientation of the owner to an orientation which would be tracking the target. It is also a much more straightforward approach than the weird old method the old Track To uses.

I've made a few tweaks to the code to deal with the (hopefully rare) cases where the target and the constrained are coincident. These don't appear to cause too much trouble in general.

TODO:
- Probably the naming of the constraints will change, to better convey their purposes. Naming suggestions welcome.
2009-10-30 06:33:40 +00:00
fe68d2672d added an 'auto-normalize' option for weight paint mode, that automatically ensures vertex groups that affect bones all add up to 1.0. please test and give feedback. 2009-10-30 02:09:52 +00:00
c26ee3ab57 * Tiny Force Field Layout improvements and tooltip fix by nudelZ. Thanks! 2009-10-29 22:08:09 +00:00