useful for python but in rare cases this also happens for users.
Active layer getting out of sync is an old bug but hard find when it happens.
This at least fixes segfaulting on adding objects.
- made the console banner printing function into a python operator (includes sys.version)
- added 'C' into the consoles default namespace for convenience
* #19819: 'Select' operator for Hooks was crashing when Hooks didn't have any vertices assigned yet
* Default twist resolution mode for curves is now 'Minimise'. This seems to work better for Curve Deforms and other purposes. Can be changed if other ways are better after some more testing.
* Spline IK now has more options for controlling how the x and z axis scaling is determined. There is now a choice between using the radius of the curve, the x+z scaling from the bones, or no scaling (default). This does break old files a bit, but this is to have a more stable base for later.
Depgraph update was commented out in undo system because of globals, restored this with new context/id-based depgraph
* Fix in UV editor UV menu
* Slightly nicer default names for adding forcefields with Add menu
* #19790: Circle Select doesn't work for Armature edit mode or pose mode
* Duplicate bones (Shift-D) was calling the wrong operator. This now uses the macro version, instead of the copy only.
I've left the old code commented out for now hough - do we still want to
be able to edit all rotation types as eulers in the transform properties buttons?
Seems a bit odd to me, what do animators think? If so, maybe we need some
ui-level conversion options in the RNA buttons code...
Converted the Object transform properties to use rna/rna buttons. This has the advantage of not only displaying/editing units, but also RMB menu, keyframing, drivers, etc too. Part of this was to convert 'Dimensions' to an rna property, converting to and from scale. This also allows you to set the object's dimensions via fcurves or python, but note that it's driving the object scale setting internally so if you animate both dimension and scale at the same time one will override the other (i don't expect many people to attempt this).
- more detailed exceptions (always give file:line incase the python exception doesnt)
- fix some errors in the edit docs
editing docs still fails, need to figure out why.
- made all exporters default to the blend filename with the extension replaced
- MDD's poll function now checks for an active mesh
- multiline docstrings are written as multiline docs when generating epydocs
ob.driver_add("location")
ob.driver_add("location", 0) # x location only
Also changed ANIM_add_driver so an index of -1 adds drivers to every item in the array
made this default for python so you can do...
pose_bone.keyframe_insert("location")
rather then
pose_bone.keyframe_insert("location", 0)
pose_bone.keyframe_insert("location", 1)
pose_bone.keyframe_insert("location", 2)
Recoded the way that Spline-IK computes the x+z axes of the bones so that flipping artifacts are minimised, and the rotation of individual bones can be used to affect the results of the solution, as per requests from Cessen.
The bone matrices are now computed normally, and then made to conform to the orientation + scaling imposed by the splines, using the Damped-Track method. Previously, the axes of the bones were calculated without regarding the prior orientation of other bones in the chain, which lead to "z-twists".
Notes for further investigation:
- There appears to be some shearing that gets introduced now. Unforunately, I can't seem to isolate the cause of this, but I hope it's not going to become too much of a problem in general.
- Maybe inverse corrections for rotation will now be necessary when using transform tools?
- split into 2 operators: object.make_links_data() & object.make_links_scene since they are quite different.
- added reusable functions RNA_group_itemf & RNA_scene_itemf which can be used for any operator that takes ID data (easy to add more types Mesh, Text etc)
- DummyRNA_NULL_items for dynamic items so each operator need not define its own empty enum.
Non-ID pointers in DNA can only point to data from own ID block, so
now instead it uses an index into the particle system list, but still
exposed as a pointer through RNA.
by Adrian Winchell (slightly modified)
This adds a center circle (like translation and resize) to the rotation manipulator that triggers trackball rotation.
- use OBJECT_OT_mode_set rather then OBJECT_OT_*_toggle, better for using report output for script input. OBJECT_OT_posemode_toggle and OBJECT_OT_editmode_toggle are called by OBJECT_OT_mode_set.
I had to add some ugly RNA path finding code here, checking for all places these structs can possibly be reused. Can't think of a better way to go about this though with the path stored in the RNA type...?