Struct hexasphere::shapes::NormIcoSphereBase
source · pub struct NormIcoSphereBase;
Expand description
Implements the same shape as IcoSphereBase
, however
it uses normalized linear interpolation, rather than
geometric spherical linear interpolation. (nlerp
over slerp
).
Trait Implementations§
source§impl BaseShape for NormIcoSphereBase
impl BaseShape for NormIcoSphereBase
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 NormIcoSphereBase
impl Clone for NormIcoSphereBase
source§fn clone(&self) -> NormIcoSphereBase
fn clone(&self) -> NormIcoSphereBase
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 NormIcoSphereBase
impl Debug for NormIcoSphereBase
source§impl Default for NormIcoSphereBase
impl Default for NormIcoSphereBase
source§fn default() -> NormIcoSphereBase
fn default() -> NormIcoSphereBase
Returns the “default value” for a type. Read more
source§impl EquilateralBaseShape for NormIcoSphereBase
impl EquilateralBaseShape for NormIcoSphereBase
source§fn triangle_normals() -> &'static [Vec3A]
fn triangle_normals() -> &'static [Vec3A]
Normals for each of the triangles provided by
BaseShape::triangles
.source§fn triangle_min_dot() -> f32
fn triangle_min_dot() -> f32
Minimum value for the dot product which one could use
to determine that triangle being the closest. Read more