pub struct Vector3D {
pub x: f64,
pub y: f64,
pub z: f64,
}Expand description
3D vector with double-precision components.
Fields§
§x: f64§y: f64§z: f64Implementations§
Source§impl Vector3D
impl Vector3D
pub const fn new(x: f64, y: f64, z: f64) -> Self
Sourcepub fn dot(vector1: Vector3D, vector2: Vector3D) -> f64
pub fn dot(vector1: Vector3D, vector2: Vector3D) -> f64
Calculates the dot product of two vectors.
Sourcepub fn substract(left: Vector3D, right: Vector3D) -> Vector3D
pub fn substract(left: Vector3D, right: Vector3D) -> Vector3D
Subtracts the second from the first vector.
Sourcepub fn multiply(left: Vector3D, right: Vector3D) -> Vector3D
pub fn multiply(left: Vector3D, right: Vector3D) -> Vector3D
Multiplies the first vector by the second, component-wise.
Sourcepub fn multiply_scalar(left: Vector3D, right: f64) -> Vector3D
pub fn multiply_scalar(left: Vector3D, right: f64) -> Vector3D
Multiplies the vector by the given scalar.
Sourcepub fn divide(left: Vector3D, right: Vector3D) -> Vector3D
pub fn divide(left: Vector3D, right: Vector3D) -> Vector3D
Divides the first vector by the second, component-wise.
Sourcepub fn divide_scalar(left: Vector3D, right: f64) -> Vector3D
pub fn divide_scalar(left: Vector3D, right: f64) -> Vector3D
Divides the vector by the given scalar.
Sourcepub fn abs(&self) -> Vector3D
pub fn abs(&self) -> Vector3D
Returns a vector whose elements are the absolute values of each of the specified vector’s elements.
Sourcepub fn clamp(value: Vector3D, min: Vector3D, max: Vector3D) -> Vector3D
pub fn clamp(value: Vector3D, min: Vector3D, max: Vector3D) -> Vector3D
Restricts a vector between a minimum and a maximum value.
Sourcepub fn max(left: Vector3D, right: Vector3D) -> Vector3D
pub fn max(left: Vector3D, right: Vector3D) -> Vector3D
Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
Sourcepub fn min(left: Vector3D, right: Vector3D) -> Vector3D
pub fn min(left: Vector3D, right: Vector3D) -> Vector3D
Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
Sourcepub fn distance_squared(value1: Vector3D, value2: Vector3D) -> f64
pub fn distance_squared(value1: Vector3D, value2: Vector3D) -> f64
Computes the squared Euclidean distance between the two given points.
Sourcepub fn distance(value1: Vector3D, value2: Vector3D) -> f64
pub fn distance(value1: Vector3D, value2: Vector3D) -> f64
Computes the Euclidean distance between the two given points.
Sourcepub const fn deconstruct(&self) -> (f64, f64, f64)
pub const fn deconstruct(&self) -> (f64, f64, f64)
Deconstructs the vector into its components.
Trait Implementations§
Source§impl AddAssign for Vector3D
impl AddAssign for Vector3D
Source§fn add_assign(&mut self, right: Vector3D)
fn add_assign(&mut self, right: Vector3D)
+= operation. Read moreSource§impl BatchValue for Vector3D
impl BatchValue for Vector3D
impl Copy for Vector3D
Source§impl ExpressionVariantValue for Vector3D
impl ExpressionVariantValue for Vector3D
Source§const FFI_VARIANT_TYPE: Option<VariantType>
const FFI_VARIANT_TYPE: Option<VariantType>
None when the type cannot be a foreign function parameter.Source§fn try_from_variant(v: &ExpressionVariant) -> Option<Self>
fn try_from_variant(v: &ExpressionVariant) -> Option<Self>
Source§fn into_variant(self) -> ExpressionVariant
fn into_variant(self) -> 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 IInterpolator<Vector3D> for Vector3DInterpolator
impl IInterpolator<Vector3D> for Vector3DInterpolator
Source§impl MarkupTyped for Vector3D
impl MarkupTyped for Vector3D
Source§const MARKUP: &'static MarkupType
const MARKUP: &'static MarkupType
Source§impl MulAssign<f64> for Vector3D
impl MulAssign<f64> for Vector3D
Source§fn mul_assign(&mut self, right: f64)
fn mul_assign(&mut self, right: f64)
*= operation. Read moreSource§impl ServerPropertyValue for Vector3D
impl ServerPropertyValue for Vector3D
impl StructuralPartialEq for Vector3D
Auto Trait Implementations§
impl Freeze for Vector3D
impl RefUnwindSafe for Vector3D
impl Send for Vector3D
impl Sync for Vector3D
impl Unpin for Vector3D
impl UnsafeUnpin for Vector3D
impl UnwindSafe for Vector3D
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