visionforge/docs/uml/Vision.puml

126 lines
2.3 KiB
Plaintext
Raw Normal View History

2021-01-26 21:05:56 +03:00
@startuml
'https://plantuml.com/class-diagram
2021-08-20 20:26:21 +03:00
interface Vision{
val parent: VisionGroup?
fun getPropertyValue(name,inherit,includeStyles,includeDefaults): Value?
}
2021-01-26 21:05:56 +03:00
2021-08-20 20:26:21 +03:00
interface Solid{
The base for 3D geometry
}
Vision <-- Solid
2021-08-20 20:26:21 +03:00
class VisionGroup{
A group of Visions
2021-01-26 21:05:56 +03:00
2021-08-20 20:26:21 +03:00
val children: Map<NameToken, Vision>
val defaultTarget: String
fun content(target): Map<Name, Any>
fun get(name: Name): Vision?
}
Vision <-- VisionGroup
2021-01-26 21:05:56 +03:00
2021-08-20 20:26:21 +03:00
class VisionBase{
basic vision implementation
}
Vision <-- VisionBase
2021-01-26 21:05:56 +03:00
class SolidLabel
Solid <--- SolidLabel
2021-01-26 21:05:56 +03:00
2021-08-20 20:26:21 +03:00
class SolidGroup{
var properties: MutableMeta?
val children: Map<NameToken, Vision>
var prototypes: MutableVisionGroup?
fun getPrototype(name): Solid?
fun prototypes(builder)
}
Solid <--- SolidGroup
VisionGroupBase <-- SolidGroup
2021-01-26 21:05:56 +03:00
class SphereLayer
2021-08-20 20:26:21 +03:00
Solid <-- SphereLayer
class Sphere
2021-08-20 20:26:21 +03:00
Solid <-- Sphere
2021-01-26 21:05:56 +03:00
class Box
Hexagon <-- Box
2021-01-26 21:05:56 +03:00
class GenericHexagon
Hexagon <-- GenericHexagon
class Extruded
2021-08-20 20:26:21 +03:00
Solid <-- Extruded
class PolyLine
Solid <--- PolyLine
interface Hexagon
2021-08-20 20:26:21 +03:00
Solid <-- Hexagon
class ConeSegment
2021-08-20 20:26:21 +03:00
Solid <-- ConeSegment
class ConeSurface
2021-08-20 20:26:21 +03:00
Solid <-- ConeSurface
class Convex
Solid <--- Convex
class Composite
Solid <--- Composite
2021-08-20 20:26:21 +03:00
interface SolidReference{
val prototype: Solid
fun getPropertyValue(name,inherit,includeStyles,includeDefaults): Value?
}
VisionGroup <---- SolidReference
2021-08-21 21:15:16 +03:00
SolidReferenceGroup -- SolidReference
2021-08-20 20:26:21 +03:00
class SolidReferenceGroup{
val refName: Name
var properties: MutableMeta?
val prototype: Solid
val children: Map<NameToken, Vision>
fun getPropertyValue(name,inherit,includeStyles,includeDefaults): Value?
}
VisionBase <-- SolidReferenceGroup
2021-08-21 21:15:16 +03:00
VisionGroup <-- SolidReferenceGroup
2021-08-20 20:26:21 +03:00
interface MutableVisionGroup{
fun onStructureChanged(owner, block)
fun removeStructureListener(owner)
}
VisionGroup <---- MutableVisionGroup
2021-08-20 20:26:21 +03:00
class VisionGroupBase{
val children: Map<NameToken, Vision>
fun set(name: Name?, child: Vision?)
}
VisionBase <-- VisionGroupBase
MutableVisionGroup <-- VisionGroupBase
class RootVisionGroup
VisionGroupBase <-- RootVisionGroup
2021-01-26 21:05:56 +03:00
2021-08-20 20:26:21 +03:00
class VisionOfPlotly{
var properties: MutableMeta?
val plot: Plot
}
VisionBase <-- VisionOfPlotly
2021-08-20 20:26:21 +03:00
class VisionOfMarkup{
val format: String
var content: String?
}
VisionBase <-- VisionOfMarkup
2021-01-26 21:05:56 +03:00
@enduml