pub struct InstanceRecord {
pub express_id: u32,
pub ifc_type: String,
pub global_id: Option<String>,
pub name: Option<String>,
pub presentation_layer: Option<String>,
pub color: [f32; 4],
pub template_express_id: u32,
pub rep_identity: u128,
pub transform: [f32; 16],
}Expand description
#1623 Phase 2: one resolved occurrence of a shared template geometry, emitted in
crate::ProcessingResult::instances instead of a full materialized mesh when
StreamingOptions.enable_instancing is set. The consumer uploads the template
MeshData (template_express_id, still in meshes) once and draws this occurrence
by applying transform to the template’s baked world geometry. Purely in-memory,
like MeshData::instance — recomputed fresh each load, never round-trips a cache.
Fields§
§express_id: u32This occurrence’s IFC element id.
ifc_type: StringIFC type name (e.g. “IfcFlowFitting”).
global_id: Option<String>IFC GlobalId when available.
name: Option<String>IFC Name when available.
presentation_layer: Option<String>IFC presentation layer assignment name when available.
color: [f32; 4]This occurrence’s RGBA colour (may differ from the template occurrence’s).
template_express_id: u32express_id of the template MeshData this occurrence instantiates — the
consumer’s link from record to the geometry it draws (JS-safe u32).
rep_identity: u128Representation-identity of the shared geometry (IfcRepresentationMap id).
transform: [f32; 16]Row-major, TEMPLATE-RELATIVE mat4: applied to the template’s baked world
geometry (template.origin + positions) it yields this occurrence’s world
geometry (rel_k = post_rtc(M_k) · post_rtc(M_ref)⁻¹).
Trait Implementations§
Source§impl Clone for InstanceRecord
impl Clone for InstanceRecord
Source§fn clone(&self) -> InstanceRecord
fn clone(&self) -> InstanceRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for InstanceRecord
impl RefUnwindSafe for InstanceRecord
impl Send for InstanceRecord
impl Sync for InstanceRecord
impl Unpin for InstanceRecord
impl UnsafeUnpin for InstanceRecord
impl UnwindSafe for InstanceRecord
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
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> ⓘ
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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.