pub struct Solid { /* private fields */ }Expand description
A 3-dimensional shape
Implementation Note
The faces that make up the solid must form a closed shape. This is not currently validated.
Implementations
sourceimpl Solid
impl Solid
sourcepub fn from_faces(faces: impl IntoIterator<Item = Face>) -> Self
pub fn from_faces(faces: impl IntoIterator<Item = Face>) -> Self
Construct a solid from faces
sourcepub fn cube_from_edge_length(edge_length: impl Into<Scalar>) -> Self
pub fn cube_from_edge_length(edge_length: impl Into<Scalar>) -> Self
Create a cube from the length of its edges
sourcepub fn into_faces(self) -> BTreeSet<Face>
pub fn into_faces(self) -> BTreeSet<Face>
Convert the solid into a list of faces
Trait Implementations
sourceimpl ObjectIters for Solid
impl ObjectIters for Solid
sourcefn curve_iter(&self) -> Iter<Curve<3>>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn curve_iter(&self) -> Iter<Curve<3>>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all curves
sourcefn cycle_iter(&self) -> Iter<Cycle>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn cycle_iter(&self) -> Iter<Cycle>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all cycles
sourcefn edge_iter(&self) -> Iter<Edge>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn edge_iter(&self) -> Iter<Edge>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all edges
sourcefn face_iter(&self) -> Iter<Face>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn face_iter(&self) -> Iter<Face>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all faces
sourcefn global_vertex_iter(&self) -> Iter<GlobalVertex>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn global_vertex_iter(&self) -> Iter<GlobalVertex>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all global vertices
sourcefn sketch_iter(&self) -> Iter<Sketch>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn sketch_iter(&self) -> Iter<Sketch>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all sketches
sourcefn solid_iter(&self) -> Iter<Solid>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
fn solid_iter(&self) -> Iter<Solid>ⓘNotable traits for Iter<T>impl<T> Iterator for Iter<T> type Item = T;
Iterate over all solids
sourceimpl Ord for Solid
impl Ord for Solid
sourceimpl PartialOrd<Solid> for Solid
impl PartialOrd<Solid> for Solid
sourcefn partial_cmp(&self, other: &Solid) -> Option<Ordering>
fn partial_cmp(&self, other: &Solid) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl TransformObject for Solid
impl TransformObject for Solid
impl Eq for Solid
impl StructuralEq for Solid
impl StructuralPartialEq for Solid
Auto Trait Implementations
impl RefUnwindSafe for Solid
impl Send for Solid
impl Sync for Solid
impl Unpin for Solid
impl UnwindSafe for Solid
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self from the equivalent element of its
superset. Read more
fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if self is actually part of its subset T (and can be converted to it).
fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset but without any property checks. Always succeeds.
fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self to the equivalent element of its superset.