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
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2008-03-16Constraints PyAPI:Joshua Leung
Added support for Limit Distance constraint
2008-03-16Constraints Py-Api:Joshua Leung
Fixed up Py-API access to PyConstraints. Also updated docs to reflect these changes.
2008-03-11Bugfixes:Joshua Leung
* Menus could no longer have their items accessed by number (i.e. W-5 didn't run merge tool in EditMode when accessed by keyboard). This was caused by my commit for BUTM (there was some extra code there that isn't really needed, but was causing havok). * NumPad can now be used for the above feature too now * Typo in error message in Constraints PyAPI
2008-03-08Bugfix #8478: Constraints PyApi for setting targetspace non-functionalJoshua Leung
Finishing off some unfinished business (from the multi-target constraints work), it is now possible to get/set target-space for constraints where this is relevant. For this to be possible, target-space setting(s) are now always presented as a list of ints, with each int representing the target-space setting for the relevant target. Constraints C-API note: get_targets function now needs to return the number of targets the constraint can have
2007-12-17Reverting to 2_2x BPYMartin Poirier
I was careful in selectively rolling back revisions, but if you've committed changes unrelated to BPY mixed with BPY changes, I might have reverted those too, so please double check.
2007-11-28Previous commit (for ipos) missed python code fixes. Apparently makefilesTon Roosendaal
for python are broken...
2007-11-08Bugfix #7682: Constraint.InsertKey works odd for PoseBonesJoshua Leung
Constraint.InsertKey was inserting keyframes for the wrong action-channel. It was doing so for the active bone, not the owner of the constraint.
2007-10-22== Constraints System - Recode 2 ==Joshua Leung
Once again, I've recoded the constraints system. This time, the goals were: * To make it more future-proof by 'modernising' the coding style. The long functions filled with switch statements, have given way to function-pointers with smaller functions for specific purposes. * To make it support constraints which use multiple targets more readily that it did. In the past, it was assumed that constraints could only have at most one target. As a result, a lot of code has been shuffled around, and modified. Also, the subversion number has been bumped up. Known issues: * PyConstraints, which were the main motivation for supporting multiple-targets, are currently broken. There are some bimport() error that keeps causing problems. I've also temporarily removed the doDriver support, although it may return in another form soon. * Constraints BPy-API is currently has a few features which currently don't work yet * Outliner currently only displays the names of the constraints instead of the fancy subtarget/target/constraint-name display it used to do. What gets displayed here needs further investigation, as the old way was certainly not that great (and is not compatible with the new system too)
2007-09-26== Clamp To Constraint ==Joshua Leung
Now there's an option for the owner to follow the path of the target cyclically. Previously, if the owner moved past the extents of the side of the bounding-box used for the calculations, the object was placed on the curve at the nearest extent. This option is only really useful if the curve itself is cyclic, although you can still use it otherwise. To enable, just turn on the cyclic option.
2007-09-18A user submitted a BVH file that took a long time to import (I didnt end up ↵Campbell Barton
finishing since it was so slow) this is mainly because adding pose keyframes recalculates every handle so importing became increasingly slow. added a 'fast' argument to insertkey that python api's insertPoseKey can make use of since it alredy accepts a 'fast' option. The ~4450 frame, 31 bone BVH imports in ~108sec now Seperated editmode switch statement in space.c's event handling, if editmode is disabled, or the images is a render or composite, UV editing operations are ignored. In previous releases it has given an annoying warning if selecting or scaling is attempted when out of UV/Face mode.
2007-09-17== Action Editor - Copy and Paste Tools ==Joshua Leung
Now it is possible to do Copy+Paste in the Action Editor, like in the IPO Editor. There are two new buttons in the Action Editor header for this, using the familiar icons. * To copy... Select the keyframes you wish to copy, and the channels that they occur in (except for ShapeKey mode, where it is not possible to select channels). Click copy button. * To paste... Place the current frame where you want the first of the keyframes from the buffer is to be pasted. Select all channels you wish the keyframes to be pasted into. Click paste button. Currently, keyframes are only pasted into 'compatible' curves (i.e. LocX keyframes can only go to LocX, and so on). This may change after user feedback, if this is found to be too restrictive. == Code Changes == I've made a few changes which allow this code to be nicer. * renamed insert_vert_ipo to insert_vert_icu, as that represents its actual purpose better (and changed all occurrences I could find) * created a new function, insert_bezt_icu, which does the actual inserting of provided BezTriple data to a given IpoCurve * recoded insert_vert_icu to use this new function, and also the IPO-Editor keyframe pasting (i.e. pasting in Editmode)
2007-07-30nested commentCampbell Barton
2007-07-30Removing some useless code, and fixed a few compiler warnings.Joshua Leung
2007-07-26== PyAPI - Constraints Space Conversion Access ==Joshua Leung
Now, for the constraints that support Constraint Space Conversion, those settings can now be set from the PyAPI too.
2007-07-21== Transformation Constraint ==Joshua Leung
This commit adds a new constraint to Blender: the Transformation Constraint. This constraint gives you more freedom to choose how transforms are copied from one object/bone to another object/bone. You can assign the Loc/Rot/Scale channels of a source to the Loc/Rot/Scale channels of a destination, specifying the range of motion (per axis) from the source to consider, and the range of motion (per axis) that will be applied to the destination. Also, for each destination axis, you can choose which of the source axes to copy from. A similar constraint was coded by Jason Blary (snark), as Patch #4991. This constraint is basically rewritten from scratch, although there are some elements of the original patch which may be borrowed in future. Various notes: * PyAPI access has been coded. * Space conversion is also enabled for this constraint. * Also the useless get_constraint_col function has been removed * Doing a rotation copy with a ratio that is not 1:1 doesn't always work correctly yet (like for the Copy Rotation constraint).
2007-07-17== Constraints Work - PyAPI ==Joshua Leung
A few tweaks to documentation and implementation of PyAPI access for constraints following Constraints recode. Just doing a little bit of cleanup.
2007-07-15== Constraints System ==Joshua Leung
After just over a week of coding, I've finished doing a major refactor/cleanup of the constraints code. In the process, quite a few old kludges and ugly hacks have been removed. Also, some new features which will greatly benefit riggers have been implemented. === What's New === * The long-awaited ``ChildOf Constraint'': This allows you to animate parent influences, and choose which transformation channels the parent affects the child on (i.e. no translation/rotation/scaling). It should be noted that disabling some combinations may not totally work as expected. Also, the 'Set Inverse' and 'Clear Inverse' buttons at the bottom of this constraint's panel set/clear the inverse correction for the parent's effects. Use these to make the owner not stick/be glued to the parent. * Constraint/Target Evaluation Spaces: In some constraints, there are now 1-2 combo boxes at the bottom of their panel, which allows you to pick which `co-ordinate space' they are evaluated in. This is much more flexible than the old 'local' options for bones only were. * Action Constraint - Loc/Rot/Size Inputs The Action Constraint can finally use the target's location/rotation/scaling transforms as input, to control the owner of the constraint. This should work much more reliably than it used to. The target evaluation should now also be more accurate due to the new space conversion stuff. * Transform - No longer in Crazy Space (TM) Transforming objects/bones with constraints applied should no longer occur in Crazy Space. They are now correctly inverse-corrected. This also applies to old-style object tracking. === General Code Changes === * solve_constraints is now in constraints.c. I've removed the old `blend consecutive constraints of same type' junk, which made the code more complex than it needed to be. * evaluate_constraint is now only passed the constraint, and two matrices. A few unused variables have been removed from here. * A tempolary struct, bConstraintOb, is now passed to solve_constraints instead of relying on an ugly, static workobject in some cases. This works much better. * Made the formatting of constraint code consistent * There's a version patch for older files so that constraint settings are correctly converted to the new system. This is currently done for MajorVersion <= 244, and SubVersion < 3. I've bumped up the subversion to 3 for this purpose. However, with the imminent 2.45 release, this may need to be adjusted accordingly. * LocEulSizeToMat4 and LocQuatSizeToMat4 now work in the order Size, Rot, Location. I've also added a few other math functions. * Mat4BlendMat4 is now in arithb. I've modified it's method slightly, to use other arithb functions, instead of its crazy blending scheme. * Moved some of the RigidBodyJoint constraint's code out of blenkernel, and into src. It shouldn't be setting its target in its data initialisation function based + accessing scene stuff where it was doing so. === Future Work === * Geometry to act as targets for constraints. A space has been reserved for this already. * Tidy up UI buttons of constraints
2007-07-01replace PyInt_CheckExact with PyInt_Check, same for floats and strings so ↵Campbell Barton
subclass and C/subtypes work. was reported as a bug a while ago.
2007-06-18== PyConstraints - BPy API Access ==Joshua Leung
The BPy Access to PyConstraints. I have not implemented the setter for the PyC-ID-Properties access as I'm not too sure how this should be done. Also fixed a few typos in the py-docs for the Limit Scale constraint.
2007-06-18== PyConstraints ==Joshua Leung
At last! The ability to code constraints in Python. This opens up many interesting rigging possibilities, as well as making prototyping constraints easier. * A PyConstraint script must begin with the line #BPYCONSTRAINT * It must also define a doConstraint function, which performs the core actions of the constraint. * PyConstraints use IDProperties to store custom properties for each PyConstraint instance. The scripter can choose which of these ID-Properties to expose to a user to control the behaviour of the constraint. This must be done using the Draw.PupBlock method. Credits to Joe Eager (joeedh) for coding the original patch on which this is based. I've made heavy revisions to large parts of the patch. For more detailed information, and some demo scripts, see the following page: http://aligorith.googlepages.com/pyconstraints2
2007-06-16Python API, more METH_VARARGS to METH_OCampbell Barton
2007-06-16Python PyMethodDef supports single argument methods (METH_O) but was using ↵Campbell Barton
METH_VARARGS everywhere and getting the single args from the tuple. Use METH_O where applicable.
2007-04-23Changed TESTBASE and TESTBASE_LIB to check the hidden flagCampbell Barton
Checked every instance of testbase to see this dosnt break anything, also changed TESTBASE and TESTBASELIB, both were used incorrectly in places. added error_libdata() for library error messages that are everywhere. added object_data_is_libdata to test if the object and its data's are from a library. fixed 2 crashs in adding Curve points to a library object (remember to check, verify_ipocurve returns NULL!) made duplicating and making dupli's real for lib objects possible, disabled joining into lib armatures and meshes.
2007-04-07== Clamp To Constraint ==Joshua Leung
* PyApi access to this constraint * Also, a minor tweak to one of the comments about one of this constraint's variables.
2007-04-06=== BPY ===Martin Poirier
Adding Python counterparts to the Invert params for Copy Rot and Copy Loc. I had to align the constants being used, so if you had files using those options (introduced after 2.43), you'll have to modify the INVERT settings for ROTLIKE constraints (didn't feel like making a minor version bump for this, if people thing otherwise, please say so). Based on a patch by Juho Vepsäläinen (bebraw)
2007-03-15removed unneeded dealloc functionsCampbell Barton
2007-03-15removed duplicate functionality, macro's and functions existed to check a ↵Campbell Barton
PyObjects type, now only use macro's
2007-03-02various warnings fixes - mostly casting and initialization issuesJoseph Gilbert
2006-12-02- added support for generic 6DOF constraintErwin Coumans
- only 6DOF constraint shows buttons for limits - added python support for rigidbody constraint (untested, but required for COLLADA Physics support)
2006-11-07Added an option in the IK constraint to disable stretching, usefulBrecht Van Lommel
in rigs with layered IK constraints. Also removed the tolerance setting, this value wasn't used in the solver anymore.
2006-10-06added comparison function to many python types so you can do == and =!Campbell Barton
2006-09-22This commit adds local target rotation support to the floor constraint,Roland Hess
making it much more useful. Requested and taunted for frequently by Plumiferos folks. Click on "Use Rot" to take target object rotations into account. Good for using rotated empties, etc., as a sloped floor.
2006-08-13Patch: Constraints to Limit Transforms (#4662) by Joshua Leung (aligorith)Martin Poirier
This adds three new constraints to limit the range of location, rotation and scaling values.
2006-06-14===Python API===Ken Hughes
Moved .up() and .down() methods from Constraint API to Constraint sequence API (also renamed them to moveUp() and moveDown() ). Again, methods which modify the "parent" structure didn't seem consistent.
2006-05-12===Python API===Ken Hughes
* use CONSTRAINT_LOCAL instead of SELECT in "Copy Rotate" constraint * remove "LOCAL" key for now from "Copy Size" constraint; not supported right now in Blender UI
2006-05-12===Python API===Ken Hughes
Added NULL constraint (and fixed bug that didn't allow appending FLOOR constraint), and added support for Constraint.Settings.LOCAL key support in COPYLOC, COPYROT and COPYSIZE constraints when target object is an armature.
2006-05-07===Python API===Ken Hughes
New Constraint API. Constraints are accessible through a "constraints" attribute in poses and objects. Would be REALLY NICE for armature users to pound on this code.