From da69a8813aae31f677b3b9b4947adab3338f73fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Wed, 10 May 2017 21:33:12 +0200 Subject: [PATCH] update c3nav.puml --- doc/c3nav.puml | 129 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 96 insertions(+), 33 deletions(-) diff --git a/doc/c3nav.puml b/doc/c3nav.puml index f2833947..c4266152 100644 --- a/doc/c3nav.puml +++ b/doc/c3nav.puml @@ -1,6 +1,7 @@ @startuml -abstract class Feature { - {static} EditorForm: Form +class Section { + name: str + altitude: Decimal } class Source { @@ -11,65 +12,127 @@ class Source { right: Decimal image: file } -Feature <|-- Source -class Section { - name: str - altitude: Decimal +abstract class GeometryMixin { + geometry: } -Feature <|-- Section -abstract class GeometryFeature { - {static} geomtype: str - geometry: Geometry +abstract class SectionGeometryMixin { } -Feature <|-- GeometryFeature - -abstract class SectionFeature { - section: Section -} -Section *-- SectionFeature: section -GeometryFeature <|-- SectionFeature +GeometryMixin <|-- SectionGeometryMixin +Section "1" *-- "*" SectionGeometryMixin: section class Building { + geometry: polygon +} +SectionGeometryMixin <|-- Building + +class Category << (E,#FF7700) >> { + empty string + stairs + escalator + elevator +} + +class Level << (E,#FF7700) >> { + empty string + upper + lower } -SectionFeature <|-- Building class Space { + geometry: polygon public: bool - category: str - layer: str } -SectionFeature <|-- Space +SectionGeometryMixin <|-- Space +Category "1" <-- Space: category +Level "1" <-- Space: level class Door { + geometry: polygon } -SectionFeature <|-- Door +SectionGeometryMixin <|-- Door +Level "1" <-- Door: level class Hole { + geometry: polygon } -SectionFeature <|-- Hole +SectionGeometryMixin <|-- Hole -abstract class SpaceFeature { - space: Space +abstract class SpaceGeometryMixin { } -Space *-- SpaceFeature: space -GeometryFeature <|-- SpaceFeature +GeometryMixin <|-- SpaceGeometryMixin +Space "1" *-- "*" SpaceGeometryMixin: space -class StuffedArea { +class Area { + geometry: polygon } -SpaceFeature <|-- StuffedArea +SpaceGeometryMixin <|-- Area + +class Point { + geometry: point +} +SpaceGeometryMixin <|-- Point class Stair { + geometry: linestring } -SpaceFeature <|-- Stair +SpaceGeometryMixin <|-- Stair class Obstacle { + geometry: polygon } -SpaceFeature <|-- Obstacle +SpaceGeometryMixin <|-- Obstacle 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