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(()),
}
}
}