team-3/doc/c3nav.puml

113 lines
1.7 KiB
Text
Raw Normal View History

2017-05-07 16:18:02 +02:00
@startuml
2017-07-11 18:18:22 +02:00
class Level {
2017-05-10 21:33:12 +02:00
name: str
altitude: Decimal
2017-05-07 16:18:02 +02:00
}
class Source {
name: str
bottom: Decimal
left: Decimal
top: Decimal
right: Decimal
}
2017-05-10 21:33:12 +02:00
abstract class GeometryMixin {
geometry:
2017-05-07 16:18:02 +02:00
}
2017-07-11 18:18:22 +02:00
abstract class LevelGeometryMixin {
2017-05-07 16:18:02 +02:00
}
2017-07-11 18:18:22 +02:00
GeometryMixin <|-- LevelGeometryMixin
Level "1" *-- "*" LevelGeometryMixin: section
2017-05-07 16:18:02 +02:00
2017-05-10 21:33:12 +02:00
class Building {
geometry: polygon
2017-05-07 16:18:02 +02:00
}
2017-07-11 18:18:22 +02:00
LevelGeometryMixin <|-- Building
2017-05-07 16:18:02 +02:00
class Space {
2017-05-10 21:33:12 +02:00
geometry: polygon
2017-05-07 16:18:02 +02:00
public: bool
}
2017-07-11 18:18:22 +02:00
LevelGeometryMixin <|-- Space
2017-05-07 16:18:02 +02:00
class Door {
2017-05-10 21:33:12 +02:00
geometry: polygon
2017-05-07 16:18:02 +02:00
}
2017-07-11 18:18:22 +02:00
LevelGeometryMixin <|-- Door
2017-05-10 21:33:12 +02:00
abstract class SpaceGeometryMixin {
2017-05-07 16:18:02 +02:00
}
2017-05-10 21:33:12 +02:00
GeometryMixin <|-- SpaceGeometryMixin
Space "1" *-- "*" SpaceGeometryMixin: space
2017-05-07 16:18:02 +02:00
2017-07-11 18:18:22 +02:00
class Hole {
geometry: polygon
}
SpaceGeometryMixin <|-- Hole
2017-05-10 21:33:12 +02:00
class Area {
geometry: polygon
2017-05-07 16:18:02 +02:00
}
2017-05-10 21:33:12 +02:00
SpaceGeometryMixin <|-- Area
2017-05-07 16:18:02 +02:00
2017-07-11 18:18:22 +02:00
class POI {
2017-05-10 21:33:12 +02:00
geometry: point
2017-05-07 16:18:02 +02:00
}
2017-07-11 18:18:22 +02:00
SpaceGeometryMixin <|-- POI
2017-05-07 16:18:02 +02:00
class Stair {
2017-05-10 21:33:12 +02:00
geometry: linestring
2017-05-07 16:18:02 +02:00
}
2017-05-10 21:33:12 +02:00
SpaceGeometryMixin <|-- Stair
2017-05-07 16:18:02 +02:00
class Obstacle {
2017-05-10 21:33:12 +02:00
geometry: polygon
2017-05-07 16:18:02 +02:00
}
2017-05-10 21:33:12 +02:00
SpaceGeometryMixin <|-- Obstacle
2017-05-07 16:18:02 +02:00
class LineObstacle {
2017-05-10 21:33:12 +02:00
geometry: linestring
}
SpaceGeometryMixin <|-- LineObstacle
abstract class Location {
titles: dict
public: bool
can_search: bool
can_describe: bool
color: str
2017-05-07 16:18:02 +02:00
}
2017-05-10 21:33:12 +02:00
abstract class SpecificLocation {
}
SpecificLocation --|> Location
2017-07-11 18:18:22 +02:00
Level --|> SpecificLocation
2017-05-10 21:33:12 +02:00
Space --|> SpecificLocation
Area --|> SpecificLocation
2017-07-11 18:18:22 +02:00
POI --|> SpecificLocation
class LocationGroupCategory {
name: str
titles: dict
}
2017-05-10 21:33:12 +02:00
class LocationGroup {
2017-07-11 18:18:22 +02:00
2017-05-10 21:33:12 +02:00
}
LocationGroup --|> Location
SpecificLocation "*" --o "*" LocationGroup: groups
2017-07-11 18:18:22 +02:00
LocationGroup "*" --o "1" LocationGroupCategory: category
2017-05-10 21:33:12 +02:00
class LocationSlug {
slug: str
}
Location "1" -- "1" LocationSlug
hide methods
2017-05-07 16:18:02 +02:00
@enduml