pub struct AppearanceItem {
pub product_id: u32,
pub geometry_item_id: u32,
pub tex_coords: Vec<[f64; 2]>,
pub tex_coord_index: Vec<[u32; 3]>,
pub source_indices: Vec<u32>,
pub target_indices: Vec<u32>,
pub target_vertex_count: usize,
pub preview_corner_uvs: Vec<f32>,
pub target_corner_normals: Vec<f32>,
}Fields§
§product_id: u32§geometry_item_id: u32§tex_coords: Vec<[f64; 2]>Source IFC bottom-left texture coordinates, before mesher seam expansion.
tex_coord_index: Vec<[u32; 3]>1-based, parallel to source CoordIndex (before winding correction).
source_indices: Vec<u32>Actual final source topology after canonical placement and welding.
target_indices: Vec<u32>Final canonical target topology; becomes provenance after Apply.
target_vertex_count: usizeCanonical target vertex pool size; removed degenerate triangles can leave unused vertices, so the maximum index is not bounded by corner count.
preview_corner_uvs: Vec<f32>UV pairs in triangle-corner order, with GPU V flip. Fragment consumers remap canonical corner slots and expand seams without moving geometry.
target_corner_normals: Vec<f32>Final canonical shading normals in triangle-corner order, converted from IFC Z-up to renderer Y-up as [nx, nz, -ny], matching MeshDataJs. UV-dependent welding may choose a different normal representative.
Trait Implementations§
Source§impl Clone for AppearanceItem
impl Clone for AppearanceItem
Source§fn clone(&self) -> AppearanceItem
fn clone(&self) -> AppearanceItem
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AppearanceItem
impl Debug for AppearanceItem
Auto Trait Implementations§
impl Freeze for AppearanceItem
impl RefUnwindSafe for AppearanceItem
impl Send for AppearanceItem
impl Sync for AppearanceItem
impl Unpin for AppearanceItem
impl UnsafeUnpin for AppearanceItem
impl UnwindSafe for AppearanceItem
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.