Struct hexasphere::shapes::IcoSphereBase
source · 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§fn initial_points(&self) -> Vec<Vec3A>
fn initial_points(&self) -> Vec<Vec3A>
The initial vertices for the triangle. Note that
Vec3A::new
is not a const fn()
, hence I recommend
you use lazy_static
. Check the source file for this
crate and look for the constants module at the bottom
for an example. Read moresource§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 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 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