[4.0] Changed Update to reset only target properties each frame
Currently all default and custom animated properties are reset each frame.
This is wasteful, as unnecessary time is spent setting the same value again and again.
Instead, have added a new PropertyResetter, which is created when a property is being
animated or constrained. This is responsible for resetting the double buffered values
of that property.
Transform Manager properties are unaffected, as the reset is a single memset/memcpy
that handles all such properties at once, and is much faster than resetting properties
individually.
Added a PropertyResetter to animators.
Removed property reset from everything except transform manager.
Ensured property resetters die with animators
Added lifecycle observer to scene graph animators
Hooked up property resetter to observe animator destruction
Added aging to property resetter to ensure it resets for another frame after
animator death
Added constraint resetters
Changing connection to disconnection tracking fixes constraint velocity issue
Also changed Property::Bake to write to both buffer indexed values.
Ensured property resetters destroyed after animations ( animators have a resetter
observing destruction; order matters ).
Change-Id: Ia11f0e45744b09859ce1b87f306e1829efbb8fac
Signed-off-by: David Steele <david.steele@samsung.com>
(cherry picked from commit
39093bc48ee4ed2b4956c183faf59c36f3e9746c)