use super::Visitable;
pub trait Visitor {
#[allow(unused_variables)]
fn visit_geometry(&mut self, geometry_name: &str, geometry: &mut crate::ig::Geometry) {}
#[allow(unused_variables)]
fn visit_geometry_index(&mut self, geometry_name: &str, url: &mut String) {}
#[allow(unused_variables)]
fn visit_material(&mut self, material_name: &str, material: &mut crate::ig::Material) {}
#[allow(unused_variables)]
fn visit_material_index(&mut self, material_name: &str, url: &mut String) {}
#[allow(unused_variables)]
fn visit_texture_map(&mut self, map: &mut crate::ig::TextureMap) {}
#[allow(unused_variables)]
fn visit_script(&mut self, script: &mut crate::Script) {}
#[allow(unused_variables)]
fn visit_path(&mut self, path: &mut String) {}
}
pub fn visit(scene: &mut crate::Scene, visitor: &mut dyn Visitor) {
scene.visit(visitor)
}
pub trait SceneVisitorExtension {
fn visit(&mut self, visitor: &mut dyn Visitor);
}
impl SceneVisitorExtension for crate::Scene {
fn visit(&mut self, visitor: &mut dyn Visitor) {
self.visit_with(visitor)
}
}