first and last NURBS' control points (toggle cyclic flag)
- Show U/V selection menu only for surface objects. There's no
much logic in asking U/V direction for simple curves.
- Set active spline when two segments were joined.
- Disallow setting cyclic flag for single-point segment when this lonely
segment is selected
- Clear cyclic flag for single-pointed segments when finding segments which
can be merged
Crash was caused by keeping active segment index even when this
segment had been deleted. Fixed this and also changed behaviour
of creating new CV for case nothing is selected: new segment with
BEZIER type would be created.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
mode for case there was no animation at object before enter editmode
- Fixed memory corruption for case of fcurve groups
- Fixed bug with incorrect re-naming "spline[%d].smth" pathes
TODO:
- Also update drivers' curves
- Enable I-key menu and autokeying
Will do this after consultation with Aligorith, shouldn't harm atm.
also minor functional changes
- OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it)
- removing BG image now returns cancelled if no image is removed.
ED_curve_updateAnimPaths now updates fcurves from animation data rather than
from local copy of curves: nurb and point index from keyIndex data gets
updated in this function and for correct handling undo stuff copy of
fcurves is stored in UndoCurve.
Additional changes:
- Revert of rev33640 and more proper fix: do not copy remained
spline-related rna fcurves after renaming pathes but all the rest
fcurves woulddbe copied back to animation data
- Refresh graph and dopesheet editor after updating animation data
when nothing is selected but active spline is set or when "middle"
control point is selected new spline would be created.
Nothing wull happen when there is no selection and no active spline
due to it's unclear which kind of spline should be added.
in crash.
This commit fixes the crash (missing null check for nu==NULL).
However, there is still a problem here with Curve Ctrl-Click not
behaving the same as Mesh EditMode Ctrl-Click, which adds a new vert
no matter what (i.e. no previous selection required). Then again,
that's a separate "todo" issue, so we can close this report now :)
I still have to learn more of the recent changes in code :)
Didn't know the handle type options became a menu for Curve edit mode.
Providing much-used tools non-modal (direct) really should have
preference. Pull down is not very accessible here though, will
check on it later. :)
This restores H, Shift+H, V and alt+H for handle setting.
when starting playback after undo-ing topology changes
The simpliest way was to change data at which undoCurve_to_editCurve and
editCurve_to_undoCurve works from curve to object. Maybe it's not very
cool, but still better than moving curve animation handlers outside of
editcurve module.
===================
Update fcurves RNA pathes after making changes to curve topology, so
animation will no longer lost after edit and wouldn't lead to crash.
Will be very useful for RotoBezier addon.
Also NodeKeyIndex renamed to CVNodeIndex due to node is an entity from
another module and better not used in others.
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.
This should help performance in python and animation editors, by making
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.
- pep8 script was giving an error on non utf8 scons source files.
- use PyList_SET_ITEM macro when list type is ensured.
- all mathutils types use subtypes to create new types when available.
- use defines MAT3_UNITY, MAT4_UNITY to initialize unit matrices.
On entering editmode Curve/Nurbs, the undo buffer was not
correct; storing old Curve/Nurbs object name. This caused
for example the Operator tool redo options to fail; it added
another curve on first use (with user pref "enter editmode).
Solved with adding good undo push + nicer code for curve and
nurbs naming.
With some own changes:
- Select pick moved to invoke()
- Used editsurfcurve_region_view3d as poll function for this operator
due to ogl dependency
Thanks to Elia Sarti (vekoon)!