2017-05-07 16:18:02 +02:00
|
|
|
@startuml
|
2017-05-10 21:33:12 +02:00
|
|
|
class Section {
|
|
|
|
name: str
|
|
|
|
altitude: Decimal
|
2017-05-07 16:18:02 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
class Source {
|
|
|
|
name: str
|
|
|
|
bottom: Decimal
|
|
|
|
left: Decimal
|
|
|
|
top: Decimal
|
|
|
|
right: Decimal
|
|
|
|
image: file
|
|
|
|
}
|
|
|
|
|
2017-05-10 21:33:12 +02:00
|
|
|
abstract class GeometryMixin {
|
|
|
|
geometry:
|
2017-05-07 16:18:02 +02:00
|
|
|
}
|
|
|
|
|
2017-05-10 21:33:12 +02:00
|
|
|
abstract class SectionGeometryMixin {
|
2017-05-07 16:18:02 +02:00
|
|
|
}
|
2017-05-10 21:33:12 +02:00
|
|
|
GeometryMixin <|-- SectionGeometryMixin
|
|
|
|
Section "1" *-- "*" SectionGeometryMixin: 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-05-10 21:33:12 +02:00
|
|
|
SectionGeometryMixin <|-- Building
|
2017-05-07 16:18:02 +02:00
|
|
|
|
2017-05-10 21:33:12 +02:00
|
|
|
class Category << (E,#FF7700) >> {
|
|
|
|
<i>empty string</i>
|
|
|
|
stairs
|
|
|
|
escalator
|
|
|
|
elevator
|
|
|
|
}
|
|
|
|
|
|
|
|
class Level << (E,#FF7700) >> {
|
|
|
|
<i>empty string</i>
|
|
|
|
upper
|
|
|
|
lower
|
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-05-10 21:33:12 +02:00
|
|
|
SectionGeometryMixin <|-- Space
|
|
|
|
Category "1" <-- Space: category
|
|
|
|
Level "1" <-- Space: level
|
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-05-10 21:33:12 +02:00
|
|
|
SectionGeometryMixin <|-- Door
|
|
|
|
Level "1" <-- Door: level
|
2017-05-07 16:18:02 +02:00
|
|
|
|
|
|
|
class Hole {
|
2017-05-10 21:33:12 +02:00
|
|
|
geometry: polygon
|
|
|
|
}
|
|
|
|
SectionGeometryMixin <|-- Hole
|
|
|
|
|
|
|
|
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-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-05-10 21:33:12 +02:00
|
|
|
class Point {
|
|
|
|
geometry: point
|
2017-05-07 16:18:02 +02:00
|
|
|
}
|
2017-05-10 21:33:12 +02:00
|
|
|
SpaceGeometryMixin <|-- Point
|
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
|
|
|
|
Section --|> SpecificLocation
|
|
|
|
Space --|> SpecificLocation
|
|
|
|
Area --|> SpecificLocation
|
|
|
|
Point --|> SpecificLocation
|
|
|
|
|
|
|
|
class LocationGroup {
|
|
|
|
compiled_room: bool
|
|
|
|
compiled_area: bool
|
|
|
|
}
|
|
|
|
LocationGroup --|> Location
|
|
|
|
SpecificLocation "*" --o "*" LocationGroup: groups
|
|
|
|
|
|
|
|
class LocationSlug {
|
|
|
|
slug: str
|
|
|
|
}
|
|
|
|
|
|
|
|
Location "1" -- "1" LocationSlug
|
|
|
|
|
|
|
|
class GraphNode {
|
|
|
|
x: int
|
|
|
|
y: int
|
|
|
|
transfer: bool
|
|
|
|
desc: json
|
|
|
|
}
|
|
|
|
Space "1" *-- "*" GraphNode: space
|
|
|
|
|
|
|
|
class GraphLine {
|
|
|
|
category: str
|
|
|
|
}
|
|
|
|
GraphNode "1" *-- "*" GraphLine: start
|
|
|
|
GraphNode "1" *-- "*" GraphLine: end
|
|
|
|
|
|
|
|
hide methods
|
|
|
|
|
2017-05-07 16:18:02 +02:00
|
|
|
@enduml
|