roboticslib/jsonb/
textures.rsuse serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Textures {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub metal: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub normal: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub roughness: Option<String>,
}
impl Textures {
pub fn normalize(&self) -> Textures {
Textures {
id: Option::from(if self.id.is_none() {
Uuid::new_v4()
} else {
self.id.unwrap()
}),
color: self.color.clone(),
metal: self.metal.clone(),
normal: self.normal.clone(),
roughness: self.roughness.clone(),
}
}
}