pub enum ExpressionVariant {
Show 16 variants
Invalid,
Boolean(bool),
Double(f64),
Vector2(Vector2),
Vector3(Vector3),
Vector4(Vector4),
Vector(Vector),
Vector3D(Vector3D),
FerroMatrix(Matrix),
Matrix3x2(Matrix3x2),
Matrix4x4(Matrix4x4),
Quaternion(Quaternion),
Color(Color),
RelativePoint(RelativePoint),
RelativeScalar(RelativeScalar),
RelativeUnit(RelativeUnit),
}Expand description
A VARIANT type used in expression animations. Can represent multiple value types.
Every operation that is not defined for its operand types gives
ExpressionVariant::Invalid rather than failing.
Variants§
Invalid
Boolean(bool)
Double(f64)
Vector2(Vector2)
Vector3(Vector3)
Vector4(Vector4)
Vector(Vector)
Vector3D(Vector3D)
FerroMatrix(Matrix)
Matrix3x2(Matrix3x2)
Matrix4x4(Matrix4x4)
Quaternion(Quaternion)
Color(Color)
RelativePoint(RelativePoint)
RelativeScalar(RelativeScalar)
RelativeUnit(RelativeUnit)
Implementations§
Source§impl ExpressionVariant
impl ExpressionVariant
Sourcepub fn variant_type(&self) -> VariantType
pub fn variant_type(&self) -> VariantType
The type of the held value.
Sourcepub fn get_property(&self, property: &str) -> ExpressionVariant
pub fn get_property(&self, property: &str) -> ExpressionVariant
Gets a member (a component or a swizzle) of the held value. Member
names are case-sensitive; an unknown member gives Invalid.
Sourcepub fn equals_to(&self, right: ExpressionVariant) -> ExpressionVariant
pub fn equals_to(&self, right: ExpressionVariant) -> ExpressionVariant
The == operator of expressions: a Boolean for two values of the
same comparable type, Invalid otherwise.
Sourcepub fn not_equals_to(&self, right: ExpressionVariant) -> ExpressionVariant
pub fn not_equals_to(&self, right: ExpressionVariant) -> ExpressionVariant
The != operator of expressions.
Sourcepub fn less_than(&self, right: ExpressionVariant) -> ExpressionVariant
pub fn less_than(&self, right: ExpressionVariant) -> ExpressionVariant
The < operator of expressions.
Sourcepub fn more_than(&self, right: ExpressionVariant) -> ExpressionVariant
pub fn more_than(&self, right: ExpressionVariant) -> ExpressionVariant
The > operator of expressions.
Sourcepub fn and(&self, right: ExpressionVariant) -> ExpressionVariant
pub fn and(&self, right: ExpressionVariant) -> ExpressionVariant
The && operator of expressions.
Sourcepub fn or(&self, right: ExpressionVariant) -> ExpressionVariant
pub fn or(&self, right: ExpressionVariant) -> ExpressionVariant
The || operator of expressions.
Sourcepub fn try_cast<T: ExpressionVariantValue>(&self) -> Option<T>
pub fn try_cast<T: ExpressionVariantValue>(&self) -> Option<T>
Converts the held value to T, or None when the variant does not
hold a value convertible to T.
Sourcepub fn create<T: ExpressionVariantValue>(v: T) -> ExpressionVariant
pub fn create<T: ExpressionVariantValue>(v: T) -> ExpressionVariant
Creates a variant from a value.
Sourcepub fn cast_or_default<T: ExpressionVariantValue>(&self) -> T
pub fn cast_or_default<T: ExpressionVariantValue>(&self) -> T
Converts the held value to T, or gives the default value of T.
Trait Implementations§
Source§impl Add for ExpressionVariant
impl Add for ExpressionVariant
Source§type Output = ExpressionVariant
type Output = ExpressionVariant
+ operator.Source§fn add(self, right: ExpressionVariant) -> ExpressionVariant
fn add(self, right: ExpressionVariant) -> ExpressionVariant
+ operation. Read moreSource§impl Clone for ExpressionVariant
impl Clone for ExpressionVariant
impl Copy for ExpressionVariant
Source§impl Debug for ExpressionVariant
impl Debug for ExpressionVariant
Source§impl Default for ExpressionVariant
impl Default for ExpressionVariant
Source§impl Display for ExpressionVariant
impl Display for ExpressionVariant
Source§impl Div for ExpressionVariant
impl Div for ExpressionVariant
Source§type Output = ExpressionVariant
type Output = ExpressionVariant
/ operator.Source§fn div(self, right: ExpressionVariant) -> ExpressionVariant
fn div(self, right: ExpressionVariant) -> ExpressionVariant
/ operation. Read moreSource§impl From<Color> for ExpressionVariant
impl From<Color> for ExpressionVariant
Source§fn from(value: Color) -> ExpressionVariant
fn from(value: Color) -> ExpressionVariant
Source§impl From<ExpressionVariant> for PropertySetSnapshotValue
impl From<ExpressionVariant> for PropertySetSnapshotValue
Source§fn from(v: ExpressionVariant) -> Self
fn from(v: ExpressionVariant) -> Self
Source§impl From<Matrix3x2> for ExpressionVariant
impl From<Matrix3x2> for ExpressionVariant
Source§fn from(value: Matrix3x2) -> ExpressionVariant
fn from(value: Matrix3x2) -> ExpressionVariant
Source§impl From<Matrix4x4> for ExpressionVariant
impl From<Matrix4x4> for ExpressionVariant
Source§fn from(value: Matrix4x4) -> ExpressionVariant
fn from(value: Matrix4x4) -> ExpressionVariant
Source§impl From<Matrix> for ExpressionVariant
impl From<Matrix> for ExpressionVariant
Source§fn from(value: Matrix) -> ExpressionVariant
fn from(value: Matrix) -> ExpressionVariant
Source§impl From<Quaternion> for ExpressionVariant
impl From<Quaternion> for ExpressionVariant
Source§fn from(value: Quaternion) -> ExpressionVariant
fn from(value: Quaternion) -> ExpressionVariant
Source§impl From<RelativePoint> for ExpressionVariant
impl From<RelativePoint> for ExpressionVariant
Source§fn from(value: RelativePoint) -> ExpressionVariant
fn from(value: RelativePoint) -> ExpressionVariant
Source§impl From<RelativeScalar> for ExpressionVariant
impl From<RelativeScalar> for ExpressionVariant
Source§fn from(value: RelativeScalar) -> ExpressionVariant
fn from(value: RelativeScalar) -> ExpressionVariant
Source§impl From<RelativeUnit> for ExpressionVariant
impl From<RelativeUnit> for ExpressionVariant
Source§fn from(value: RelativeUnit) -> ExpressionVariant
fn from(value: RelativeUnit) -> ExpressionVariant
Source§impl From<Vector2> for ExpressionVariant
impl From<Vector2> for ExpressionVariant
Source§fn from(value: Vector2) -> ExpressionVariant
fn from(value: Vector2) -> ExpressionVariant
Source§impl From<Vector3> for ExpressionVariant
impl From<Vector3> for ExpressionVariant
Source§fn from(value: Vector3) -> ExpressionVariant
fn from(value: Vector3) -> ExpressionVariant
Source§impl From<Vector3D> for ExpressionVariant
impl From<Vector3D> for ExpressionVariant
Source§fn from(value: Vector3D) -> ExpressionVariant
fn from(value: Vector3D) -> ExpressionVariant
Source§impl From<Vector4> for ExpressionVariant
impl From<Vector4> for ExpressionVariant
Source§fn from(value: Vector4) -> ExpressionVariant
fn from(value: Vector4) -> ExpressionVariant
Source§impl From<Vector> for ExpressionVariant
impl From<Vector> for ExpressionVariant
Source§fn from(value: Vector) -> ExpressionVariant
fn from(value: Vector) -> ExpressionVariant
Source§impl From<bool> for ExpressionVariant
impl From<bool> for ExpressionVariant
Source§fn from(value: bool) -> ExpressionVariant
fn from(value: bool) -> ExpressionVariant
Source§impl From<f32> for ExpressionVariant
A single-precision scalar is stored as a Double.
impl From<f32> for ExpressionVariant
A single-precision scalar is stored as a Double.
Source§fn from(value: f32) -> ExpressionVariant
fn from(value: f32) -> ExpressionVariant
Source§impl From<f64> for ExpressionVariant
impl From<f64> for ExpressionVariant
Source§fn from(value: f64) -> ExpressionVariant
fn from(value: f64) -> ExpressionVariant
Source§impl Mul for ExpressionVariant
impl Mul for ExpressionVariant
Source§type Output = ExpressionVariant
type Output = ExpressionVariant
* operator.Source§fn mul(self, right: ExpressionVariant) -> ExpressionVariant
fn mul(self, right: ExpressionVariant) -> ExpressionVariant
* operation. Read moreSource§impl Neg for ExpressionVariant
impl Neg for ExpressionVariant
Source§type Output = ExpressionVariant
type Output = ExpressionVariant
- operator.Source§fn neg(self) -> ExpressionVariant
fn neg(self) -> ExpressionVariant
- operation. Read moreSource§impl Not for ExpressionVariant
impl Not for ExpressionVariant
Source§type Output = ExpressionVariant
type Output = ExpressionVariant
! operator.Source§fn not(self) -> ExpressionVariant
fn not(self) -> ExpressionVariant
! operation. Read moreSource§impl PartialEq for ExpressionVariant
impl PartialEq for ExpressionVariant
Source§impl Rem for ExpressionVariant
impl Rem for ExpressionVariant
Source§type Output = ExpressionVariant
type Output = ExpressionVariant
% operator.Source§fn rem(self, right: ExpressionVariant) -> ExpressionVariant
fn rem(self, right: ExpressionVariant) -> ExpressionVariant
% operation. Read moreimpl StructuralPartialEq for ExpressionVariant
Source§impl Sub for ExpressionVariant
impl Sub for ExpressionVariant
Source§type Output = ExpressionVariant
type Output = ExpressionVariant
- operator.Source§fn sub(self, right: ExpressionVariant) -> ExpressionVariant
fn sub(self, right: ExpressionVariant) -> ExpressionVariant
- operation. Read moreAuto Trait Implementations§
impl Freeze for ExpressionVariant
impl RefUnwindSafe for ExpressionVariant
impl Send for ExpressionVariant
impl Sync for ExpressionVariant
impl Unpin for ExpressionVariant
impl UnsafeUnpin for ExpressionVariant
impl UnwindSafe for ExpressionVariant
Blanket Implementations§
Source§impl<T> AnyValue for Twhere
T: PartialEq + 'static,
impl<T> AnyValue for Twhere
T: PartialEq + 'static,
fn any_value_as_any(&self) -> &(dyn Any + 'static)
fn any_value_eq(&self, other: &(dyn AnyValue + 'static)) -> bool
fn any_value_type_name(&self) -> &'static str
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> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
fn static_constructor()
affects_render, metadata
overrides). Read more