Expand description
Fast Direct Parsing Module
Provides zero-allocation parsing for coordinate lists and index arrays. This bypasses the Token/AttributeValue pipeline for massive speedups on tessellation-heavy IFC files.
Performance: 3-5x faster than standard path for IfcTriangulatedFaceSet
Structs§
- Fast
Mesh Data - Mesh data for fast path processing (avoiding full Mesh struct dependency)
Functions§
- extract_
coordinate_ list_ from_ entity - Parse a whole point-list record’s
CoordList(attribute 0), found by depth, not by the last)): an IFC4X3TagListafter it ends in))and its digits became phantom vertices (core review behind #4577, finding 6).Nonewhen attribute 0 is not a list or the list is refused as corrupt (#5266). - extract_
coordinate_ list_ from_ entity_ f64 extract_coordinate_list_from_entityat f64 precision. A caller that rebases national-grid coordinates must subtract its offset from these values: narrowing first can merge vertices that differ by less than one f32 ULP (0.25 m at 2,600 km) before the offset is removed (#5698).- extract_
entity_ refs_ from_ list - Extract entity IDs from a list attribute without full parsing
- extract_
entity_ type_ name - Extract entity type name from raw bytes
- extract_
face_ indices_ from_ entity - Parse face indices from IfcTriangulatedFaceSet entity
- extract_
first_ entity_ ref - Extract the first entity reference from an entity’s first attribute
- parse_
coordinates_ direct - Parse coordinate list directly from raw bytes to
Vec<f32> - parse_
coordinates_ direct_ f64 - Parse coordinate list directly from raw bytes to
Vec<f64> - parse_
indices_ direct - Parse index list directly from raw bytes to
Vec<u32> - process_
triangulated_ faceset_ direct - Process IfcTriangulatedFaceSet directly from raw bytes
- should_
use_ fast_ path - Fast path checker - determines if entity type benefits from direct parsing