mod3d_gltf/
image.rs

1//a Imports
2#[cfg(feature = "serde")]
3use serde::{Deserialize, Serialize};
4
5use crate::Named;
6use crate::{ImageIndex, ViewIndex};
7
8//a GltfImage
9//tp GltfImage
10#[derive(Debug, Default)]
11#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
12#[cfg_attr(feature = "serde", serde(default))]
13pub struct GltfImage {
14    /// Optional name of the image
15    pub name: String,
16    /// Optional URI
17    pub uri: Option<String>,
18    /// Optional mime type ("image/jpeg" or "image/png")
19    #[cfg_attr(feature = "serde", serde(rename = "mimeType"))]
20    pub mime_type: String,
21    #[cfg_attr(feature = "serde", serde(rename = "bufferView"))]
22    pub buffer_view: ViewIndex,
23}
24
25//ip GltfImage
26impl GltfImage {
27    //ap uri
28    pub fn uri(&self) -> Option<&str> {
29        self.uri.as_deref()
30    }
31
32    //ap buffer_view
33    pub fn buffer_view(&self) -> ViewIndex {
34        self.buffer_view
35    }
36
37    //ap mime_type
38    pub fn mime_type(&self) -> &str {
39        &self.mime_type
40    }
41}
42
43//ip Named for GltfImage
44impl Named for GltfImage {
45    type Index = ImageIndex;
46    fn is_name(&self, name: &str) -> bool {
47        self.name == name
48    }
49}