Made Controller::_EPSILON constant with the value 1e-6. Previously,
the _EPSILON value was computed based on the minimum edge size within
the scene being rendered (in some cases, the computed value resulted
in zero). This does not seem to make sense, because _EPSILON has been
used as a tolerance threshold of floating-point arithmetic errors
throughout the view map creation. Since Blender uses single-precision
real values for mesh data representations, the new constant _EPSILON
value looks more adequate.
Ekey: Extrude Region
Based on selection totals:
Extrude region along normal if at least one face selected
Extrude vertex along normal if only one vertex selected (experimental)
Extrude edge on its plane if only one edge selected (experimental)
Extrude with no constraint axis otherwise
Shift-Ekey: Extrude Individual
Based on selection modes and selection totals
Individual Faces if face select and some faces are selected
Individual Edges if edge select and some edges are selected
Individual Vertice otherwise
Alt-Ekey: Extrude Menu (only shows valid options for selection mode and selection totals)
1) Summary channel in DopeSheet was using uninitialised color for backdrop, resulting in weird/wrong colours
2) Commented out the view2d hotkeys added earlier, since they currently cause some conflicts for animation editor hotkeys (namely NLA)
... what lead me to wonder if we should remove obj.setAngularVelocity, obj.setLinearVelocity, obj.getLinearVelocity and obj.getAngularVelocity.
* this was so Copy and Paste ... anyways tests are welcome (I never used those methods in python myself).
Inserting keyframes for properties that don't already have F-Curves shouldn't occur if auto keyframing is set to 'replace' only (i.e. see timeline -> frame -> autokey mode menu for details).
This commit restores the 'Playback FPS' option which showed an indicator of the frame rate of animation playback in the 3D-View.
The info for this is now stored in a temp struct in scene data, with the status info being updated by the "animation step" operator instead of relying on globals as the old code did. This seems a lot more stable than in 2.49, but the accuracy is still questionable.
Made an attempt to fix "2D intersection out of range" warnings.
These warnings may cause "3D intersection out of range" warnings,
which often lead to a crash.
New Actuators done:
* EDIT_OBJECT
* SHAPE_ACTION
Actuators to be done:
* CONSTRAINT
Actuators done already:
* ALL THE OTHERS 16
+ some DNA padding
There is one Actuator left. This one is tricky because (as many others) the tooltip changes according to the actuator type value. Not sure how to solve this yet. I'll probably have to make different rna properties for the same values (it includes some enums this time). Not so animated to finish this one :/
Several properties of armatures were being checked for proxy-suitability with too-harsh criteria. Softened this on a few properties to make them usable again.