Commit Graph

434 Commits

Author SHA1 Message Date
2d6cf9ee6b the 'Multi' option was not being copied with the armature modifier. 2010-11-17 01:50:25 +00:00
e179c92a27 tedious string copying changes
- use sizeof() in more places.
- fixed some off by 1 bugs copying strings. setting curve font family for instance was 1 char too short.
- replace strncpy and strcpy with BLI_strncpy
2010-11-05 07:35:21 +00:00
b7c8df231b partial bugfix [#24425] Blender 2.54 Beta crashes when starting rendering
Fix for one of the causes of crashing.
Applying armature deform wasn't thread safe since the pose bones had deform data written into them when deforming a mesh.

This fixes crashing immediately, on every render for me but blender still crashes calculating the subsurf sometimes.
2010-10-28 10:12:57 +00:00
f8ec6b8654 move matrix decomposition out of object.c into BLI_math_matrix function: mat4_to_loc_rot_size(), use this now for pchan_apply_mat4() to support negative scale, visual keying now uses compatible eulers.
also added access to this in python's mathutils.Matrix()
 loc, quat, scale = matrix.decompose()
2010-10-26 12:48:07 +00:00
d3ac70909e Bugfix #20708: segmented bones don't work well with spline IK
There was a slight discreptancy between the tail values calculated on the spline before the head was displaced for the "chain offset" option and after this operation. However, only the original version got set. 

This small difference resulted in B-Bones thinking that the endpoints of the bones were in places that they were not in, hence causing the curly patterns observed in the report.
2010-10-22 11:38:10 +00:00
347900a3d6 [#21331] Pose snap not working in some cases
The bone option 'Local Location' (flag BONE_NO_LOCAL_LOCATION) makes the location apply differently so snap to cursor failed for pose bones.
2010-10-22 06:25:14 +00:00
2fe940f8df Fix for snapping pose bones with axis-angle rotation.
- armature_mat_pose_to_bone() was missing axis-angle check.
- added loc_axisangle_size_to_mat4() for completeness.
- use 'const' prefix where possible in math rotation functions.
2010-10-22 03:56:50 +00:00
8268a4be71 most unused arg warnings corrected.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-10-16 14:32:17 +00:00
fab8deb811 bugfix [#20761] Bones/Armature: "Inherit Scale" doesn't work if "Inherit Rotation" is disabled 2010-10-11 04:00:33 +00:00
2b9a73ff98 - py/rna's path_resolve function was ignoring the index eg: obj.path_resolve("location[1]")
- corrected comment from previous commit
2010-09-23 02:12:33 +00:00
db47803de4 bugfix [#23954] Bone roll keeps changing when switching between EDIT <-> OBJECT mode
use lower epsilon value.
2010-09-23 01:48:31 +00:00
728b713d86 use more BLI math functions. 2010-08-15 15:14:08 +00:00
708ef64663 include cleanup, no functional changes
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases)
- removed DNA_wave_types.h (never used)
- removed Main.wave
2010-08-04 04:01:27 +00:00
520d12e13e 3 duplicate functions: bone_flip_name() object_flip_name() flip_side_name()
removed object_flip_name() & bone_flip_name(), use flip_side_name()
2010-07-30 01:13:07 +00:00
fa39db2441 2.5: remove armature "B-Bone Rest" option, this was only added to keep
broken behavior for backwards compatibility, it's been there long enough
now to be removed.
2010-07-12 11:04:51 +00:00
86f71fad8b Bugfix #22374: index=-1 not work for keyingset.paths.add() function
Simple typo which meant that paths with 'Entire array' set could not be reimported properly.
2010-05-20 11:04:15 +00:00
610c4befd4 option to copy constraints without making their ID references direct links.
needed because proxies are causing libs to be linked directly when they should be kept indirect (likely slowing load times though I didnt time this)
2010-04-29 15:31:53 +00:00
cacd2477c0 bugfix [#22117] Memory Error messages with Spline IK
chainlen was initialized as 0
2010-04-25 13:27:52 +00:00
39c0e690d3 sub_v3_v3v3 --> sub_v3_v3 (where possible) 2010-04-23 23:57:00 +00:00
877e855ca5 Quick fix, just in case the mesh has no vertex groups, there won't be a crash! 2010-04-23 12:15:50 +00:00
6a56b0d844 Bugfix #22101: Envelopes dont respect armature modifier vertex group mask
Changed the point where the vertex groups are retrieved. Hopefully this commit doesn't break any cases I haven't thought of...
2010-04-23 12:11:56 +00:00
ce9d5c43e2 Spline IK - Influence Control
Made the 'Influence' slider work for Spline IK too, and made that setting visible now that it works. 

Note that there is still some popping that can occur when going to/from influence = 0.0. I'm not sure exactly what's causing this yet, but hopefully it won't be too noticeable in practice.
2010-04-23 05:14:00 +00:00
fba7ebcbea replace add_v3_v3v3() --> add_v3_v3() where possible 2010-04-21 12:27:48 +00:00
f7717b2e80 option to use curve point weights to influence particle effectors. 2010-04-21 11:59:47 +00:00
24eedb2175 vertex group option for lattice, needed for applying a lattice to a beard/moustache without moving the roots about. 2010-04-20 21:38:55 +00:00
4fde9823fd possible fix for [#22057] Autoname L/R in bones names center bones as .R
Bone would get a '.' added even when there was no extension.
(center limit would still be useful)

- name flipping function used sizeof() incorrectly.
- ED_lorem should be extern.
2010-04-18 14:47:45 +00:00
8f1500da00 remove config.h references, was added for automake build system rev around 124-126 but isnt used by any build systems now. 2010-04-18 10:28:37 +00:00
40e58c8509 Optimization for pose channel name lookups using a hash, makes
playback in one particular scene with 3 characters go from 10 to 13 fps.
(commit 27728 by Brecht from render25 branch)
2010-03-26 10:33:53 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
546ca400d8 removed unused includes, except for physics and particle related files 2010-03-21 13:42:25 +00:00
26932c21eb Bugfix #21384: Bone Driven Shapekeys Child Evaluation Problem
Transform channel drivers for bones in 'localspace' was using the wrong matrix when getting the transforms. I had been assuming that pchan->chan_mat always contained only the matrix-ised transform values stored in the pchan (which is true while constraints are being evaluated, but not afterwards). 

Changes:
- Added a new function to calculate this matrix instead of directly writing it on the pchan->chan_matrix field. 
- Also, made the normalisation of the quaternion values during this process be done on a temp var instead of on the stored value. This was a constant source of confusion in the past, so let's see if we can do without it now :)

Unrelated to this commit, I've also fixed a compiler warning with previous commit that I missed (missing include).
2010-03-01 05:19:07 +00:00
3f5786a00e added support for proxies as drivers back. 2010-02-23 17:56:45 +00:00
3bf2715039 apply visual transform to pose
So constrainted bones can have their transform applied to their loc/scale/rot, then remove the constraints
2010-02-19 15:34:26 +00:00
c5bcbad779 Proxy ID property syncing
This means pose bones on proxy poses can have their own values as long as the name and type matches that of the library pose bone.
without this the only way to add new values on a pose bone proxy is to protect in the lib, reload the proxy blend and save.
2010-02-15 18:43:54 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
a6bbdae805 sync the custom transform option for proxies 2010-02-04 10:42:15 +00:00
74190f255b Spline IK: Small tweak improving (but not completely solving) the situation for bug #20708
The best workaround for problems with SplineIK applied to a chain of BBones so far is to disable 'Chain Offset'. Hopefully this workaround will soon become irrelevant.
2010-02-03 11:09:47 +00:00
0ff879af73 Spline IK Bugfix:
Spline IK now takes curve-object transforms into account when the 'Chain Offset' option is not enabled, since the intention of that feature is to allow a chain of bones following the shape of a curve to be placed anywhere in the scene.
2010-02-03 01:08:37 +00:00
8dd14e1eed Graph Editor: Bugfixes for option where only the keyframes of selected F-Curves are shown
* Selected keyframes in unselected F-Curves were still being modified, although not shown
* Selection tools for keyframes were changing the selection status of F-Curves, making keyframes sometimes disappear after trying to select another keyframe

* Warning fixes in a few other files
2010-01-22 23:51:31 +00:00
939c3ba9cb Fix for proxy fix: copy drivers on synchronize now does proper relinking
of driver targets, sharing code with make proxy.
2010-01-20 14:28:49 +00:00
1e7858f5a0 Proxy Fix: drivers are now copied on proxy synchronization. Also for bones
on non-proxy protected layers, not sure if these should be done or not, it
depends a bit on preference.
2010-01-20 12:20:34 +00:00
7759fc2983 Motion Paths - (Part 3) Operators, Drawing, and Fixes
This commit makes the new-style Motion Paths work for Objects and Bones. Motion Paths can either be added for Objects (Object buttons) or for Selected Bones in PoseMode (Armature Buttons), and/or removed from these panels too.

Changes:
* Changed the way the baking code worked, since it was better to be able to bake a bunch of objects at once, instead of doing it per object
* Fixed a variety of bugs regarding initialising defaults and reading old files
* Added operators for Objects (like for bones), and replaced the existing code for bones.
* Fixed bug with baking code that was causing it to bake the wrong ranges

Todos:
* Frame number drawing is currently messed up, since the "cached" text drawing takes into account the object transforms.
* The new MotionPath panels currently appear as the first panels in the respective contexts, probably due to the order in which the files are included. This needs some fixing, though not sure what the best way is yet.
2010-01-19 11:31:49 +00:00
b0f87935a8 spelling errors, no real changes to code. 2010-01-14 10:59:42 +00:00
b58a14fe93 Fix for custom shapes getting lost on proxy armature bones. 2010-01-12 18:56:39 +00:00
d51e0594fb sanity check that prevents crashing when syncing poses,
attempted to do a partial sync with pose mode however this seems not easy at all since connected data gets lost, parents are invalid etc.
2010-01-05 19:34:19 +00:00
74b80f8c3d crashfix, duplicating armatures with ID-Props assigned to the bones didnt copy the bone. 2009-12-07 15:54:27 +00:00
5ca3d1919c fix for undo crashing when animating proxies that had ID props 2009-11-27 12:42:42 +00:00
7828f822df Bugfix: pose bone was doing double translation in some cases,
due to my commit yesterday.
2009-11-26 11:38:28 +00:00
1fcffd1aa0 Bugfix #20041: Drivers don't work on bone visiblity
- Drivers on added to the 'armature' datablock (i.e. keyframing some settings for a "Bone" as opposed to "PoseBone") now evaluate correctly. Added proper recalcs for this case too.

- Also fixed some memory leaks and loading problems I encountered with the test file provided. After having problems loading the test file, I ended up reproducing and finding the error.
2009-11-26 03:43:39 +00:00
2b121e6599 Pose Bone Local Location: now also works for non-connected bones with parents. 2009-11-25 18:48:29 +00:00