Mesh

Struct Mesh 

Source
pub struct Mesh {
    pub rotation: Vector3,
    pub position: Vector3,
    pub scale: Vector3,
    pub char: char,
    /* private fields */
}
Expand description

A struct containing all the data for a mesh. Rotation, as with everything in this crate, is in radians, with each value determining the amount that the mesh should be rotated around the given axis. Note that vertices are stored on a hashmap, not a vector.

Fields§

§rotation: Vector3§position: Vector3§scale: Vector3§char: char

Implementations§

Source§

impl Mesh

Source

pub fn insert_vertex( &mut self, index: usize, vertex: Vector3, ) -> Option<Vector3>

Source

pub fn get_vertex(&mut self, index: usize) -> Option<Vector3>

Source

pub fn insert_vertices( &mut self, vertices: Vec<(usize, Vector3)>, ) -> Vec<(usize, Option<Vector3>)>

Source

pub fn remove_vertex(&mut self, index: usize) -> Option<Vector3>

Source

pub fn get_verticies(&self) -> &HashMap<usize, Vector3>

Source

pub fn get_verticies_mut(&mut self) -> &mut HashMap<usize, Vector3>

Source

pub fn add_edge(&mut self, edge: (usize, usize))

Source

pub fn add_edges(&mut self, edges: Vec<(usize, usize)>)

Source

pub fn remove_edge(&mut self, edge: (usize, usize)) -> Option<(usize, usize)>

Source

pub fn get_edges(&self) -> &Vec<(usize, usize)>

Source

pub fn get_edges_mut(&mut self) -> &mut Vec<(usize, usize)>

Source

pub fn get_global_verticies(&self) -> HashMap<usize, Vector3>

Source

pub fn recenter(&mut self) -> Vector3

Gets the average position of all the vertices and centers the mesh to be centered around that point. Good for meshes you want to rotate. returns the global coords to where the mesh was previously centered. If the mesh’s position is set to this, then the mesh will go back to it’s previous position, only now it’s center is appropriatly placed so rotation won’t look broken. EX:

let new_position = my_mesh.recenter();
my_mesh.position = new_position;

Trait Implementations§

Source§

impl Clone for Mesh

Source§

fn clone(&self) -> Mesh

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Mesh

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Mesh

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Mesh

§

impl RefUnwindSafe for Mesh

§

impl Send for Mesh

§

impl Sync for Mesh

§

impl Unpin for Mesh

§

impl UnwindSafe for Mesh

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.