ecitygml_core/operations/
traits.rs

1use egml::model::geometry::Envelope;
2use nalgebra::Isometry3;
3
4pub trait FeatureWithGeometry {
5    fn envelope(&self) -> Option<Envelope>;
6
7    fn apply_transform(&mut self, m: &Isometry3<f64>);
8}
9/*
10pub trait SpaceFeature {
11    fn collect_multi_surfaces(&self) -> HashMap<LevelOfDetail, &MultiSurface>;
12    fn collect_solids(&self) -> HashMap<LevelOfDetail, &Solid>;
13}
14
15#[derive(Debug, Clone, PartialEq, Eq, Hash)]
16pub struct GeometryId {
17    feature_id: Id,
18    geometry_id: Id,
19}
20
21#[derive(Debug, Clone, PartialEq, Default)]
22pub struct GeometryCollection<'a> {
23    pub multi_surface: HashMap<GeometryId, &'a MultiSurface>,
24    pub solid: HashMap<GeometryId, &'a Solid>,
25}
26impl GeometryCollection<'_> {}*/