Trait IsEditable3D

Source
pub trait IsEditable3D: Is3D + IsEditableND {
    // Required methods
    fn set_x(&mut self, val: f64);
    fn set_y(&mut self, val: f64);
    fn set_z(&mut self, val: f64);

    // Provided methods
    fn set_xyz(&mut self, x: f64, y: f64, z: f64) { ... }
    fn set_xy(&mut self, x: f64, y: f64) { ... }
    fn set_xz(&mut self, x: f64, z: f64) { ... }
    fn set_yz(&mut self, y: f64, z: f64) { ... }
    fn increase_distance_to_by<P>(&mut self, other: &P, factor: Positive)
       where P: Is3D { ... }
    fn add<P>(&mut self, other: &P)
       where P: Is3D { ... }
    fn subtract<P>(&mut self, other: &P)
       where P: Is3D { ... }
    fn scale_pos(&mut self, val: f64) { ... }
}
Expand description

IsEditable3D is a trait used for types which are positioned in 3D space and their position can be changed

Required Methods§

Source

fn set_x(&mut self, val: f64)

Should set the position in x

Source

fn set_y(&mut self, val: f64)

Should set the position in y

Source

fn set_z(&mut self, val: f64)

Should set the position in z

Provided Methods§

Source

fn set_xyz(&mut self, x: f64, y: f64, z: f64)

Sets the position from x, y and z values

Source

fn set_xy(&mut self, x: f64, y: f64)

Updates the position with x and y values

Source

fn set_xz(&mut self, x: f64, z: f64)

Updates the position with x and z values

Source

fn set_yz(&mut self, y: f64, z: f64)

Updates the position with y and z values

Source

fn increase_distance_to_by<P>(&mut self, other: &P, factor: Positive)
where P: Is3D,

Increases distance towards other by factor

Source

fn add<P>(&mut self, other: &P)
where P: Is3D,

Adds the coordinates of other onto this. x = x + other.x …

Source

fn subtract<P>(&mut self, other: &P)
where P: Is3D,

Subtracts the coordinates of other from this. x = x - other.x …

Source

fn scale_pos(&mut self, val: f64)

Scales the coordinates by applying a factor to all of them

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§