pub struct FacetedBrepProcessor;Expand description
FacetedBrep processor Handles IfcFacetedBrep - explicit mesh with faces Supports faces with inner bounds (holes) Uses parallel triangulation for large BREPs
Implementations§
Source§impl FacetedBrepProcessor
impl FacetedBrepProcessor
Sourcepub fn process_with_rtc(
&self,
entity: &DecodedEntity,
decoder: &mut EntityDecoder<'_>,
_schema: &IfcSchema,
rtc: (f64, f64, f64),
) -> Result<Mesh>
pub fn process_with_rtc( &self, entity: &DecodedEntity, decoder: &mut EntityDecoder<'_>, _schema: &IfcSchema, rtc: (f64, f64, f64), ) -> Result<Mesh>
Mesh the Brep rebased by rtc (file units) before f32 narrowing; the
same work as GeometryProcessor::process_in_rtc_frame.
Trait Implementations§
Source§impl Default for FacetedBrepProcessor
impl Default for FacetedBrepProcessor
Source§impl GeometryProcessor for FacetedBrepProcessor
impl GeometryProcessor for FacetedBrepProcessor
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 process_in_rtc_frame(
&self,
entity: &DecodedEntity,
decoder: &mut EntityDecoder<'_>,
schema: &IfcSchema,
_quality: TessellationQuality,
rtc_file_units: (f64, f64, f64),
) -> Option<Result<Mesh>>
fn process_in_rtc_frame( &self, entity: &DecodedEntity, decoder: &mut EntityDecoder<'_>, schema: &IfcSchema, _quality: TessellationQuality, rtc_file_units: (f64, f64, f64), ) -> Option<Result<Mesh>>
Process a raw-coordinate item in an element-local RTC frame. Read more
Source§fn supported_types(&self) -> Vec<IfcType>
fn supported_types(&self) -> Vec<IfcType>
Get supported IFC types
Source§fn take_bool_failures(&self) -> Vec<BoolFailure>
fn take_bool_failures(&self) -> Vec<BoolFailure>
Drain the boolean / CSG failures this processor recorded while meshing. Read more
Source§fn bool_failure_count(&self) -> usize
fn bool_failure_count(&self) -> usize
Number of
BoolFailure records currently buffered (without draining).
#4083 (double-count half): lets crate::GeometryRouter::process_representation_item
snapshot a before/after delta around ONE item’s uncached build, so a CSG
diagnostic can be attributed to that item’s item_dedup_key. Default:
0 — matches Self::take_bool_failures’s “most processors record
nothing” default. Overridden by
crate::processors::BooleanClippingProcessor.Source§fn truncate_bool_failures_to(&self, _since: usize)
fn truncate_bool_failures_to(&self, _since: usize)
Discard every
BoolFailure recorded after index since (a prior
Self::bool_failure_count). #4083 (double-count half): the router
calls this when a racing sibling router already claimed this item’s
item_dedup_key for its own diagnostic, so THIS router’s redundant
record of the same logical operation never reaches
Self::take_bool_failures. Default: no-op, matching the 0 default
above (nothing buffered, nothing to discard).Auto Trait Implementations§
impl Freeze for FacetedBrepProcessor
impl RefUnwindSafe for FacetedBrepProcessor
impl Send for FacetedBrepProcessor
impl Sync for FacetedBrepProcessor
impl Unpin for FacetedBrepProcessor
impl UnwindSafe for FacetedBrepProcessor
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
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.