Struct PropertyTargetInterpolator
pub struct PropertyTargetInterpolator(/* private fields */);Expand description
Use a Property Target Interpolator when you want to dynamically set the target value of a property and want to interpolate the current value to the target value over time. With a Property Target Interpolator you can automatically animate the change of a property value to achieve a smooth transition. Without a Property Target Interpolator Kanzi immediately applies a new value to a property. For example, when you use the Object::setProperty() function, Kanzi immediately applies a new value.
Use the InterpolatedPropertyTypeProperty to set the property type that you want the Property Target Interpolator to interpolate in the node to which you attach the Property Target Interpolator.
Property Target Interpolator emulates the behavior of a spring-damper system which never overshoots. Use these properties to control the behavior of the interpolation:
- AccelerationProperty sets the force with which the spring moves the object. The larger the value of the Acceleration property is, the faster the property reaches its new value.
- DragProperty sets the damping coefficient. The larger the value of the Drag property is, the lower is the maximum interpolation speed.
The Property Target Interpolator applies the InterpolatedPropertyTypeProperty, AccelerationProperty, and DragProperty properties only when you attach the Property Target Interpolator to a node. You cannot change the target property or interpolation behavior of the Property Target Interpolator by setting the values of these properties after the Property Target Interpolator is already attached to a node.
See: AnimationPlayer, PropertyDrivenAnimationPlayer
§Examples
To create a Property Target Interpolator and set its target property and interpolation settings:
To attach a Property Target Interpolator to a node:
Implementations§
§impl PropertyTargetInterpolator
impl PropertyTargetInterpolator
pub fn get_interpolated_property_type(&self) -> Result<KanziString, Error>
pub fn get_interpolated_property_type(&self) -> Result<KanziString, Error>
pub fn get_interpolated_property_field(
&self,
) -> Result<KzuPropertyBinaryTargetAttribute, Error>
pub fn get_interpolated_property_field( &self, ) -> Result<KzuPropertyBinaryTargetAttribute, Error>
pub fn set_interpolated_property_field(
&self,
value: KzuPropertyBinaryTargetAttribute,
) -> Result<(), Error>
pub fn set_interpolated_property_field( &self, value: KzuPropertyBinaryTargetAttribute, ) -> Result<(), Error>
pub fn get_acceleration(&self) -> Result<f32, Error>
pub fn get_acceleration(&self) -> Result<f32, Error>
pub fn set_acceleration(&self, value: f32) -> Result<(), Error>
pub fn set_acceleration(&self, value: f32) -> Result<(), Error>
pub fn get_drag(&self) -> Result<f32, Error>
pub fn get_drag(&self) -> Result<f32, Error>
See: DRAG_PROPERTY
Methods from Deref<Target = NodeComponent>§
pub fn get_name(&self) -> Result<KanziString, Error>
pub fn get_name(&self) -> Result<KanziString, Error>
See: NAME_PROPERTY
pub fn get_node(&self) -> Result<Option<Weak<Node>>, Error>
pub fn get_node(&self) -> Result<Option<Weak<Node>>, Error>
Returns the node the node component is attached to
or None if node component is not attached to a node.
pub fn get_state(&self) -> Result<NodeComponentState, Error>
pub fn get_state(&self) -> Result<NodeComponentState, Error>
Gets the state of node component indicating if component is attached to a node, detached from any node or in process of attaching/detaching.
Methods from Deref<Target = Object>§
pub fn as_ptr(&self) -> *mut ObjectWrapper
pub fn as_wrapper(&self) -> &ObjectWrapper
pub fn as_object(&self) -> &Object
pub fn as_object(&self) -> &Object
Represents any type inheriting from Object as &Object.
This is useful for comparisions when PartialEq traits failed to compare objects of
different types.
let child = screen.get_child(0)?;
let parent = child.get_parent()?.into_error(ErrorKind::ObjectNotFound)?;
// assert_eq!(screen, parent); // <- Fails to compile!
assert_eq!(screen.as_object(), parent.as_object());pub fn get_native(&self) -> Result<NonNull<c_void>, Error>
pub fn get_native(&self) -> Result<NonNull<c_void>, Error>
Gets a pointer to the backing C++ instance.
pub fn get_property<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<<T as VariantConstraint>::RetArg, Error>where
T: PropertyTypeConstraint,
pub fn get_property<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<<T as VariantConstraint>::RetArg, Error>where
T: PropertyTypeConstraint,
Returns the current value of a property disregarding modifiers.
Base value is affected by the following inputs where the highest entry in the list determines the base value:
- Local value set with setProperty or loaded from kzb
- Value set by a style affecting the property.
- Value defined by class metadata.
Modifiers are not applied, the highest-priority base value is returned.
If no inputs to the property value can be established the system returns the value default value from property type metadata.
§Arguments
property_type- The property type identifying the property to retrieve.
§Returns
The evaluated property value.
pub fn get_optional_property<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<Option<<T as VariantConstraint>::RetArg>, Error>where
T: PropertyTypeConstraint,
pub fn get_optional_property<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<Option<<T as VariantConstraint>::RetArg>, Error>where
T: PropertyTypeConstraint,
Returns the current value of a property disregarding modifiers, but does not default to the value in property metadata if there are no inputs to the property value.
If there is no value sources, None is returned.
If no inputs to the property value can be established the system returns the value default value from property type metadata.
§Arguments
property_type- The property type identifying the property to retrieve.
§Returns
The evaluated property value.
pub fn set_property<T>(
&self,
property_type: &PropertyType<T>,
value: <T as VariantConstraint>::DataArg<'_>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
pub fn set_property<T>(
&self,
property_type: &PropertyType<T>,
value: <T as VariantConstraint>::DataArg<'_>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
Sets the local value of a property type.
pub fn has_value<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<bool, Error>where
T: PropertyTypeConstraint,
pub fn has_value<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<bool, Error>where
T: PropertyTypeConstraint,
Evaluates whether there are any inputs into the property value. Both value sources and modifiers are taken into account.
§Returns
Returns true if there are inputs into the property value, false otherwise.
pub fn remove_local_value<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
pub fn remove_local_value<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
Removes the local value associated with the property.
pub fn get_metaclass(&self) -> Result<Metaclass, Error>
pub fn get_metaclass(&self) -> Result<Metaclass, Error>
Returns the metaclass of the dynamic type of the object.
pub fn get_domain(&self) -> Result<Domain, Error>
pub fn get_domain(&self) -> Result<Domain, Error>
Returns the domain the object belongs to.
pub fn set_flag_keep_during_patching<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
pub fn set_flag_keep_during_patching<T>(
&self,
property_type: &PropertyType<T>,
) -> Result<(), Error>where
T: PropertyTypeConstraint,
Sets the flag to indicate that the property was loaded from KZB.
pub fn debug_string(&self) -> Result<String, Error>
pub fn debug_string(&self) -> Result<String, Error>
Builds a string representation of the object intended for debugging purposes.
Trait Implementations§
§impl Clone for PropertyTargetInterpolator
impl Clone for PropertyTargetInterpolator
§fn clone(&self) -> PropertyTargetInterpolator
fn clone(&self) -> PropertyTargetInterpolator
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for PropertyTargetInterpolator
impl Debug for PropertyTargetInterpolator
§impl Deref for PropertyTargetInterpolator
impl Deref for PropertyTargetInterpolator
§type Target = NodeComponent
type Target = NodeComponent
§fn deref(&self) -> &<PropertyTargetInterpolator as Deref>::Target
fn deref(&self) -> &<PropertyTargetInterpolator as Deref>::Target
§impl Inheritable for PropertyTargetInterpolator
impl Inheritable for PropertyTargetInterpolator
§unsafe fn downcast_unchecked<T>(self) -> Twhere
T: Inherits<Self>,
unsafe fn downcast_unchecked<T>(self) -> Twhere
T: Inherits<Self>,
§unsafe fn downcast_unchecked_ref<T>(&self) -> &Twhere
T: Inherits<Self>,
unsafe fn downcast_unchecked_ref<T>(&self) -> &Twhere
T: Inherits<Self>,
§impl Inherits<NodeComponent> for PropertyTargetInterpolator
impl Inherits<NodeComponent> for PropertyTargetInterpolator
fn upcast(self) -> Base
fn upcast_ref(&self) -> &Base
§impl Inherits<Object> for PropertyTargetInterpolator
impl Inherits<Object> for PropertyTargetInterpolator
fn upcast(self) -> Base
fn upcast_ref(&self) -> &Base
§impl MetaclassConstraint for PropertyTargetInterpolator
impl MetaclassConstraint for PropertyTargetInterpolator
§fn get_static_metaclass() -> &'static Metaclass
fn get_static_metaclass() -> &'static Metaclass
§impl ObjectConstraint for PropertyTargetInterpolator
impl ObjectConstraint for PropertyTargetInterpolator
§fn downcast<T>(self) -> Result<Option<T>, Error>where
T: MetaInherits<Self>,
fn downcast<T>(self) -> Result<Option<T>, Error>where
T: MetaInherits<Self>,
§fn downcast_ref<T>(&self) -> Result<Option<&T>, Error>where
T: MetaInherits<Self>,
fn downcast_ref<T>(&self) -> Result<Option<&T>, Error>where
T: MetaInherits<Self>,
§fn is_a<T>(&self) -> Result<bool, Error>where
T: MetaInherits<Self>,
fn is_a<T>(&self) -> Result<bool, Error>where
T: MetaInherits<Self>,
fn downgrade(self) -> Weak<Self>
fn downgrade_ref(&self) -> Weak<Self>
fn lock(self) -> ThreadObject<Self>
fn lock_ref(&self) -> ThreadObject<Self>
§impl<T> PartialEq<T> for PropertyTargetInterpolatorwhere
T: ObjectConstraint,
impl<T> PartialEq<T> for PropertyTargetInterpolatorwhere
T: ObjectConstraint,
§impl<T> PartialEq<Weak<T>> for PropertyTargetInterpolatorwhere
T: ObjectConstraint,
impl<T> PartialEq<Weak<T>> for PropertyTargetInterpolatorwhere
T: ObjectConstraint,
impl Eq for PropertyTargetInterpolator
Auto Trait Implementations§
impl Freeze for PropertyTargetInterpolator
impl RefUnwindSafe for PropertyTargetInterpolator
impl !Send for PropertyTargetInterpolator
impl !Sync for PropertyTargetInterpolator
impl Unpin for PropertyTargetInterpolator
impl UnwindSafe for PropertyTargetInterpolator
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)