team-3/doc/c3nav.puml
2017-05-10 21:33:12 +02:00

138 lines
2.1 KiB
Text

@startuml
class Section {
name: str
altitude: Decimal
}
class Source {
name: str
bottom: Decimal
left: Decimal
top: Decimal
right: Decimal
image: file
}
abstract class GeometryMixin {
geometry:
}
abstract class SectionGeometryMixin {
}
GeometryMixin <|-- SectionGeometryMixin
Section "1" *-- "*" SectionGeometryMixin: section
class Building {
geometry: polygon
}
SectionGeometryMixin <|-- Building
class Category << (E,#FF7700) >> {
<i>empty string</i>
stairs
escalator
elevator
}
class Level << (E,#FF7700) >> {
<i>empty string</i>
upper
lower
}
class Space {
geometry: polygon
public: bool
}
SectionGeometryMixin <|-- Space
Category "1" <-- Space: category
Level "1" <-- Space: level
class Door {
geometry: polygon
}
SectionGeometryMixin <|-- Door
Level "1" <-- Door: level
class Hole {
geometry: polygon
}
SectionGeometryMixin <|-- Hole
abstract class SpaceGeometryMixin {
}
GeometryMixin <|-- SpaceGeometryMixin
Space "1" *-- "*" SpaceGeometryMixin: space
class Area {
geometry: polygon
}
SpaceGeometryMixin <|-- Area
class Point {
geometry: point
}
SpaceGeometryMixin <|-- Point
class Stair {
geometry: linestring
}
SpaceGeometryMixin <|-- Stair
class Obstacle {
geometry: polygon
}
SpaceGeometryMixin <|-- Obstacle
class LineObstacle {
geometry: linestring
}
SpaceGeometryMixin <|-- LineObstacle
abstract class Location {
titles: dict
public: bool
can_search: bool
can_describe: bool
color: str
}
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
@enduml