visionforge/docs/hierarchy.md

50 lines
1.5 KiB
Markdown
Raw Normal View History

# Hierarchy
2021-08-20 20:26:21 +03:00
![](../docs/images/hierarchy.png)
### Vision
2021-08-20 20:26:21 +03:00
* function `getPropertyValue(name: Name, inherit: Boolean = false, includeStyles: Boolean = true, includeDefaults: Boolean = true)` - get property value with given layer flags.
2021-08-20 20:26:21 +03:00
* function `setProperty(name: Name, item: Any?)` - a convenient method to set property node or value. If `item` is null, then node is removed, not a value
Sets the `item` property to the element with the `name` identification.
2021-08-20 20:26:21 +03:00
### VisionBase
2021-08-20 20:26:21 +03:00
Basic vision implementation
2021-08-20 20:26:21 +03:00
### VisionGroup
A group of Visions.
### MutableVisionGroup
Mutable version of VisionGroup.
low structure changes of this group. Unconsumed changes are discarded.
### Solid
Interface for 3-dimensional Vision.
### SolidGroup
2021-08-21 21:15:16 +03:00
3D Visual Group with a container for templates visible inside this group. It has an interface `PrototypeHolder` which stands for being a container with prototype support.
2021-08-20 20:26:21 +03:00
* function `getPrototype(name: Name)` - get a prototype redirecting the request to the parent if prototype is not found. If prototype is a ref, then it is unfolded automatically.
* function `prototypes(builder: VisionContainerBuilder<Solid>.() -> Unit)` - create or edit prototype node as a group.
### SolidReferenceGroup
2021-08-21 21:15:16 +03:00
A class with `SolidReference` interface with reference `Solid`s for template objects reuse.
### VisionGroupBase
Abstract implementation of mutable group of `Vision`.
2021-08-20 20:26:21 +03:00
### RootVisionGroup
Non-serializable root group used to propagate manager to its children.
2021-08-21 21:15:16 +03:00
### MutableVisionGroup
Just a mutable version of `VisionGroup`