visionforge/docs/uml/Vision.puml

124 lines
2.2 KiB
Plaintext
Raw Normal View History

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