pub struct MaterialObject {
pub name: String,
pub ambient_intensity: Option<f64>,
pub diffuse_color: Option<Color>,
pub emissive_color: Option<Color>,
pub specular_color: Option<Color>,
pub shininess: Option<f64>,
pub transparency: Option<f64>,
pub is_smooth: Option<bool>,
}Expand description
One entry of the document-level appearance.materials palette, referred to
by index from a MaterialReference.
appearance.schema.json#/Material, in full:
"Material": {
"type": "object",
"properties": {
"name": {"type": "string"},
"ambientIntensity": {"type": "number"},
"diffuseColor": {"type": "array", "items": {"type": "number"}, "minItems": 3, "maxItems": 3},
"emissiveColor": {"type": "array", "items": {"type": "number"}, "minItems": 3, "maxItems": 3},
"specularColor": {"type": "array", "items": {"type": "number"}, "minItems": 3, "maxItems": 3},
"shininess": {"type": "number"},
"transparency": {"type": "number"},
"isSmooth": {"type": "boolean"}
},
"required": ["name"],
"additionalProperties": false
}So name is a plain String and everything else an Option, and there is
no #[serde(flatten)] other catch-all: additionalProperties: false means
an unnamed member is not CityJSON at all. deny_unknown_fields says so out
loud rather than dropping it, which matters because dropping is silent data
loss and, for the all-optional TextureObject below, an object of
nothing but mis-spelled members would otherwise parse as an empty one.
Fields§
§name: StringThe schema’s one required member.
ambient_intensity: Option<f64>§diffuse_color: Option<Color>§emissive_color: Option<Color>§specular_color: Option<Color>§shininess: Option<f64>§transparency: Option<f64>§is_smooth: Option<bool>Trait Implementations§
Source§impl Clone for MaterialObject
impl Clone for MaterialObject
Source§fn clone(&self) -> MaterialObject
fn clone(&self) -> MaterialObject
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MaterialObject
impl Debug for MaterialObject
Source§impl<'de> Deserialize<'de> for MaterialObject
impl<'de> Deserialize<'de> for MaterialObject
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for MaterialObject
impl PartialEq for MaterialObject
Source§impl Serialize for MaterialObject
impl Serialize for MaterialObject
impl StructuralPartialEq for MaterialObject
Auto Trait Implementations§
impl Freeze for MaterialObject
impl RefUnwindSafe for MaterialObject
impl Send for MaterialObject
impl Sync for MaterialObject
impl Unpin for MaterialObject
impl UnsafeUnpin for MaterialObject
impl UnwindSafe for MaterialObject
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
Mutably borrows from an owned value. Read more