Skip to main content

GeometryProcessor

Trait GeometryProcessor 

Source
pub trait GeometryProcessor {
    // Required methods
    fn process(
        &self,
        entity: &DecodedEntity,
        decoder: &mut EntityDecoder<'_>,
        schema: &IfcSchema,
        quality: TessellationQuality,
    ) -> Result<Mesh>;
    fn supported_types(&self) -> Vec<IfcType>;
}
Expand description

Geometry processor trait Each processor handles one type of IFC representation

Required Methods§

Source

fn process( &self, entity: &DecodedEntity, decoder: &mut EntityDecoder<'_>, schema: &IfcSchema, quality: TessellationQuality, ) -> Result<Mesh>

Process entity into mesh.

quality selects tessellation detail; processors that approximate curves derive their segment counts from it via crate::tessellation::scale_segments. Processors with no curved geometry ignore it. TessellationQuality::Medium reproduces the engine’s historical hardcoded behavior.

Source

fn supported_types(&self) -> Vec<IfcType>

Get supported IFC types

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§