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<'_> {}*/