update c3nav.puml

This commit is contained in:
Laura Klünder 2017-05-10 21:33:12 +02:00
parent 67f2bcdf0e
commit da69a8813a

View file

@ -1,6 +1,7 @@
@startuml @startuml
abstract class Feature { class Section {
{static} EditorForm: Form name: str
altitude: Decimal
} }
class Source { class Source {
@ -11,65 +12,127 @@ class Source {
right: Decimal right: Decimal
image: file image: file
} }
Feature <|-- Source
class Section { abstract class GeometryMixin {
name: str geometry:
altitude: Decimal
} }
Feature <|-- Section
abstract class GeometryFeature { abstract class SectionGeometryMixin {
{static} geomtype: str
geometry: Geometry
} }
Feature <|-- GeometryFeature GeometryMixin <|-- SectionGeometryMixin
Section "1" *-- "*" SectionGeometryMixin: section
abstract class SectionFeature {
section: Section
}
Section *-- SectionFeature: section
GeometryFeature <|-- SectionFeature
class Building { 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
} }
SectionFeature <|-- Building
class Space { class Space {
geometry: polygon
public: bool public: bool
category: str
layer: str
} }
SectionFeature <|-- Space SectionGeometryMixin <|-- Space
Category "1" <-- Space: category
Level "1" <-- Space: level
class Door { class Door {
geometry: polygon
} }
SectionFeature <|-- Door SectionGeometryMixin <|-- Door
Level "1" <-- Door: level
class Hole { class Hole {
geometry: polygon
} }
SectionFeature <|-- Hole SectionGeometryMixin <|-- Hole
abstract class SpaceFeature { abstract class SpaceGeometryMixin {
space: Space
} }
Space *-- SpaceFeature: space GeometryMixin <|-- SpaceGeometryMixin
GeometryFeature <|-- SpaceFeature Space "1" *-- "*" SpaceGeometryMixin: space
class StuffedArea { class Area {
geometry: polygon
} }
SpaceFeature <|-- StuffedArea SpaceGeometryMixin <|-- Area
class Point {
geometry: point
}
SpaceGeometryMixin <|-- Point
class Stair { class Stair {
geometry: linestring
} }
SpaceFeature <|-- Stair SpaceGeometryMixin <|-- Stair
class Obstacle { class Obstacle {
geometry: polygon
} }
SpaceFeature <|-- Obstacle SpaceGeometryMixin <|-- Obstacle
class LineObstacle { class LineObstacle {
width: Decimal geometry: linestring
} }
SpaceFeature <|-- LineObstacle 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 @enduml