#[cfg(feature = "xml")]
use quick_xml::Writer;
#[cfg(feature = "xml")]
use std::io::{Cursor, Read, Seek};
#[cfg(feature = "urdf")]
pub mod to_urdf;
#[cfg(feature = "sdf")]
pub mod to_sdf;
#[derive(Debug, PartialEq, Eq, Clone, Copy, Default)]
pub enum XMLMode {
#[default]
NoIndent,
Indent(char, usize),
}
#[cfg(feature = "xml")]
fn make_xml_writer(xml_mode: XMLMode) -> Writer<Cursor<Vec<u8>>> {
match xml_mode {
XMLMode::NoIndent => Writer::new(Cursor::new(Vec::new())),
XMLMode::Indent(c, depth) => {
Writer::new_with_indent(Cursor::new(Vec::new()), c as u8, depth)
}
}
}
#[cfg(feature = "xml")]
pub fn xml_writer_to_string(writer: Writer<Cursor<Vec<u8>>>) -> String {
let mut buffer = writer.into_inner();
let mut out = String::new();
buffer.rewind().unwrap();
buffer.read_to_string(&mut out).unwrap();
out
}