Skip to content

Commit 62e35c0

Browse files
authored
Serialize Vector3i and Vector3d types. (#3)
* Serialize Vector3i and Vector3d types. Signed-off-by: Arjo Chakravarty <[email protected]> * style fix Signed-off-by: Arjo Chakravarty <[email protected]> --------- Signed-off-by: Arjo Chakravarty <[email protected]>
1 parent f86344f commit 62e35c0

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

sdformat_rs/src/lib.rs

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,19 @@ impl YaDeserialize for Vector3d {
151151
}
152152

153153
impl YaSerialize for Vector3d {
154-
fn serialize<W: Write>(&self, _writer: &mut yaserde::ser::Serializer<W>) -> Result<(), String> {
154+
fn serialize<W: Write>(
155+
&self,
156+
serializer: &mut yaserde::ser::Serializer<W>,
157+
) -> Result<(), String> {
155158
// serializer code
156-
Err("Not yet implemented".to_string())
159+
serializer
160+
.write(xml::writer::XmlEvent::Characters(&format!(
161+
"{} {} {}",
162+
self.0.x, self.0.y, self.0.z
163+
)))
164+
.map_err(|e| e.to_string())?;
165+
166+
Ok(())
157167
}
158168

159169
fn serialize_attributes(
@@ -191,9 +201,19 @@ impl YaDeserialize for Vector3i {
191201
}
192202

193203
impl YaSerialize for Vector3i {
194-
fn serialize<W: Write>(&self, _writer: &mut yaserde::ser::Serializer<W>) -> Result<(), String> {
204+
fn serialize<W: Write>(
205+
&self,
206+
serializer: &mut yaserde::ser::Serializer<W>,
207+
) -> Result<(), String> {
195208
// serializer code
196-
Err("Not yet implemented".to_string())
209+
serializer
210+
.write(xml::writer::XmlEvent::Characters(&format!(
211+
"{} {} {}",
212+
self.0.x, self.0.y, self.0.z
213+
)))
214+
.map_err(|e| e.to_string())?;
215+
216+
Ok(())
197217
}
198218

199219
fn serialize_attributes(

0 commit comments

Comments
 (0)