1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use gltf_derive::Validate;
use serde_derive::{Serialize, Deserialize};
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
pub struct Root {
#[cfg(feature = "KHR_lights_punctual")]
#[serde(default, rename = "KHR_lights_punctual", skip_serializing_if = "Option::is_none")]
pub khr_lights_punctual: Option<KhrLightsPunctual>,
}
#[cfg(feature = "KHR_lights_punctual")]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
pub struct KhrLightsPunctual {
pub lights: Vec<crate::extensions::scene::khr_lights_punctual::Light>,
}
#[cfg(feature = "KHR_lights_punctual")]
impl crate::root::Get<crate::extensions::scene::khr_lights_punctual::Light> for crate::Root {
fn get(&self, id: crate::Index<crate::extensions::scene::khr_lights_punctual::Light>)
-> Option<&crate::extensions::scene::khr_lights_punctual::Light>
{
if let Some(extensions) = self.extensions.as_ref() {
if let Some(khr_lights_punctual) = extensions.khr_lights_punctual.as_ref() {
khr_lights_punctual.lights.get(id.value())
} else {
None
}
} else {
None
}
}
}