Struct hexasphere::shapes::CubeBase
source · pub struct CubeBase;
Expand description
Implements a cube as the base shape.
- 8 vertices
- 12 faces (2 triangles per face makes 12 technically)
- 18 edges
This is a cube where half the diagonal is 1.0. This is to enable this to be used in making a sphere.
Trait Implementations§
source§impl BaseShape for CubeBase
impl BaseShape for CubeBase
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 = 18usize
const EDGES: usize = 18usize
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 moreimpl Copy for CubeBase
Auto Trait Implementations§
impl RefUnwindSafe for CubeBase
impl Send for CubeBase
impl Sync for CubeBase
impl Unpin for CubeBase
impl UnwindSafe for CubeBase
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