Commit Graph

3809 Commits

Author SHA1 Message Date
Joshua Leung
6555eca6fe 2009-11-23 00:03:51 +00:00
Benoit Bolsee
d83b251486 Repair display of iTaSC IK constraint. Fix crash in GE with high priority action overwriting low priority action. 2009-11-22 22:42:57 +00:00
Peter Schlaile
2c461af8a3 == Sequencer ==
Broad back SCENE-rendering. (Hopefully did everything right)

Still missing: UI part (one can't select a scene, neither on add nor
in N-keys dialog...)
2009-11-22 20:49:13 +00:00
Peter Schlaile
42f99939f6 == Sequencer ==
This should make animations in sequencer work again at most
places.

It removes facf0 and facf1 and replaces them by

* effect_fader (the fader position for transition effects
  limited 0-1 value range)
* speed_fader (full range fader for speed effect)

Also: default transitions should work again.

Still not working: non-IPO-locked curves. (Don't really know,
if we can / want to bring them back in new animation system.)
2009-11-22 20:22:35 +00:00
Matt Ebb
8be7b757e3 * New option on modifiers that don't change topology: Apply as Shape
Rather than applying the modifier to the object data, it will create a new shape 
with the deformed vertices in there. Only mesh at the moment, other object 
types on the todo.
2009-11-22 13:44:09 +00:00
Joshua Leung
0fe908181e Just a few compiler warnings... 2009-11-22 12:45:37 +00:00
Joerg Mueller
8e877c1f9f Added a first version of the Sound F-Curve Modifier, not really usable yet, but you can play around with it. 2009-11-22 12:10:45 +00:00
Jens Ole Wund
7343de983e small fix
void SB_estimate_transform
no need for static now
2009-11-21 23:06:13 +00:00
Jens Ole Wund
70e38422d2 new property for soft bodies
sb->lcom   : Center Of Mass .. might be used to create loc IPO
sb_>lrot   : is a matrix[3] esitmates the roatation in world coordinates .. might be used to create rot IPO
sb_>lscale : is a matrix[3] esitmates the scaling   in world coordinates .. might be used to create scale IPO
(no python for that yet .. but may be matt has mercy on me )

can be cropped direclty  in soft body module by function 
static void SB_estimate_transform(Object *ob,float lloc[3],float lrot[3][3],float lscale[3][3])

The targets lloc,lrot,lscale should work to be NULL, just in case you don't need it. 

However i'd prefer if they were accessed via properties 
which should be calculated automagically if
sb->solverflags & SBSO_ESTIMATEIPO
is set, like they do in draw_sb_motion(..) in drawobject.c 

