Skip to main content

IsBuildable3D

Trait IsBuildable3D 

Source
pub trait IsBuildable3D:
    Sized
    + Is3D
    + Eq
    + PartialEq
    + Ord
    + PartialOrd
    + Hash {
    // Required methods
    fn new(x: f64, y: f64, z: f64) -> Self;
    fn from<P>(&mut self, other: &P)
       where P: Is3D;

    // Provided methods
    fn new_from<P>(other: &P) -> Self
       where P: Is3D { ... }
    fn multiply_m(&self, m: &Matrix4) -> Self { ... }
    fn normalized(&self) -> Result<Self> { ... }
    fn zero() -> Self { ... }
    fn parse(text: &str) -> Result<Self> { ... }
    fn center<P>(&self, other: &P) -> Self
       where P: Is3D { ... }
}
Expand description

IsBuildable3D is a trait used for types which are positioned in 3D space and can be constructed

Required Methods§

Source

fn new(x: f64, y: f64, z: f64) -> Self

Should build an object from x, y and z coordinates

Source

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

Should use the coordinates of another as its own

Provided Methods§

Source

fn new_from<P>(other: &P) -> Self
where P: Is3D,

Uses the coordinates of other to create a new

Source

fn multiply_m(&self, m: &Matrix4) -> Self

Applies a matrix to this

Source

fn normalized(&self) -> Result<Self>

Returns this with normalized values

Source

fn zero() -> Self

Returns a new object with 0/0/0 as coordinates

Source

fn parse(text: &str) -> Result<Self>

Creates this from a “x y z” string. E.g. “32.2 14.7 1.90”

Source

fn center<P>(&self, other: &P) -> Self
where P: Is3D,

Returns the center between this and other

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§