From edc88755ab8fa35b1dd61e3d8b04f0287450c533 Mon Sep 17 00:00:00 2001 From: Luc Maisonobe <luc@orekit.org> Date: Tue, 20 May 2014 16:55:32 +0200 Subject: [PATCH] Improved tile loading class diagram. --- design/dem-loading-class-diagram.puml | 35 +++++++++++++++++++-------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/design/dem-loading-class-diagram.puml b/design/dem-loading-class-diagram.puml index 173c65c1..dbda0ca2 100644 --- a/design/dem-loading-class-diagram.puml +++ b/design/dem-loading-class-diagram.puml @@ -35,30 +35,45 @@ interface TileUpdater { +updateTile(φ, λ, UpdatableTile) } - UpdatableTile <-- TileUpdater : updates + TileUpdater --> UpdatableTile : updates } package raster #DDEBD8 { - interface Tile - class SpecializedTile interface "TileFactory<T extends Tile>" as TileFactory_T_ { +T createTile() } class "TilesCache<T extends Tile>" as TilesCache_T_ { + T getTile(φ, λ) } - Tile --|> UpdatableTile - Tile <|-- SpecializedTile - SpecializedTile "*" <--o "1" TilesCache_T_ - TileUpdater "1" <--o "1" TilesCache_T_ : triggers - TileFactory_T_ "1" <--o "1" TilesCache_T_ : triggers - TileFactory_T_ --> SpecializedTile : creates + interface Tile { + + double interpolateElevation(φ, λ) + } + UpdatableTile <|.. Tile + Tile <|-- SimpleTile + TilesCache_T_ "1" o--> "*" Tile + TilesCache_T_ "1" o--> "1" TileUpdater : triggers + TilesCache_T_ "1" o--> "1" TileFactory_T_ : triggers + } + + package intersection.duvenhage #DDEBD8 { + TileFactory_T_ <|-- MinMaxTreeTileFactory + SimpleTile <|-- MinMaxTreeTile + MinMaxTreeTileFactory -left-> MinMaxTreeTile : creates + note left + tile extended with Duvenhage + specific min/max kd-tree + end note } } - package specific.interface #ECEBD8 { + package mission.specific #C4D2C5 { + class MissionSpecificDEM #D5E0D5/E2EBE2 TileUpdater <|-- MissionSpecificDEM + note top #E2EBE2 + user provides DEM loading + by implementing TileUpdater + end note } @enduml -- GitLab