Struct mgf::Mesh
[−]
[src]
pub struct Mesh { pub x: Vector3<f32>, pub verts: Vec<Point3<f32>>, pub faces: Vec<(usize, usize, usize)>, pub bvh: BVH<AABB, usize>, }
A triangle mesh is a set of triangles that forms some sort of mesh. There are no requirements on the convexivity of the mesh.
Fields
x: Vector3<f32>
verts: Vec<Point3<f32>>
faces: Vec<(usize, usize, usize)>
bvh: BVH<AABB, usize>
Methods
impl Mesh
[src]
pub fn new() -> Self
[src]
pub fn with_capacity(cap_verts: usize, cap_faces: usize) -> Self
[src]
pub fn push_vert(&mut self, p: Point3<f32>) -> usize
[src]
pub fn push_face(&mut self, f: (usize, usize, usize)) -> usize
[src]
Trait Implementations
impl Clone for Mesh
[src]
fn clone(&self) -> Mesh
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl AddAssign<Vector3<f32>> for Mesh
[src]
fn add_assign(&mut self, v: Vector3<f32>)
[src]
Performs the +=
operation.
impl SubAssign<Vector3<f32>> for Mesh
[src]
fn sub_assign(&mut self, v: Vector3<f32>)
[src]
Performs the -=
operation.
impl Shape for Mesh
[src]
fn center(&self) -> Point3<f32>
[src]
Returns the center of mass of the geometry, assuming a regular density.
fn closest_point(&self, _to: Point3<f32>) -> Point3<f32>
[src]
Returns the closest point on the shape to the given point.
fn set_pos(&mut self, p: Point3<f32>)
[src]
Sets the center of the shape to p.
impl Volumetric for Mesh
[src]
Rotating meshes is not a fast operation.
fn rotate<R: Rotation3<f32>>(self, rot: R) -> Mesh
[src]
Rotate the bound in place. This is useless for spheres.
fn rotate_about<R: Rotation3<f32>>(self, r: R, p: Point3<f32>) -> Self
[src]
Rotates the object around a point.
impl<RHS> Contacts<RHS> for Mesh where
RHS: Contacts<Triangle> + Contacts<Rectangle> + BoundedBy<AABB>,
[src]
RHS: Contacts<Triangle> + Contacts<Rectangle> + BoundedBy<AABB>,