Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-01-25More fixes for radians-degrees, wasn't converting pose channel constraintsBrecht Van Lommel
properly yet, also did conversion ik min/max limits.
2010-01-25Radians -> Degrees (in UI)Matt Ebb
Rotations are now stored internally as radians, while exposing degrees in the UI - in the graph editor and UI controls. This is done in two areas: 1) Using the unit system to convert RNA data to display as degrees in the UI controls 2) FCurves now use degrees for rotation, so you can edit in the graph editor what you see in the UI. All rotation data is consistently accessible in DNA and RNA as radians, degrees are only used for the UI controls and graph editor. This commit includes conversions will convert old files (stored data and also fcurve data) to the new units, hopefully everything should go smoothly! Part of this also changes a few properties that were hard-coded as degrees before (such as IK pole angle and brush texture rotation) to also use the same consistent system of radians (dna/rna) and degrees (ui). Thanks to Joshua for hints and review here too.
2010-01-12Proxy Protection FixesBrecht Van Lommel
* Mostly revert #24880: Transform Locks affecting animation system. This was implemented as a feature request from Nathan but was not the intended functionality, and actually gives problems instead. The transform locks should really only affect what the user can do, not if the property can be animated internally. * Revert #25868: fix for lib linked scenes not animating. This was needed due to the above feature, but meant that all lib linked properties were editable in the UI. * Make bone properties of on proxy-protected layers not editable. They will be overriden on reload/redo like lib linked data, so should not be edited.
2010-01-08Animation Visualisation Cleanups - Part 2:Joshua Leung
* Finished baking code for motion paths, generalising it so that it works for both Objects and Bones. It is based on the old code for baking bones, although I have modified the updating code to use a more 'correct' method of updating dependencies. However, this may turn out to be too slow, and another API method should be added for that... * Moved some of the old version-patching code for animviz settings out of the drawing functions, instead doing this on the version patching proper. * Added RNA support for the new AnimViz types, and included RNA access via their users too. The old settings have still been left in for now, since there are still some things not ready to use yet. ---- * F-Curve's with sample points (i.e. sounds to F-Curves) now perform linear interpolation between sample points instead of using constant interpolation.
2010-01-05obscure feature: Display Custom Bone Shape at another bones transform.Campbell Barton
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.
2009-12-29* speedup for animating bones, in one scene with sintel and a dragon ↵Campbell Barton
animated its over 4x faster. * utility function BLI_findstring to avoid listbase lookup loops everywhere. eg: ListBase *lb= objects= &CTX_data_main(C)->object; Object *ob= BLI_findstring(lb, name, offsetof(ID, name) + 2); * made some more math functions use const's, (fix warnings I made in previous commits)
2009-12-28Assorted Animation/RNA fixes:Joshua Leung
* Fix for compiler warning in mesh.c from previous commit * Fix for wrong name for dopesheet filter button used for meshes * Added RNA defines for the default values for quaternion and axis-angle rotations, so that clearing these to their default values "does the right thing (TM)"
2009-12-08RNA:Brecht Van Lommel
* Property update functions no longer get context, instead they get only Main and Scene. The RNA api was intended to be as context-less as possible, since it doesn't really matter who is changing the property, everything that uses the property should be updated. * There's still one exception case that use it now, screen operations still depend on context too much. It also revealed a few places using context where they shouldn't. * Ideally Scene shouldn't be passed, but much of Blender still depends on it, should be dropped when we try to support multiple scene editing. Change was planned for a while, but need this now to be able to call update without a context pointer.
2009-11-28py/rna apiCampbell Barton
- object.modifiers.add()/remove() - armature.edit_bones.active wasnt named correctly
2009-11-25AnimSys - Transform Locks + RNA:Joshua Leung
The Animation System now respects the Transform Locks too (i.e. lock x-location, etc.) when writing settings. This means that it is no longer necessary to set up "constant drivers" to make sure some values don't get accidentally animated. Internally, added a new callback for properties in RNA, which is responsible for checking if the item at some array-index is editable. This needs to be manually called for each place which uses rna to set settings for arrays (see the code changes in anim_sys.c for changes how to do this; the same thing needs to be done in the UI code too, and probably in py-api too)
2009-11-25add access to bone add/remove from rna. eg.Campbell Barton
bone = arm.edit_bones.new("SomeBone") arm.edit_bones.remove(bone) regify (WIP)
2009-11-24- use a generic bone class so all 3 bone types (Edit/Pose/Armature) - can ↵Campbell Barton
have the same utility functions, length, parent_recursive, parent_index(), etc - change the wiki url to avoid redirects (from Luka) - removed pose prefix from pose_head/pose_tail/pose_matrix
2009-11-23rename PoseChannelConstraints to PoseBoneConstraintsCampbell Barton
2009-11-18rename pose_channels to bonesCampbell Barton
was: object.pose.pose_channels["Bone"] now: object.pose.bones["Bone"]
2009-11-16Constraints: Code cleanupJoshua Leung
* 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- fcurve modifiers.new()/remove()/activeCampbell Barton
- 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-13arbitrary property and function support for rna properties (arrays and ↵Campbell Barton
collections), this means functions can be easily added. eg. scene.objects.link() object.constraints.new() mesh.verts.transform(...) mesh.faces.active PropertyRNA stores an StructRNA pointer where these can be defined.
2009-11-11object.constraints.add()/remove()/active, same for PoseChannelCampbell Barton
modified internal api for minimal rna wrapper functions. TODO - missing updates for pose channels - typecheck for pose/object constraints
2009-11-10Math LibBrecht Van Lommel
* 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-10-08Fixed remaining bugs with animating rotation modes:Joshua Leung
* Removed the hack-functions to set euler rotations from the values set in the other rotation representations, even when euler rotations weren't being used. I pressume that this was added for being able to represent quats in terms of eulers for the UI, but really it would break animation evaluation (i.e. euler curves after quaternion curves would always block the quaternion curves). * Object rotation values in the transform properties panel now take into account rotation modes, so the appropriate rotations will get converted to quaternions before being drawn. * Fixed a few bugs with some of the conversion code (minor stuff left out).
2009-10-08Rotation Modes Bugfix:Joshua Leung
Animating rotations using different rotation modes should now work more often than before. Previously, quaternion and axis-angle values were stored in the same variable in DNA, but that was causing problems with other animation curves overwriting the values and causing the rotations to not work as expected. There are still some issues, but I'll track those down later tonight
2009-10-02Move Inverse Kinematics panel to Constraint context. Make iTaSC parameter ↵Benoit Bolsee
panel more readable.
2009-09-28add temp defines to keep the game engine building, should be fixed properly.Campbell Barton
fix implicit declaration too.
2009-09-28Durian Feature Request: Rotation Modes for ObjectsJoshua Leung
This (biggish) commit generalises the rotation modes functionality added for Bones, allowing Objects to use the various Euler Rotation orders, Axis-Angle, and Quaternion rotation representations. I've also cleaned up the nomenclature of the rotation-related settings so that the naming styles are more consistent with each other. Unfortunately, this will break all files involving object or bone rotation animation made in 2.5 versions (2.4x will still get correctly converted). General Notes: * By default, Objects still default to using Eulers, while Bones will use Quaternions by default still. * I've fixed all areas that I'm currently aware of to work with these changes. However, there are probably a few places where I've missed a few changes (i.e. auto-keyframing will need attention later). * Removed the old "IPO-Keys" stuff from Transform code. I'm unlikely to restore this in the near future, and trying to fix that to include support for this commit would have been too much work.
2009-09-25Merge of itasc branch. Project files, scons and cmake should be working. ↵Benoit Bolsee
Makefile updated but not tested. Comes with Eigen2 2.0.6 C++ matrix library.
2009-09-22Manual merge of soc-2009-kazanbas branch:Arystanbek Dyussenov
* copied I/O scripts * copied, modified rna_*_api.c and rna_*.c I/O scripts not working yet due to slight BPY differences and RNA changes. Will fix them later. Not merged changes: * C unit testing integration, because it is clumsy * scons cross-compiling, can be merged easily later
2009-09-17Warning fixes for blenkernel and editors.Brecht Van Lommel
Note sure what to do with this one, and personally think we should avoid using macros for this kind of thing: V_GROW(edges); source/blender/editors/mesh/loopcut.c:232: warning: value computed is not used
2009-09-16RNABrecht Van Lommel
* PROP_NEVER_NULL is now a flag instead of a subtype. * It works for function parameters too now, so setting this flag can help avoid NULL checks in the function. * Renamed LocalLamp to PointLamp, making it consistent with the UI name. * Set icons for the different lamp struct types.
2009-09-15Undo revision 23130 which was a merge with 2.5, a messy one because I did ↵soc-2009-kazanbasArystanbek Dyussenov
something wrong (`svn status` output: http://www.pasteall.org/7887). The command: svn merge -r 23130:23129 https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-kazanbas
2009-09-14use static functions where possible for some local functions.Campbell Barton
2009-09-122.5 - Rotation Locking for BonesJoshua Leung
* 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-122.5 - More work on Axis-Angle RotationsJoshua Leung
* 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-11Merge with -r 22620:23107.Arystanbek Dyussenov
Next: update scripts and merge in 2.5.
2009-09-112.5 Rotations: As a experiment, enabling Axis-Angle for BonesJoshua Leung
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-092.5: use bone groups icon in UI.Brecht Van Lommel
2009-09-072.5 - Armature/Pose Bugfixes:Joshua Leung
* Added missing prototype from arithb * Added define for Axis-Angle rotations. This has not yet been hooked up for actual usage yet, since there are some issues regarding evaluation which I'd like to investigate further first. * Editing numbuttons for posechannel transforms now updates in realtime. Sending ND_POSE|ND_TRANSFORM was causing confusion for the listeners (which only check for either/or) * Partial fix for axis drawing on bones. Now the axes are drawn at the tips of the bones again, but unfortunately the texts aren't (since they only use the object matrix, they get drawn at the origin).
2009-09-072.5 - Rotation Order TweaksJoshua Leung
* Copy Rotation constraint should now work ok with this new code again. Previously, it was the only thing that really went beserk when the typos were still uncaught. * Fixed one other case of a potential case where typos would cause problems. * Made changing the rotation order setting perform conversions of the current rotation to an equivalent representation in the other orders/forms. This is done at RNA level, so maybe not that great for switching representations while animating?
2009-09-052.5Brecht Van Lommel
Notifiers --------- Various fixes for wrong use of notifiers, and some new notifiers to make things a bit more clear and consistent, with two notable changes: * Geometry changes are now done with NC_GEOM, rather than NC_OBJECT|ND_GEOM_, so an object does need to be available. * Space data now use NC_SPACE|ND_SPACE_*, instead of data notifiers or even NC_WINDOW in some cases. Note that NC_SPACE should only be used for notifying about changes in space data, we don't want to go back to allqueue(REDRAW..). Depsgraph --------- The dependency graph now has a different flush call: DAG_object_flush_update(scene, ob, flag) is replaced by: DAG_id_flush_update(id, flag) It still works basically the same, one difference is that it now also accepts object data (e.g. Mesh), again to avoid requiring an Object to be available. Other ID types will simply do nothing at the moment. Docs ---- I made some guidelines for how/when to do which kinds of updates and notifiers. I can't specify totally exact how to make these decisions, but these are basically the guidelines I use. So, new and updated docs are here: http://wiki.blender.org/index.php/BlenderDev/Blender2.5/NotifiersUpdates http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers
2009-09-012.5 - Rotation Orders for Bones [Durian Rigging Request]Joshua Leung
This commit is the start of an implementation of (euler) rotation orders for Bones (later to be extended to Objects too). Technical details and references can be found at: http://wiki.blender.org/index.php/User:Aligorith/EulerRotationOrder In short, I've added a new set of Euler conversion functions (EulO... and ...EulO), coexisting with the old functions for now, which can handle different rotation orders. Changes have only been made to the basic evaluation code. However, the following places will still need modifications: * Transform code - needs to be made to use functions which take rotation order into account instead of using XYZ only * Rotation constraints - same story * Other rotation editing tools for armatures also need a check up, since there might have been some missing code when I ported eulers earlier
2009-08-232.5 - Custom Shape and Bone Groups can be viewed/set on Bones again.Joshua Leung
2009-08-19Merge with 2.5 -r 22173:22620.Arystanbek Dyussenov
2009-08-11RNA: subtypes and unitsBrecht Van Lommel
* Reviewed subtypes, making them more specific and adding new ones. * Subtypes now have an associated type of units (length, area, volume, mass, rotation, time, velocity, acceleration). These are not used yet anywhere. * Centralized code that decides the name of array items based on subtype (XYZ, RGB), was copied in 3 places. * RNA_def_float etc functions still need to be update, will do this later together with another change.
2009-08-03Merge with 2.5 -r 21756:22173.Arystanbek Dyussenov
2009-08-02NLA Tweaks:Joshua Leung
* "Pushing down" the action to make a new strip will now make the new strip the 'active' one. * 'Active Action' field in Animation Data panel is now editable as long as we aren't in "tweakmode"
2009-08-022.5 - Animation/RNA BugfixesJoshua Leung
* Settings for Bones can now be animated properly from UI * Settings for constraints on bones and objects can now be keyframed properly * Added missing 'subtarget' property wrapping for StretchTo constraint.
2009-07-24- added operator for OBJ importer plus some python 3 conversionsArystanbek Dyussenov
2009-07-212.5 - More work on Bone Groups Joshua Leung
* Added a new UI Template for the 3-colour picker used to visualise + select the custom colours for a bone group. * Finished wrapping the colour properties for Bone Groups in RNA. Although changing the colour-set used will change the displayed/cached colours, changing the colours via the colour wells will not change the colour set to 'custom' (as per 2.4x) yet. This needs a nice solution... * Fixed context-related bugs with the Assign/Remove operators for bone groups. These were using context-iterators for selected posechannels, but that was only defined/valid for the 3d view (but not for the buttons window), hence a failure in that case.
2009-07-21Merge with 2.5 -r 21619:21756.Arystanbek Dyussenov
2009-07-212.5 - Restoring Bone Groups Joshua Leung
* Added Bone Groups UI to 'Armature' context buttons for now. Later, it may be more convenient to have these with bones instead? * Added operators for the operations that can be performed on these groups. Moved the core adding/removing functions to blenkernel so that they can be used elsewhere in future if need be. * Properly wrapped bone groups in RNA. Copied the way that Vertex Groups are wrapped, since they share some similarities. Setting colours for bone groups still needs more work though.
2009-07-16Merge with 2.5 -r 21515:21619.Arystanbek Dyussenov