Commit Graph

16435 Commits

Author SHA1 Message Date
Campbell Barton
d16bde417f new struct PathPoint for each path element (replaces float[4]), Paths now store radius and quaternion
Added optional quat and radius args to anim.c's where_on_path(...), currently unused.

also cleanup some warnings.
2009-09-12 14:12:37 +00:00
Joseph Eagar
3f9d3b2a0b commit of mempool 64-bit fix for 2.5-er, trunk as well 2009-09-12 13:27:26 +00:00
Campbell Barton
e271b03340 simple error in recent arithb.c commit, have Mathutils.RotationMatrix use AxisAngleToMat3 2009-09-12 13:25:38 +00:00
Thomas Dinges
2ca79ec1de 2.5 Notifier:
* Added a general Refresh Tag for the Property-Buttons area, needed if more than 1 property window with the same content is open. Not all RNA properties have a ND_ Notifier yet, so i guess this is the best solution for now.
2009-09-12 12:54:43 +00:00
Joshua Leung
ad43aaf881 2.5 - Rotation Locking for Bones
* Added Transform Locks panel. The layout for rotation I'm not satisfied with yet, though it is the best alternative so far.

* Rotations can now be locked per-component for quats/axis-angle instead of going through eulers. This is currently enabled by the checkbox for the 'label' of the Lock Rotation column. 
- The naming of the property in RNA + the way this is presented in the UI can get some work done.
- The setting for the 'w' component for quats/axis-angle is currently a separate flag in RNA, since I can't figure out how to lump this in under the 'lock_rotation' property instead (i.e. getting that to be either 3 or 4 components, depending on whether per-component locking is enabled).
- Editing values directly should not be possible when these locks are set...

* Fixed some tools which made use of this
2009-09-12 12:30:23 +00:00
Joshua Leung
3a9d99e3e8 Rotation Math:
Replaced a few function calls with inlined code for nicer performance.
2009-09-12 10:21:55 +00:00
Joshua Leung
83074d0b37 2.5 - More work on Axis-Angle Rotations
* Added a few new methods for axis-angle conversions, and used these instead of manually performing those steps elsewhere
* Axis-angles to other representations now get their axes normalised to make sure that odd scaling doesn't occur.
* Made a few more tools work with axis-angles properly
2009-09-12 05:06:28 +00:00
Thomas Dinges
f0eb02a36b 2.5
Revert some changes from commit 23090. Make sure you update SVN before you commit!!
2009-09-11 21:02:31 +00:00
Brecht Van Lommel
16547da5a9 2.5, Fix for bug #19296:
render window escape incorrectly opens file browser.
2009-09-11 20:06:09 +00:00
Campbell Barton
ee768ada68 curve twist
* added new twist method - "Tangent", suggested by Martin.
  the nice thing about this is its stable no matter how you rotate the data, rotation is local to each segment.
* added smooth option that smooths the twisting (before applying user twist), to workaround Z-Up and Tangent's ugly curve twisting. Id prefer not to have this however it makes tangent much nicer. Possibly tangent can be improved some other way and this can be removed.
  A smooth value of 1.0 will iterate over and smooth the twisting by the resolution value of the spline.
* Minimum-Twist method now corrects for cyclic twist by taking the roll difference between first and last, then increasingly counter rotate each segment over the entire curve. Previously it calculated from both directions and blended them.

details
* BevPoints use quats rather then 3x3 matrix.
* added BevPoint direction "dir" and tangent "tan" used only for 3D curves.
* don't calculate BevPoint->cosa, BevPoint->sina for 3D curves.
* split bevel tilt calculation into functions.
* nurbs curves currently don't generate tangents and wont work with tangent twist method.
* some of the use of quats should be optimized.
* smoothing is not animation safe, the higher the smoothing the higher the likelyhood of flipping.
2009-09-11 15:35:30 +00:00
Brecht Van Lommel
042d3e5956 2.5: fix for merge, forward_diff_bezier needed to be updated. 2009-09-11 14:56:54 +00:00
Kent Mein
4908a84825 Added in runtime path for python since were using a dynamic lib.
(for Makefiles on linux)

