pub struct IndexedTextureMap<'m, 's> { /* private fields */ }Expand description
Borrowed projection of an indexed texture map (IfcIndexedTriangleTextureMap
or IfcIndexedPolygonalTextureMap): binds a texture to a tessellated
face set via per-vertex texture-coordinate indices.
Implementations§
Source§impl<'m, 's> IndexedTextureMap<'m, 's>
impl<'m, 's> IndexedTextureMap<'m, 's>
Sourcepub fn maps(&self) -> StyleResult<Vec<EntityId>>
pub fn maps(&self) -> StyleResult<Vec<EntityId>>
The Maps attribute: the textures this map applies. Mandatory.
LIST [1:?] OF IfcSurfaceTexture in both IFC4 and IFC4X3. It is a
list even when, as is usual, it holds a single texture.
Sourcepub fn mapped_to(&self) -> StyleResult<EntityId>
pub fn mapped_to(&self) -> StyleResult<EntityId>
The MappedTo attribute: the tessellated face set this map applies to. Mandatory.
Sourcepub fn tex_coord_index(&self) -> StyleResult<Option<&'m Value>>
pub fn tex_coord_index(&self) -> StyleResult<Option<&'m Value>>
The TexCoordIndex attribute: per-face indices into TexCoords, when authored.
Sourcepub fn tex_coords(&self) -> StyleResult<EntityId>
pub fn tex_coords(&self) -> StyleResult<EntityId>
The TexCoords attribute: the indexed texture-vertex list. Mandatory.
Sourcepub fn triangle_coordinates(
&self,
triangle_count: usize,
) -> StyleResult<Option<TriangleTextureCoordinates>>
pub fn triangle_coordinates( &self, triangle_count: usize, ) -> StyleResult<Option<TriangleTextureCoordinates>>
Per-corner texture coordinates for an IfcIndexedTriangleTextureMap.
triangle_count is the CoordIndex length of the mapped face set.
Returns Ok(None) for the polygonal variant, which indexes through
IfcTextureCoordinateIndices instead, and when TexCoordIndex is
omitted, whose meaning the schema leaves undefined.
§Errors
A malformed TexCoordsList, a TexCoordIndex entry that addresses a
missing texture vertex, or more mapped triangles than the face set has.