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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
#[derive(
    Debug,
    Clone,
    PartialEq,
    Eq,
    PartialOrd,
    Ord,
    Hash,
    :: serde :: Serialize,
    :: serde :: Deserialize,
)]
pub enum Model {
    #[doc = "model/3mf"]
    #[serde(rename = "model/3mf")]
    _3Mf,
    #[doc = "model/e57"]
    #[serde(rename = "model/e57")]
    E57,
    #[doc = "model/example"]
    #[serde(rename = "model/example")]
    Example,
    #[doc = "model/gltf-binary"]
    #[serde(rename = "model/gltf-binary")]
    GltfBinary,
    #[doc = "model/gltf+json"]
    #[serde(rename = "model/gltf+json")]
    GltfJson,
    #[doc = "model/iges"]
    #[serde(rename = "model/iges")]
    Iges,
    #[doc = "model/mtl"]
    #[serde(rename = "model/mtl")]
    Mtl,
    #[doc = "model/obj"]
    #[serde(rename = "model/obj")]
    Obj,
    #[doc = "model/prc"]
    #[serde(rename = "model/prc")]
    Prc,
    #[doc = "model/step"]
    #[serde(rename = "model/step")]
    Step,
    #[doc = "model/step+xml"]
    #[serde(rename = "model/step+xml")]
    StepXml,
    #[doc = "model/step+zip"]
    #[serde(rename = "model/step+zip")]
    StepZip,
    #[doc = "model/step-xml+zip"]
    #[serde(rename = "model/step-xml+zip")]
    StepXmlZip,
    #[doc = "model/stl"]
    #[serde(rename = "model/stl")]
    Stl,
    #[doc = "model/u3d"]
    #[serde(rename = "model/u3d")]
    U3D,
    #[doc = "model/vnd.collada+xml"]
    #[serde(rename = "model/vnd.collada+xml")]
    VndColladaXml,
    #[doc = "model/vnd.dwf"]
    #[serde(rename = "model/vnd.dwf")]
    VndDwf,
    #[doc = "model/vnd.flatland.3dml"]
    #[serde(rename = "model/vnd.flatland.3dml")]
    VndFlatland3Dml,
    #[doc = "model/vnd.gdl"]
    #[serde(rename = "model/vnd.gdl")]
    VndGdl,
    #[doc = "model/vnd.gs-gdl"]
    #[serde(rename = "model/vnd.gs-gdl")]
    VndGsGdl,
    #[doc = "model/vnd.gtw"]
    #[serde(rename = "model/vnd.gtw")]
    VndGtw,
    #[doc = "model/vnd.moml+xml"]
    #[serde(rename = "model/vnd.moml+xml")]
    VndMomlXml,
    #[doc = "model/vnd.mts"]
    #[serde(rename = "model/vnd.mts")]
    VndMts,
    #[doc = "model/vnd.opengex"]
    #[serde(rename = "model/vnd.opengex")]
    VndOpengex,
    #[doc = "model/vnd.parasolid.transmit.binary"]
    #[serde(rename = "model/vnd.parasolid.transmit.binary")]
    VndParasolidTransmitBinary,
    #[doc = "model/vnd.parasolid.transmit.text"]
    #[serde(rename = "model/vnd.parasolid.transmit.text")]
    VndParasolidTransmitText,
    #[doc = "model/vnd.pytha.pyox"]
    #[serde(rename = "model/vnd.pytha.pyox")]
    VndPythaPyox,
    #[doc = "model/vnd.rosette.annotated-data-model"]
    #[serde(rename = "model/vnd.rosette.annotated-data-model")]
    VndRosetteAnnotatedDataModel,
    #[doc = "model/vnd.sap.vds"]
    #[serde(rename = "model/vnd.sap.vds")]
    VndSapVds,
    #[doc = "model/vnd.usda"]
    #[serde(rename = "model/vnd.usda")]
    VndUsda,
    #[doc = "model/vnd.usdz+zip"]
    #[serde(rename = "model/vnd.usdz+zip")]
    VndUsdzZip,
    #[doc = "model/vnd.valve.source.compiled-map"]
    #[serde(rename = "model/vnd.valve.source.compiled-map")]
    VndValveSourceCompiledMap,
    #[doc = "model/vnd.vtu"]
    #[serde(rename = "model/vnd.vtu")]
    VndVtu,
    #[doc = "model/x3d-vrml"]
    #[serde(rename = "model/x3d-vrml")]
    X3DVrml,
    #[doc = "model/x3d+fastinfoset"]
    #[serde(rename = "model/x3d+fastinfoset")]
    X3DFastinfoset,
    #[doc = "model/x3d+xml"]
    #[serde(rename = "model/x3d+xml")]
    X3DXml,
}
impl ::std::fmt::Display for Model {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        match self {
            Model::_3Mf => write!(f, "model/3mf")?,
            Model::E57 => write!(f, "model/e57")?,
            Model::Example => write!(f, "model/example")?,
            Model::GltfBinary => write!(f, "model/gltf-binary")?,
            Model::GltfJson => write!(f, "model/gltf+json")?,
            Model::Iges => write!(f, "model/iges")?,
            Model::Mtl => write!(f, "model/mtl")?,
            Model::Obj => write!(f, "model/obj")?,
            Model::Prc => write!(f, "model/prc")?,
            Model::Step => write!(f, "model/step")?,
            Model::StepXml => write!(f, "model/step+xml")?,
            Model::StepZip => write!(f, "model/step+zip")?,
            Model::StepXmlZip => write!(f, "model/step-xml+zip")?,
            Model::Stl => write!(f, "model/stl")?,
            Model::U3D => write!(f, "model/u3d")?,
            Model::VndColladaXml => write!(f, "model/vnd.collada+xml")?,
            Model::VndDwf => write!(f, "model/vnd.dwf")?,
            Model::VndFlatland3Dml => write!(f, "model/vnd.flatland.3dml")?,
            Model::VndGdl => write!(f, "model/vnd.gdl")?,
            Model::VndGsGdl => write!(f, "model/vnd.gs-gdl")?,
            Model::VndGtw => write!(f, "model/vnd.gtw")?,
            Model::VndMomlXml => write!(f, "model/vnd.moml+xml")?,
            Model::VndMts => write!(f, "model/vnd.mts")?,
            Model::VndOpengex => write!(f, "model/vnd.opengex")?,
            Model::VndParasolidTransmitBinary => write!(f, "model/vnd.parasolid.transmit.binary")?,
            Model::VndParasolidTransmitText => write!(f, "model/vnd.parasolid.transmit.text")?,
            Model::VndPythaPyox => write!(f, "model/vnd.pytha.pyox")?,
            Model::VndRosetteAnnotatedDataModel => {
                write!(f, "model/vnd.rosette.annotated-data-model")?
            }
            Model::VndSapVds => write!(f, "model/vnd.sap.vds")?,
            Model::VndUsda => write!(f, "model/vnd.usda")?,
            Model::VndUsdzZip => write!(f, "model/vnd.usdz+zip")?,
            Model::VndValveSourceCompiledMap => write!(f, "model/vnd.valve.source.compiled-map")?,
            Model::VndVtu => write!(f, "model/vnd.vtu")?,
            Model::X3DVrml => write!(f, "model/x3d-vrml")?,
            Model::X3DFastinfoset => write!(f, "model/x3d+fastinfoset")?,
            Model::X3DXml => write!(f, "model/x3d+xml")?,
        }
        Ok(())
    }
}
impl ::std::str::FromStr for Model {
    type Err = ();
    fn from_str(input: &str) -> ::std::result::Result<Self, Self::Err> {
        match input {
            "model/3mf" => Ok(Model::_3Mf),
            "model/e57" => Ok(Model::E57),
            "model/example" => Ok(Model::Example),
            "model/gltf-binary" => Ok(Model::GltfBinary),
            "model/gltf+json" => Ok(Model::GltfJson),
            "model/iges" => Ok(Model::Iges),
            "model/mtl" => Ok(Model::Mtl),
            "model/obj" => Ok(Model::Obj),
            "model/prc" => Ok(Model::Prc),
            "model/step" => Ok(Model::Step),
            "model/step+xml" => Ok(Model::StepXml),
            "model/step+zip" => Ok(Model::StepZip),
            "model/step-xml+zip" => Ok(Model::StepXmlZip),
            "model/stl" => Ok(Model::Stl),
            "model/u3d" => Ok(Model::U3D),
            "model/vnd.collada+xml" => Ok(Model::VndColladaXml),
            "model/vnd.dwf" => Ok(Model::VndDwf),
            "model/vnd.flatland.3dml" => Ok(Model::VndFlatland3Dml),
            "model/vnd.gdl" => Ok(Model::VndGdl),
            "model/vnd.gs-gdl" => Ok(Model::VndGsGdl),
            "model/vnd.gtw" => Ok(Model::VndGtw),
            "model/vnd.moml+xml" => Ok(Model::VndMomlXml),
            "model/vnd.mts" => Ok(Model::VndMts),
            "model/vnd.opengex" => Ok(Model::VndOpengex),
            "model/vnd.parasolid.transmit.binary" => Ok(Model::VndParasolidTransmitBinary),
            "model/vnd.parasolid.transmit.text" => Ok(Model::VndParasolidTransmitText),
            "model/vnd.pytha.pyox" => Ok(Model::VndPythaPyox),
            "model/vnd.rosette.annotated-data-model" => Ok(Model::VndRosetteAnnotatedDataModel),
            "model/vnd.sap.vds" => Ok(Model::VndSapVds),
            "model/vnd.usda" => Ok(Model::VndUsda),
            "model/vnd.usdz+zip" => Ok(Model::VndUsdzZip),
            "model/vnd.valve.source.compiled-map" => Ok(Model::VndValveSourceCompiledMap),
            "model/vnd.vtu" => Ok(Model::VndVtu),
            "model/x3d-vrml" => Ok(Model::X3DVrml),
            "model/x3d+fastinfoset" => Ok(Model::X3DFastinfoset),
            "model/x3d+xml" => Ok(Model::X3DXml),
            _ => Err(()),
        }
    }
}