pub struct Geometry {Show 14 fields
pub version: u32,
pub volume: f64,
pub centroid: V3,
pub inertia: Sym,
pub area: f64,
pub bounds: [f64; 6],
pub triangles: u64,
pub closed: bool,
pub checked: bool,
pub open_edges: u64,
pub non_manifold_edges: u64,
pub misoriented_edges: u64,
pub degenerate_triangles: u64,
pub inverted_fixed: bool,
}Expand description
The geometry of one mesh, per unit density in model units.
Fields§
§version: u32§volume: f64Enclosed volume (model units³), positive.
centroid: V3Centroid (model units).
inertia: Sym∫ (|r|² E − r rᵀ) dV about the centroid (model units⁵), tensor form.
area: f64Surface area (model units²).
bounds: [f64; 6]Bounding box [min x, min y, min z, max x, max y, max z].
triangles: u64§closed: boolEvery edge shared by exactly two consistently oriented triangles.
false also when the mesh was too large to check.
checked: boolThe edge check ran (at most EDGE_CHECK_LIMIT triangles).
open_edges: u64Edges used by one triangle only (holes).
non_manifold_edges: u64Edges used by three or more triangles.
misoriented_edges: u64Edges whose two triangles run the same way (a flipped triangle).
degenerate_triangles: u64Triangles without area (skipped).
inverted_fixed: boolThe mesh was inside out (negative volume) and was flipped.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Geometry
impl<'de> Deserialize<'de> for Geometry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Geometry
Auto Trait Implementations§
impl Freeze for Geometry
impl RefUnwindSafe for Geometry
impl Send for Geometry
impl Sync for Geometry
impl Unpin for Geometry
impl UnsafeUnpin for Geometry
impl UnwindSafe for Geometry
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreimpl<T> Parallelizable for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
Convert this type into
T, using the provided data to resolve any offsets.