added static void draw_sb_motion(Scene *scene, Object *ob) to drawobject.c 
for debuggering (had a hard time with destructive matrix operations )
if it causes any trouble with your build on any OS make sure to comment that away.
softbody.c and DNA should compile fine in any case.
2009-11-21 22:45:25 +00:00
Dalai Felinto
d875f4927e patch [#19796] GLEW update by Mitchell Stokes (Moguri)
GLEW update to version 1.5.1 [11-03-08]
this opens room for Geometry Shader support.

* - Brecht, Campbell told me you did some local changes in order to make it right in Linux. I get to you in order to know what those changes are (or feel free to commit them directly)
2009-11-21 20:36:03 +00:00
Campbell Barton
bd1f548d8e fix for [#19655] Curve is a disaster
when changing curve twist I assumed 2D curves would not need dir or quat values set, however these are used when getting a path from a curve.
also added interp_v3_v3v3v3v3
2009-11-21 14:35:28 +00:00
Campbell Barton
684405e0fb id properties for editbones and pose channels were not being freed in a number of cases,
added free_pose_channel(pchan) and use this in all places that free pose bones
2009-11-21 11:26:09 +00:00
Willian Padovani Germano
525a4ec6a5 Improvements to tab -> spaces conversions and use in the Text Editor:
- A single undo removes all 4 inserted spaces at once.
- Indent and unindent now use spaces.

The number of spaces is still hardcoded as 4. PS: Campbell sharing a couple of the minor todo's with me, thanks :).
2009-11-20 19:15:57 +00:00
Joshua Leung
e6d382bd53 Node Editor: Various usability and code tidyups
* Fixed a nasty bug which meant that it was impossible to set an active node. Was caused by ntreeCopyTree() getting called when compo updates were done and clearing the active flags. The active flag clearing is only really needed for the "internal_select" case which is only used for duplicating selected nodes (from Shift-D duplicate).

* Recoded click-selection code. Was a mess of old code, bad exceptions from the old code half ported, duplicate operators, unnecessary flags/modes.

* Fixed bug #19927: compositing node groups can't be access via "tab" or ungrouped via "alt+g". Was probably related to the active group not being able to be set.

* Made resizing nodes work again. Again, this was due to the active node bug.

* Made adding a new group with Ctrl-G correctly update the views
2009-11-20 04:19:57 +00:00
Matt Ebb
3d1e618864 Simpler default smooth brush curve preset - less points, easier to tweak 2009-11-20 04:12:52 +00:00
Matt Ebb
38e1590fa7 * Removed tablet pressure sensitive number field widget scrubbing, wasn't that useful and I suspect it was the cause of a few bugs
* Added tablet pressure support (size/strength) for weight paint and vertex paint

* Added tablet eraser support for weight paint and vertex paint (inverts the effect of the current tool)

* Removed the old 'soft' option, now weight paint and vertex paint use the influence curve

* Made the default brush use a smooth influence curve, rather than sharp
2009-11-20 01:39:27 +00:00
Matt Ebb
2c08e182c7 * Added control and animation of sound volume of sequence sound strips (found in properties pane)
To insert keys, use I key while hovering over the button for now, rmb clicking on the property to insert a key doesn't work (general bug for all regions except property editor - will investigate).

Doesn't convert over from old fac0 ipos on opening old files though for the time being.

* Made sequence strip names unique while I was at it, to allow strip properties to be animated properly.
2009-11-19 03:21:37 +00:00
Campbell Barton
ae5a814f26 ID properties that are displayed via RNA can now define their own UI settings,
only implimented min/max precision & step.

at the moment there is no way to edit these other then via python

example of setting UI limits...

>>> C.object['foo'] = 0.5
>>> C.object['_RNA_UI'] = {'foo': {'step': 0.5, 'soft_max': 10.0, 'soft_min': 0.0, 'precision': 2, 'description': 'Some setting'}}

Also fixed typo's: precission -> precision
2009-11-18 20:01:35 +00:00
Daniel Genrich
6a357cabbf Durian request: Cloth
* structural can be set to 0

* pre-roll now available through GUI and works like following:
a) Pre rolled frames are NOT cached
b) reset cache + cloth on pre roll setting change
2009-11-18 13:33:52 +00:00
Campbell Barton
67c295da9c rename pose_channels to bones
was: object.pose.pose_channels["Bone"]
now: object.pose.bones["Bone"]
2009-11-18 11:40:55 +00:00
Campbell Barton
5ad1563f34 insert spaces instead of tabs, makes editing templates less painfull, tho we should really have a function to insert strings rather then char's for this to work better. 2009-11-18 01:16:49 +00:00
Joshua Leung
10e1780cf9 Assorted bugfixes - Sequencer/Preview Range:
* Snapping strips now works with the hotkey  Shift-S   as in the rest of Blender
* Preview Range works in Sequencer now (the operators for setting, clearing, and also drawing)
* Related to the Preview Range for Sequencer, toggling the time-display mode also works
* Preview Range Set operator now works again, after the modal keymaps change for borderselect broke it. Also sends correct notifiers now after bein called.
2009-11-17 10:12:35 +00:00
Campbell Barton
20043a0fc0 add hook in vertex and control point menu's, Ctrl+H
TODO's
- add for lattice
- break up add_hook
- add other hook operators
2009-11-16 13:59:27 +00:00
Joshua Leung
a12c2a8561 Constraints: Code cleanup
* Removing duplicate api functions
* Shuffled around newly added api functions to make the ordering more consistent
* Fixes for a few bugs in the api functions as I checked over them
* Replaced most of the #defines for flags and modes with enums
2009-11-16 12:33:42 +00:00
Campbell Barton
567ee32f14 - fcurve modifiers.new()/remove()/active
- renamed .add() to .new() for rna collection functions since they dont add an existing item.
- remove 'name' as an argument from the new driver target function, better to keep the api minimal and let scripters use the data api for editing values after.
- added some api functions to keep rna api from becoming a mess.
2009-11-16 11:11:16 +00:00
Campbell Barton
e94640040b sequencer support for loading multiple movie and sounds at once.
- more api like functions for adding movie, sound & images (easier to use from pyrna api)
- operators share more settings
- renamed get_last_seq() to active_seq_get() - same for set.
2009-11-14 19:26:58 +00:00
Campbell Barton
c9d2186561 - sequencer speed effect back using fcurves, still needs manual reloading to refresh.
- added a function id_data_find_fcurve() to get the fcurve without RNA vars. Aligorith: this could be made to use a path rather then a property name.
2009-11-14 14:58:19 +00:00
Joshua Leung
e191007d5f Action Constraints Bugfix:
Action Constraints were failing when the rotation mode was non-default. Fixed this by copying over the current rotation mode when creating temp elements to evaluate with.
2009-11-14 02:50:45 +00:00
Joshua Leung
acd7225dea Driver Editing Tweaks:
* Updating dependencies for drivers now clears the disabled status of the relevant Driver FCurve too
* Changing the type of ID-block used for Driver Targets and Keying Set Paths will now clear the pointer to the ID-block if it is of the wrong type.
2009-11-13 01:04:01 +00:00
Joshua Leung
e12f39d116 Spline IK: Fixes for the crashes with non-existant path data that are applied elsewhere 2009-11-12 23:27:33 +00:00
Brecht Van Lommel
17b6dfa499 Bugfix: workaround for spline IK crash with curve path not created
yet, this is actually a depsgraph issue .. so instead of crashing it
will not update correct on file load now.
2009-11-12 15:18:01 +00:00
Campbell Barton
331d1b1b50 sintel's normals were rendering black around her eye.
Subsurf FLT_EPSILON from float.h was too high, using a smaller value fixes
2009-11-12 15:05:51 +00:00
Joshua Leung
1df6575074 Spline IK: UI/Scaling Tweaks
* Renamed "Keep Max Length" to "Y Scaling" which has the opposite meaning