Kent
2009-09-11 14:31:05 +00:00
Joshua Leung
baf12d3d17 2.5 - Rotation work (axis angle bugfixes + cleanups)
* Made transform work better with axis-angle
* Corrected the rotation-type handling code in a few places
2009-09-11 12:44:09 +00:00
Joshua Leung
d5009eb142 2.5 Rotations: As a experiment, enabling Axis-Angle for Bones
The support for this is really quite hacky, and I might disable this later if we cannot get some parts to work nicely. 

Some notes:
* This is currently stored in the same variable that quaternions are stored in, since they both have 4 components. However, in RNA, I've added 2 properties specially for this. 
* There are some shearing issues using certain axes - i.e. (1,1,0) - that will need to be checked on.
* Transform code is really quite temporary for this. Just a quick demo of what can be done...
2009-09-11 12:05:09 +00:00
Joshua Leung
40576677b1 2.5: Two Bugfixes
* Mesh Deform modifier now correctly shows Bind/Unbind buttons. Previously, only Bind got shown...

* Selecting keyframes in the Graph Editor using Border Select now allows the keyframes to be editable afterwards. Previously, the curves weren't getting selected afterwards, therefore, the poll operators would skip those curves.
2009-09-11 09:09:54 +00:00
Campbell Barton
2b5f89ed9f svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r23043:23119 2009-09-11 03:00:09 +00:00
Joshua Leung
fc11700628 2.5 - Bugfix for curve-following animation not working
Optimisation for not working with AnimData when there were no actions meant that the special hack to set this value didn't get set.
2009-09-11 00:49:54 +00:00
Janne Karhu
71907c7e4c Disconnect hair was using wrong derived mesh for the space conversion. 2009-09-11 00:23:08 +00:00
Janne Karhu
e9587a89fa Hair dynamics with cloth simulation
- Hair dynamics have their own panel in particle settings with the settings from cloth panel that apply to hair.
- Basic internal friction force to quickly emulate self collisions and volume preservation. (Still very early code, but gives some idea of what's possible).
- Softbody simulation is no longer used for hair.
	* Old files with sb dynamics should just load the hair without dynamics so new dynamics can be applied.
	* Invasion of particles exceptions in sb code is finally over.
- Collisions with other objects are disabled for now and will be worked out in the future.

Other changes/fixes:
- Particle mode editing flag wasn't saved properly.
- Some old files with edited hair didn't load correctly.
- Disabled delete & specials menu in particle mode for non-hair editing.
- Fixed yet one more cloth & softbody pointcache update issue.
- Disconnect/connect hair now uses only the deformed mesh so it works correctly also for subsurfed emitters.
- Hair editing now updates correctly with a moving emitter.
2009-09-10 22:32:33 +00:00
Guillermo S. Romero
e19537efcc SVN maintenance. 2009-09-10 20:31:15 +00:00
Brecht Van Lommel
cfb6f35f9f UI:
* layout.itemR now has icon_only option to show only icon
  in e.g. enums buttons, for uv editor header.
* Automatic key shortcuts in menus now show the shortcut even if
  operator properties don't match. Not sure this will work well
  everywhere, but seems to be working ok for now.
* Open recent now show shorter filenames instead of the whole
  file path.
* Tweak object Duplicate menu item.
2009-09-10 14:20:21 +00:00
Brecht Van Lommel
15d77f17a4 2.5: UV Edit
* Make mirror operator and menus work.
* Added TFM_OT_mirror transform operator specific for mirror.
* Assign image from image space when unwrapping in 3d view.
2009-09-10 11:04:53 +00:00
Daniel Genrich
96de4cd9a8 Smoke:
* Bugfix for loading saved files
2009-09-10 10:35:51 +00:00
Robert Holcomb
fa4ee2be84 Added Levels Node (histogram, with mean/std deviation outputs)
Added RGB space distance matte Node
Added HSV color matte Node

Fixed Image difference matte Node to use image differences instead of RGB space distance
Fixed luminance node for low end values being read wrong
Fixed CMP_util copy/swap functions not accounting for all channels
Fixed UI for difference matte Node 

Added RNA for new nodes
2009-09-10 04:12:22 +00:00
Robert Holcomb
dac27004b8 committing patch #19252-Soft/Linear Light blend modes+Darken mode bug fix 2009-09-10 03:00:50 +00:00
Campbell Barton
2fc4ee3545 Curve cleanup
Renamed BevPoint's members
* x,y,z -> vec[3]; compatible with other functions.
* f1 -> split_tag; used by displist to set the splitting flag.
* f2 -> dupe_tag; used in curve.c to remove duplicates.

BevList
* flag -> dupe_nr; was being used as a counter for duplicate points.

* use arithb.c functions where possible.

* arrays for coords, tilt and radius were being allocated, then copied into the BevPoint's, now write directly into the values without allocing/freeing arrays.
2009-09-10 02:57:25 +00:00
Thomas Dinges
b74eaeba73 2.5 Node RNA:
* Added Property ranges for Nodes.
2009-09-10 01:14:21 +00:00
Guillermo S. Romero
abe48562b8 Remove smoke from COMLIB, already in PULIB. 2009-09-10 00:32:59 +00:00
Daniel Genrich
e8b3f86bcb Smoke:
* Bugfix for non-working high res display
* Bugfix for smoke disappearing on 2nd frame
2009-09-09 23:52:48 +00:00
Campbell Barton
aec894939f - off by 1 error with console command line memory re-allocation.
- documenting vgroups crashed.
2009-09-09 23:11:43 +00:00
Brecht Van Lommel
25f4fe5d13 RNA: fix for last commit, 0 size arrays are not very useful.. 2009-09-09 19:59:52 +00:00
William Reynish
a3a414a631 Keyboard shortcuts
Made Mac-specific keys only appear on the Mac. This has the added benefit that it shows the Mac key shortcuts in menus.
2009-09-09 19:43:05 +00:00
Brecht Van Lommel
ceaae73d5e 2.5: fix compilation of smoke commit for Makesfiles as well. 2009-09-09 19:42:53 +00:00
Brecht Van Lommel
297a53ebf8 RNA: multidimensional & dyanmic array changes
* Disable setting array length of dynamic array for now, this was not
  implemented correct, and it's not really needed now.
* Allow all dimensions to be dynamic size, not just the first.
* Change storage of multidimensional to be simpler.
* Rename API functions to be more compact.
* Fix some bugs in the implementation.
* RenderLayer.rect and RenderPass.rect use a multidimensional
  dynamic array now.
2009-09-09 19:40:46 +00:00
Thomas Dinges
939b72247d 2.5:
* Scons compile fix for recent smoke commit.
2009-09-09 19:31:43 +00:00
Daniel Genrich
8e2d861695 Smoke:
* Enable cache for high res + new preview
* Bugfix for smoke banding (in cooperation with N_T)

Hint: Work-in-progress regarding collision objects so can be broken, didn't test

Hint2: jahka enabled a general particle panel but 
* bake button doesn't work
* step is not supported for cloth
* several other things there ;)
2009-09-09 18:39:40 +00:00
Brecht Van Lommel
4cb53d91ea Small code cleanup related to curves, to avoid cryptic names:
renamed set_four_ipo -> key_curve_position_weights
renamed set_afgeleide_four_ipo -> key_curve_tangent_weights
added key_curve_normal_weights
2009-09-09 18:09:03 +00:00
Brecht Van Lommel
9e7c4ce806 2.5: Layer Buttons
* Added RNA subtype for layers.
* Shift-click works again.
* uiItemR can now also handle armature/bone layers.
* Also makes Move to Layer popup work as expected.
2009-09-09 17:39:19 +00:00
Brecht Van Lommel
d4a69283a6 2.5: fix for recent file operator opening wrong item. 2009-09-09 17:34:14 +00:00
William Reynish
11c5cb452c Keyboard shortcuts
Moved to modern OS standards for opening, saving, copying, pasting, cutting (text), new document, undo and redo.
For Mac users, Cmd is used in addition to the Ctrl-based shortcuts.

