pub struct TriangulatedFaceSetProcessor;Expand description
TriangulatedFaceSet processor (P0) Handles IfcTriangulatedFaceSet - explicit triangle meshes
Implementations§
Source§impl TriangulatedFaceSetProcessor
impl TriangulatedFaceSetProcessor
pub fn new() -> Self
Sourcepub fn process_with_texture(
&self,
entity: &DecodedEntity,
decoder: &mut EntityDecoder<'_>,
map: &ResolvedTextureMap,
) -> Result<(Mesh, Vec<f32>)>
pub fn process_with_texture( &self, entity: &DecodedEntity, decoder: &mut EntityDecoder<'_>, map: &ResolvedTextureMap, ) -> Result<(Mesh, Vec<f32>)>
Tessellate a textured IfcTriangulatedFaceSet (#961): builds the same
flat-shaded mesh as [process] plus a per-vertex UV array aligned 1:1
with the emitted vertices. map.tex_coord_index is parallel to the
original CoordIndex; the same whole-shell winding flip is applied to it
so corners stay aligned after orientation.
Trait Implementations§
Source§impl GeometryProcessor for TriangulatedFaceSetProcessor
impl GeometryProcessor for TriangulatedFaceSetProcessor
Source§fn process(
&self,
entity: &DecodedEntity,
decoder: &mut EntityDecoder<'_>,
_schema: &IfcSchema,
_quality: TessellationQuality,
) -> Result<Mesh>
fn process( &self, entity: &DecodedEntity, decoder: &mut EntityDecoder<'_>, _schema: &IfcSchema, _quality: TessellationQuality, ) -> Result<Mesh>
Process entity into mesh. Read more
Source§fn supported_types(&self) -> Vec<IfcType>
fn supported_types(&self) -> Vec<IfcType>
Get supported IFC types
Auto Trait Implementations§
impl Freeze for TriangulatedFaceSetProcessor
impl RefUnwindSafe for TriangulatedFaceSetProcessor
impl Send for TriangulatedFaceSetProcessor
impl Sync for TriangulatedFaceSetProcessor
impl Unpin for TriangulatedFaceSetProcessor
impl UnsafeUnpin for TriangulatedFaceSetProcessor
impl UnwindSafe for TriangulatedFaceSetProcessor
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
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§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 moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.