team-3/doc/c3nav.puml

139 lines
2.1 KiB
Text
Raw Normal View History

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