pub enum TextureValues {
Surface(Vec<TexturedSurface>),
Shell(Vec<TexturedShell>),
Solid(Vec<Vec<TexturedShell>>),
}Expand description
The values array of a TextureReference: nested exactly as deeply as
the geometry’s boundaries (CityJSON 2.0, section 6.2), with each ring
becoming [texture_index, uv_index, ...] — one more entry than the ring
has vertices. An untextured ring is [null].
Only surface-bearing geometries can carry a texture, so the ladder starts
at MultiSurface depth: a MultiPoint or MultiLineString has no rings
to texture, and both declare additionalProperties: false without a
texture member.
Unlike MaterialValues, the intermediate levels are not nullable.
geomprimitives.schema.json types texture.values and every one of its
intermediate items as a plain "array" — only the innermost items are
["integer", "null"] — so [null, [[0, 10, 11]]] is not valid CityJSON
and is rejected here.
The variants are ordered shallowest-first, as in MaterialValues.
Variants§
Surface(Vec<TexturedSurface>)
MultiSurface, CompositeSurface: per surface, per ring.
Shell(Vec<TexturedShell>)
Solid: … per shell.
Solid(Vec<Vec<TexturedShell>>)
MultiSolid, CompositeSolid: … per solid.
Trait Implementations§
Source§impl Clone for TextureValues
impl Clone for TextureValues
Source§fn clone(&self) -> TextureValues
fn clone(&self) -> TextureValues
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more