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§
Sourcefn 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.
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.
Sourcefn supported_types(&self) -> Vec<IfcType>
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".