* Improved the way that Y-Scaling off behaves. Most of the time, bones that do not fit on the curve are now "blended off" their default rotations instead of being scaled to zero.

* Added option to offset an entire chain by moving the root bone of the chain. This is named "Chain Offset"
2009-11-12 12:20:57 +00:00
Campbell Barton
53250f85db object.constraints.add()/remove()/active, same for PoseChannel
modified internal api for minimal rna wrapper functions.

TODO
- missing updates for pose channels
- typecheck for pose/object constraints
2009-11-11 19:58:30 +00:00
Brecht Van Lommel
c5b89a2b7a Forgot to include these files in sculpt shape key commit. 2009-11-11 18:31:19 +00:00
Campbell Barton
f356ea764d - use double underscores to hide members in python (removes them from dir() therefor autocomp.)
- collection functions rename eg. bones_active -> bones__active, add_object -> objects__add since these should be accessed from the collections only.
- fix warnings in last commit
2009-11-11 17:12:48 +00:00
Campbell Barton
bc6190f3e3 python api for collection add()/remove()
Added a group example
 C = bpy.context
 ob = C.active_object
 bpy.data.groups[0].objects.add(ob)

- add_to_group and rem_from_group now take optional scene and base flags and deal with updating the object & base flags
- operators that add objects to groups were setting ob->recalc= OB_RECALC_OB; looks like its not needed.
- previously add() ignored python args, now add and remove are called like any other FunctionRNA from python.
- made the pyrna api use tp_getset's for collestions active/add()/remove()
2009-11-11 16:28:53 +00:00
Joshua Leung
6dcb4ac7a4 * Fixing various compiler warnings under scons+mingw. Mostly unused variables and functions.
* Added missing lib-linking code for Grease Pencil in nodetrees
* Uncommented some code for curve shapekeys
2009-11-11 09:59:51 +00:00
Matt Ebb
c0fae59c99 * Fixed nodetree animation by giving nodes unique names
Now the rna path to nodes happens via the node name, which is ensured to be unique via RNA.
As part of this, the node->username string has been removed, upon renaming the node itself it takes care of making sure it's unique (like bones, constraints, etc). There's currently no interactive rename tool, but you can do it via the datablocks editor.