These changes are made according to an agreement among developers on IRC.
2009-09-09 15:45:12 +00:00
Brecht Van Lommel
3daa283604 2.5: Object module
* Split object_edit.c into multiple files:
  object_add.c, object_edit.c, object_hook.c, object_relations.c,
  object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
  object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
  * vertex group menu and set active
  * apply location, rotation, scale, visual transform (location is new)
  * make local
  * make vertex parent
  * move to layer
  * convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
  up here...
2009-09-09 11:52:56 +00:00
Brecht Van Lommel
8878c30b9b 2.5: WM_menu_invoke now uses the first enum property it can find,
if no enum property named "type" is available.
2009-09-09 11:10:28 +00:00
Brecht Van Lommel
b9f1117336 2.5: use bone groups icon in UI. 2009-09-09 11:05:10 +00:00
Matt Ebb
c29780c12a * Temporary fix to get fluid sim (and fluid control) working properly (without animated parameters). This just fills the fluid sim animation channels with default values for now, but will need to be updated to new animation system. 2009-09-09 07:52:44 +00:00
Campbell Barton
850abb3580 curve.textboxes collection access for the UI + minor UI tweaks for poly curves 2009-09-09 00:10:12 +00:00
William Reynish
ee78c63bee Text UI
*Added Text Boxes panel, currently only shows the first textbox. Needs operators for adding/removing
*Added Bold/Italic/Underline items
*Cleaned up some font UI layout.
2009-09-08 11:31:15 +00:00
Benoit Bolsee
31fec003a1 Fix row/column order in matrix printout function. 2009-09-08 11:14:36 +00:00
Joshua Leung
5ce8b1f704 2.5 - FollowPath Constraint + File Loading Bugfix
* Added a new option ('Fixed Position') for Follow Path constraint which allows you to constrain an object/bone to some fixed position along the curve. Unlike the default mode of operation, this doesn't depend on time unless you explicitly animate the offset percentage parameter associated with this.

