pub struct IcoSphereBase;
Expand description
Implements an icosahedron as the base shape.
- 12 vertices
- 20 faces
- 30 edges
This shape has the best results for a sphere.
The resulting smaller triangles are close to being equilateral, so if one draws lines from the center of the each triangle to the middle of the each edge then the result will be 12 pentagons and many hexagons.
Trait Implementations§
Source§impl BaseShape for IcoSphereBase
impl BaseShape for IcoSphereBase
Source§const EDGES: usize = 30usize
const EDGES: usize = 30usize
Number of unique edges defined in the contents of
triangles()
. This number is 5 for a square for
example: Read moreSource§fn initial_points(&self) -> Vec<Vec3A>
fn initial_points(&self) -> Vec<Vec3A>
The vertices for all main triangles of the shape.
Check the source file for this
crate and look for the constants module at the bottom
for an example. Read more
Source§fn triangles(&self) -> Box<[Triangle]>
fn triangles(&self) -> Box<[Triangle]>
Main triangles for the shape;
that is, the triangles which exist before subdivision. Read more
Source§fn interpolate(&self, a: Vec3A, b: Vec3A, p: f32) -> Vec3A
fn interpolate(&self, a: Vec3A, b: Vec3A, p: f32) -> Vec3A
Basic function used for interpolation. When
p
is
0.0
, a
is expected. When p
is 1.0
, b
is
expected. There are three options already implemented
in this crate: Read moreSource§impl Clone for IcoSphereBase
impl Clone for IcoSphereBase
Source§fn clone(&self) -> IcoSphereBase
fn clone(&self) -> IcoSphereBase
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for IcoSphereBase
impl Debug for IcoSphereBase
Source§impl Default for IcoSphereBase
impl Default for IcoSphereBase
Source§fn default() -> IcoSphereBase
fn default() -> IcoSphereBase
Returns the “default value” for a type. Read more
impl Copy for IcoSphereBase
Auto Trait Implementations§
impl Freeze for IcoSphereBase
impl RefUnwindSafe for IcoSphereBase
impl Send for IcoSphereBase
impl Sync for IcoSphereBase
impl Unpin for IcoSphereBase
impl UnwindSafe for IcoSphereBase
Blanket Implementations§
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
Mutably borrows from an owned value. Read more