- plus a few notifier tweaks, using the newer NC_NODE notifier to refresh graph editor etc.
2009-11-11 09:11:21 +00:00
Brecht Van Lommel
91446e9aad Math Lib
* Post-conversion commit, fixing some introduced warnings.
2009-11-10 20:50:34 +00:00
Brecht Van Lommel
37e4a311b0 Math Lib
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
  conversion script instead, if they use a lot of math functions
  in new code:
  http://www.pasteall.org/9052/python
2009-11-10 20:43:45 +00:00
Brecht Van Lommel
4617bb68ba Math Lib
* Pre-conversion commit removing old arithb.c code, this will not compile,
  next commit fixes that.
2009-11-10 20:40:18 +00:00
Martin Poirier
d611dd3735 Function declaration for BPY_context_get 2009-11-10 16:18:54 +00:00
Campbell Barton
7efc2c2375 modify the python context access so invalid names will raise an exception rather then returning None.
this way the UI scripts are less likely to fail silently and wont let typos work ok.

also allow subclassing of the context, added a copy function,
 bpy.context.copy(), returns the context as a python dict to be modified and used in python.

This also showed up an invalid brush member in the screen context.
2009-11-10 15:09:53 +00:00
Matt Ebb
297045fd96 Fix for [#19852] Animation rendering not working in new scene
As part of this commit, I moved the scene frame_step to RenderData, where the other frame-related data is.
2009-11-10 04:56:55 +00:00
Matt Ebb
bc006655ba * Finished (well, almost ;) RNA wrapping and layout-engine-ing all the nodes.
Still a few quirks, including redraw issues on multilayer image input nodes, but it's pretty much there.
Would also be good to wrap the input/output sockets, too, will check on it.

This fixes bug [#19740] INPUT NODE: Cannot load images / motion pictures
2009-11-10 04:01:44 +00:00
Joshua Leung
d0cd641de3 Bugfixes for Armatures, SplineIK, and F-Curve RNA:
* Fixed the handling of the 'draw_active' flag for drawing of armatures. This is now cleared from bones in old files (so one bone always got represented as active in the viewport even when others were selected), and the flag is correctly set temporarily when drawing the bones (only one place had been done).

* Fixed typo with SplineIK that was making the root bone of the bone chains always be ignored. Similar functionality can come back at some point, but in a more useful form.

* Shortened the UI names for the F-Curve colouring modes to increase readability. The old ones were too long to be able to distinguish between entries in the UI.
2009-11-09 23:41:48 +00:00
Campbell Barton
5935ef0049 use armature active bone as a pointer rather then a flag for each bone that needs looking up.
- rna vars arm.bones.active & rna.edit_bones.active
- needed special undo support.
- readfile.c loads.
- duplicate and copy_armature support.
- keep the draw flag, renamed to BONE_DRAW_ACTIVE, only use for openGL drawing.

Note: it may be better to allow active/unselected as with objects.
2009-11-09 21:03:54 +00:00
Campbell Barton
0bb70e4fae workaround for crash when dragging nodes 2009-11-09 11:15:49 +00:00
Campbell Barton
aa7374e471 - removing the last particle system now exits particle edit mode.
- py UI script used an undeclared variable
2009-11-06 12:27:28 +00:00