* Made old (pre 2.5) files saved with armatures in pose mode load in pose mode again.
2009-09-08 09:41:15 +00:00
Matt Ebb
b9816c98bc * Volume render weaks/fixes/etc from Alfredo, after code review
- General correctness tweaks
- Light cache is enabled for all objects now
- Metaballs now give density info, for smooth falloff
2009-09-08 08:15:56 +00:00
Campbell Barton
1d0a567023 Curve/Surface Editing
- rename "Nurb" to "Spline" in RNA, eg. bpy.data.curves[0].splines[2].type == 'NURBS'
  from a user perspective spline is a more generic term while Nurb is misleading when used for beziers and poly lines.

- added curve.active_spline property so the python UI can display the last selected curve.
  
- set the active spline when entering editmode (uses first selected spline)
  
- added back Hide Handles as a curve property (removed the global flag), access from the view panel in editmode.
  
- added hide normal option for curve, normal size access for curve and mesh display.

- changing orderU/V, endpoints, cyclic, bezierU/V now work in editmode and calls update functions.

- entering editmode was crashing with text objects

- curve.switch_direction() crashed (own fault from last commit)

- Tkey for tilt was overridden by Toolbar, made Tilt Ctrl+T.

- OBJECT_OT_mode_set check for compatible modes before running - so curves dont try go into paint mode with V key for eg.
2009-09-08 07:35:07 +00:00