1035 lines
23 KiB
XML
1035 lines
23 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<diagram program="umlet" version="15.0.0">
|
|
<zoom_level>9</zoom_level>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>1143</x>
|
|
<y>909</y>
|
|
<w>333</w>
|
|
<h>63</h>
|
|
</coordinates>
|
|
<panel_attributes>2D Renderer
|
|
--
|
|
draw(vertices, indices, textureAtlasIndex)
|
|
draw(vertices, indices)
|
|
bg=BLUE
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>855</x>
|
|
<y>1503</y>
|
|
<w>405</w>
|
|
<h>126</h>
|
|
</coordinates>
|
|
<panel_attributes>Rectangle
|
|
--
|
|
+ draw()
|
|
+ setters(val, updateStrategy=true)
|
|
+ getters(): const&
|
|
--
|
|
- vec2 size
|
|
- vec2 pos
|
|
- drawStrategy: unique_ptr<DrawStrategy<Rectangle> >
|
|
style=autoresize
|
|
bg=GRAY
|
|
group=group-7</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>288</x>
|
|
<y>1368</y>
|
|
<w>144</w>
|
|
<h>81</h>
|
|
</coordinates>
|
|
<panel_attributes>FontManager
|
|
--
|
|
- fonts[]: Font
|
|
- lib: FT_Library
|
|
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>855</x>
|
|
<y>1710</y>
|
|
<w>369</w>
|
|
<h>126</h>
|
|
</coordinates>
|
|
<panel_attributes>Text
|
|
--
|
|
+ Text(string&, DrawStrategy&&)
|
|
+ draw()
|
|
+ setters(val, updateStrategy=true)
|
|
+ getters(): const&
|
|
--
|
|
- string text
|
|
- drawStrategy: unique_ptr<DrawStrategy<Text> >
|
|
style=autoresize
|
|
bg=GRAY
|
|
group=group-7</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>540</x>
|
|
<y>1575</y>
|
|
<w>333</w>
|
|
<h>162</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;350.0;160.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>1260</x>
|
|
<y>693</y>
|
|
<w>126</w>
|
|
<h>36</h>
|
|
</coordinates>
|
|
<panel_attributes>VulkanInstance
|
|
bg=BLUE
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1296</x>
|
|
<y>720</y>
|
|
<w>72</w>
|
|
<h>207</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-</panel_attributes>
|
|
<additional_attributes>60.0;10.0;10.0;210.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>360</x>
|
|
<y>1539</y>
|
|
<w>189</w>
|
|
<h>63</h>
|
|
</coordinates>
|
|
<panel_attributes>Font
|
|
--
|
|
- face: FT_Face
|
|
- charInfos[]: CharInfo
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>576</x>
|
|
<y>1377</y>
|
|
<w>180</w>
|
|
<h>99</h>
|
|
</coordinates>
|
|
<panel_attributes>TextDS
|
|
--
|
|
+ draw()
|
|
+ update(const Text&)
|
|
--
|
|
- buffer: VIBuffer
|
|
- Renderer2D& renderer
|
|
bg=BLUE
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLNote</id>
|
|
<coordinates>
|
|
<x>0</x>
|
|
<y>630</y>
|
|
<w>369</w>
|
|
<h>162</h>
|
|
</coordinates>
|
|
<panel_attributes>/Target code/
|
|
using Drawable = std::variant<Text, Rectangle>
|
|
std::vector<Drawable> shapes;
|
|
shapes.emplace_back(Rectangle((5, 5), (42, 42),
|
|
TextDrawStrategy(renderer);
|
|
);
|
|
|
|
for (shape : shapes) {
|
|
shape.draw();
|
|
}
|
|
style=autoresize
|
|
bg=DARK_GRAY</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLNote</id>
|
|
<coordinates>
|
|
<x>855</x>
|
|
<y>1899</y>
|
|
<w>396</w>
|
|
<h>90</h>
|
|
</coordinates>
|
|
<panel_attributes>*Drawables have strategies*
|
|
+ very extendable
|
|
- complicated object creation
|
|
- possible lifetime issues with renderer references
|
|
- heavy use of virtual functions
|
|
style=autoresize
|
|
bg=RED
|
|
group=group-7</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1251</x>
|
|
<y>963</y>
|
|
<w>63</w>
|
|
<h>180</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=-></panel_attributes>
|
|
<additional_attributes>10.0;180.0;50.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>540</x>
|
|
<y>1206</y>
|
|
<w>225</w>
|
|
<h>99</h>
|
|
</coordinates>
|
|
<panel_attributes>RectangleColoredDS
|
|
--
|
|
+ draw()
|
|
+ update(const Rect&)
|
|
--
|
|
- buffer: VIBuffer
|
|
- const Renderer2D& renderer
|
|
bg=BLUE
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1251</x>
|
|
<y>1548</y>
|
|
<w>162</w>
|
|
<h>36</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<-
|
|
or child class</panel_attributes>
|
|
<additional_attributes>10.0;20.0;160.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>738</x>
|
|
<y>1440</y>
|
|
<w>162</w>
|
|
<h>288</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<<-</panel_attributes>
|
|
<additional_attributes>17.0;10.0;160.0;301.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>1422</x>
|
|
<y>1755</y>
|
|
<w>225</w>
|
|
<h>99</h>
|
|
</coordinates>
|
|
<panel_attributes>template=T: StrategyFor
|
|
PrintDrawStrategy
|
|
--
|
|
+ draw()
|
|
+ update(const T&)
|
|
--
|
|
- tAsString: string
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>513</x>
|
|
<y>1098</y>
|
|
<w>252</w>
|
|
<h>81</h>
|
|
</coordinates>
|
|
<panel_attributes>RectangleTexturedVkDS
|
|
--
|
|
+ draw(): void
|
|
+ update(Rectangle&): void
|
|
- setTextureCoordinates(): void
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>756</x>
|
|
<y>1269</y>
|
|
<w>81</w>
|
|
<h>27</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;70.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>117</x>
|
|
<y>1593</y>
|
|
<w>135</w>
|
|
<h>63</h>
|
|
</coordinates>
|
|
<panel_attributes>CharInfo
|
|
--
|
|
- topLeft: vec2
|
|
- botRight: vec2
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>1395</x>
|
|
<y>1530</y>
|
|
<w>243</w>
|
|
<h>81</h>
|
|
</coordinates>
|
|
<panel_attributes>template=T: StrategyFor
|
|
/DrawStrategy/
|
|
--
|
|
+ draw() = 0
|
|
+ update(const T&) = 0
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1494</x>
|
|
<y>1602</y>
|
|
<w>27</w>
|
|
<h>180</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;10.0;180.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>1053</x>
|
|
<y>1125</y>
|
|
<w>396</w>
|
|
<h>243</h>
|
|
</coordinates>
|
|
<panel_attributes>VulkanDS
|
|
--
|
|
# vertices: Vertex2D[]
|
|
# indices: uint32_t[]
|
|
# vertexBufferInfo: BufferInfo
|
|
# indexBufferInfo: BufferInfo
|
|
# renderer: Renderer2D&
|
|
# bufferManager: BufferManager<Vertex2D, uint32_t>&
|
|
--
|
|
+ getVertices(): Vertex2D[]
|
|
+ getIndices(): uint32_t[]
|
|
+ getVertexBufferInfo(): BufferInfo&
|
|
+ getIndexBufferInfo(): BufferInfo&
|
|
+ setIndexOffset(uint32_t): void
|
|
+ normalizeVertices(float, float): void
|
|
+ buffersInitalized(): bool
|
|
# updateBufferInfos(): void
|
|
style=autoresize</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>1737</x>
|
|
<y>369</y>
|
|
<w>216</w>
|
|
<h>99</h>
|
|
</coordinates>
|
|
<panel_attributes>MemoryInfo
|
|
--
|
|
+ memory: vk::DeviceMemory
|
|
+ offset: vk::DeviceSize
|
|
+ memoryTypeIndex: uint32_t
|
|
style=autoresize
|
|
|
|
group=group-1
|
|
bg=GREEN</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>1737</x>
|
|
<y>504</y>
|
|
<w>621</w>
|
|
<h>90</h>
|
|
</coordinates>
|
|
<panel_attributes>VulkanAllocator
|
|
--
|
|
- memory: DeviceMemory[]
|
|
--
|
|
+ allocate(vk::MemoryAllocateInfo&, vk::MemoryRequirements2&, MemoryInfo&): void
|
|
+ free(MemoryInfo&): void
|
|
style=autoresize
|
|
group=group-1
|
|
bg=GREEN</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>2043</x>
|
|
<y>297</y>
|
|
<w>306</w>
|
|
<h>126</h>
|
|
</coordinates>
|
|
<panel_attributes>DeviceMemory
|
|
--
|
|
+ DeviceMemory:
|
|
+ DeviceMemory(vk::DeviceSize):
|
|
+ size: vk::DeviceSize
|
|
+ memory: vk::DeviceMemory
|
|
+ dynBlockAllocator: DynBlockAllocator
|
|
style=autoresize
|
|
|
|
group=group-1
|
|
bg=GREEN</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>2169</x>
|
|
<y>414</y>
|
|
<w>108</w>
|
|
<h>108</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=-
|
|
m1=*
|
|
m2=1
|
|
< allocates
|
|
group=group-1
|
|
bg=GREEN</panel_attributes>
|
|
<additional_attributes>10.0;10.0;10.0;100.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1944</x>
|
|
<y>387</y>
|
|
<w>126</w>
|
|
<h>45</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=-[dBA]
|
|
m1=1..n
|
|
m2=1
|
|
manages
|
|
group=group-1
|
|
bg=GREEN</panel_attributes>
|
|
<additional_attributes>10.0;20.0;110.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1377</x>
|
|
<y>567</y>
|
|
<w>378</w>
|
|
<h>162</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<<-</panel_attributes>
|
|
<additional_attributes>10.0;160.0;400.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1773</x>
|
|
<y>585</y>
|
|
<w>27</w>
|
|
<h>315</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;10.0;330.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>621</x>
|
|
<y>1692</y>
|
|
<w>90</w>
|
|
<h>180</h>
|
|
</coordinates>
|
|
<panel_attributes>b
|
|
group=group-5</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>351</x>
|
|
<y>1692</y>
|
|
<w>90</w>
|
|
<h>180</h>
|
|
</coordinates>
|
|
<panel_attributes>a
|
|
group=group-5</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>432</x>
|
|
<y>1701</y>
|
|
<w>207</w>
|
|
<h>36</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-
|
|
b inherits from a
|
|
group=group-5</panel_attributes>
|
|
<additional_attributes>10.0;20.0;210.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>432</x>
|
|
<y>1737</y>
|
|
<w>207</w>
|
|
<h>36</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-
|
|
b is associated with a
|
|
group=group-5</panel_attributes>
|
|
<additional_attributes>10.0;20.0;210.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>432</x>
|
|
<y>1773</y>
|
|
<w>207</w>
|
|
<h>36</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<.
|
|
b depends on a
|
|
group=group-5</panel_attributes>
|
|
<additional_attributes>10.0;20.0;210.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>432</x>
|
|
<y>1845</y>
|
|
<w>207</w>
|
|
<h>54</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<<-
|
|
composition
|
|
a creates b
|
|
and b needs a
|
|
group=group-5</panel_attributes>
|
|
<additional_attributes>10.0;20.0;210.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>432</x>
|
|
<y>1800</y>
|
|
<w>207</w>
|
|
<h>54</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<-
|
|
aggregation
|
|
a creates b
|
|
b can live without a
|
|
group=group-5</panel_attributes>
|
|
<additional_attributes>10.0;20.0;210.0;20.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1440</x>
|
|
<y>981</y>
|
|
<w>333</w>
|
|
<h>198</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-
|
|
m1=1
|
|
m2=1
|
|
gets buffer from</panel_attributes>
|
|
<additional_attributes>350.0;10.0;10.0;200.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>720</x>
|
|
<y>900</y>
|
|
<w>306</w>
|
|
<h>126</h>
|
|
</coordinates>
|
|
<panel_attributes>VulkanTexturedDS
|
|
--
|
|
# texture: Texture
|
|
# textureAtlasIndex: TextureAtlasIndex
|
|
# textureManager: TextureManager&
|
|
--
|
|
+ getTexture(): Texture&
|
|
+ getTexureAtlasIndex(): uint32_t
|
|
style=autoresize
|
|
</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>486</x>
|
|
<y>360</y>
|
|
<w>630</w>
|
|
<h>216</h>
|
|
</coordinates>
|
|
<panel_attributes>TextureManager
|
|
--
|
|
- atlases: TextureAtlas[]
|
|
- textures: unordered_string_map<Texture>
|
|
- textureInfos: TextureInfo[]
|
|
--
|
|
+ getTexture(std::string&): Texture
|
|
+ setTexCoords(Texture&, glm::vec2&): void
|
|
+ getDescriptorSet: vk::DescriptorSet&
|
|
+ getDescriptorSetLayout: vk::DescriptorSetLayout&
|
|
+ getTextureAtlas(Texture&): TextureAtlas&
|
|
+ getTextureAtlasIndex(Texture&): TextureAtlasIndex
|
|
+ getAtlasCount: uint32_t
|
|
+ addAtlas(uint16_t, uint16_t, uint16_t, uint16_t, vk::Format): TextureAtlasIndex
|
|
- loadTextureFromFile(std::string&): Texture
|
|
style=autoresize
|
|
group=group-4
|
|
bg=YELLOW</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>594</x>
|
|
<y>54</y>
|
|
<w>522</w>
|
|
<h>234</h>
|
|
</coordinates>
|
|
<panel_attributes>TextureAtlas
|
|
--
|
|
- imageFormat: vk::Format
|
|
- textureImage: vk::Image
|
|
- textureImageMemory: MemoryInfo
|
|
- textureImageView: vk::ImageView
|
|
- textureSampler: vk::Sampler
|
|
- freeAreas: TextureImageAreas[]
|
|
- slotWidth: uint16_t
|
|
- slotHeight: uint16_t
|
|
- slotCountX: uint16_t
|
|
- slotCountY: uint16_t
|
|
--
|
|
+ addTexture(uint8_t*, uint16_t, uint16_t, uint8_t): { vec2, vec2 }
|
|
+ getTextureImageView(): vk::ImageView&
|
|
+ getTextureSampler(): vk::Sampler&
|
|
style=autoresize
|
|
group=group-4
|
|
bg=YELLOW</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>702</x>
|
|
<y>648</y>
|
|
<w>252</w>
|
|
<h>108</h>
|
|
</coordinates>
|
|
<panel_attributes>TextureInfo
|
|
--
|
|
+ atlas: TextureAtlasIndex
|
|
+ texCoordTopLeft: glm::vec2
|
|
+ texCoordBottomRight: glm::vec2
|
|
|
|
style=autoresize
|
|
|
|
group=group-4
|
|
bg=YELLOW</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLPackage</id>
|
|
<coordinates>
|
|
<x>1728</x>
|
|
<y>270</y>
|
|
<w>648</w>
|
|
<h>342</h>
|
|
</coordinates>
|
|
<panel_attributes>vulkan memory allocation
|
|
layer=-1
|
|
group=group-1
|
|
bg=GREEN</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLPackage</id>
|
|
<coordinates>
|
|
<x>468</x>
|
|
<y>0</y>
|
|
<w>666</w>
|
|
<h>774</h>
|
|
</coordinates>
|
|
<panel_attributes>vulkan textures
|
|
group=group-4
|
|
bg=YELLOW</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>900</x>
|
|
<y>279</y>
|
|
<w>36</w>
|
|
<h>99</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<-
|
|
m1=1
|
|
m2=*
|
|
group=group-4
|
|
bg=YELLOW</panel_attributes>
|
|
<additional_attributes>10.0;90.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1107</x>
|
|
<y>531</y>
|
|
<w>225</w>
|
|
<h>180</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-</panel_attributes>
|
|
<additional_attributes>230.0;180.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1107</x>
|
|
<y>243</y>
|
|
<w>243</w>
|
|
<h>468</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-</panel_attributes>
|
|
<additional_attributes>250.0;500.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>729</x>
|
|
<y>567</y>
|
|
<w>81</w>
|
|
<h>99</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=-
|
|
m1=1..n
|
|
m2=1
|
|
manages
|
|
group=group-4
|
|
bg=YELLOW</panel_attributes>
|
|
<additional_attributes>10.0;90.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1107</x>
|
|
<y>198</y>
|
|
<w>639</w>
|
|
<h>216</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-</panel_attributes>
|
|
<additional_attributes>690.0;220.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1899</x>
|
|
<y>810</y>
|
|
<w>90</w>
|
|
<h>90</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-
|
|
m1=*
|
|
m2=1
|
|
< manages
|
|
bg=ORANGE
|
|
group=group-3</panel_attributes>
|
|
<additional_attributes>10.0;10.0;10.0;80.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>1755</x>
|
|
<y>873</y>
|
|
<w>729</w>
|
|
<h>144</h>
|
|
</coordinates>
|
|
<panel_attributes>template=VertexT: VertexType, IndexT: SupportedIndexType
|
|
BufferManager
|
|
--
|
|
- vertexBuffers: Buffer[]
|
|
- indexBuffers: Buffer[]
|
|
--
|
|
+ getVertexBuffer(BufferInfo&): vk::Buffer
|
|
+ getIndexBuffer(BufferInfo&): vk::Buffer
|
|
+ addVertices(VertexRange&, IndexRange&): { BufferInfo : BufferInfo }
|
|
+ removeVertices(BufferInfo&, BufferInfo&): void
|
|
style=autoresize
|
|
bg=ORANGE
|
|
group=group-3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>1800</x>
|
|
<y>711</y>
|
|
<w>243</w>
|
|
<h>108</h>
|
|
</coordinates>
|
|
<panel_attributes>Buffer
|
|
--
|
|
+ buffer: vk::Buffer
|
|
+ bufferMemory: MemoryInfo
|
|
+ bufferSize: vk::DeviceSize
|
|
+ allocator: DynBlockAllocator
|
|
style=autoresize
|
|
|
|
bg=ORANGE
|
|
group=group-3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>UMLClass</id>
|
|
<coordinates>
|
|
<x>2115</x>
|
|
<y>711</y>
|
|
<w>153</w>
|
|
<h>99</h>
|
|
</coordinates>
|
|
<panel_attributes>BufferInfo
|
|
--
|
|
+ index: uint32_t
|
|
+ offset: uint32_t
|
|
+ count: uint32_t
|
|
style=autoresize
|
|
|
|
bg=ORANGE
|
|
group=group-3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>2106</x>
|
|
<y>792</y>
|
|
<w>36</w>
|
|
<h>108</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<-
|
|
m1=1
|
|
m2=*
|
|
bg=ORANGE
|
|
group=group-3</panel_attributes>
|
|
<additional_attributes>10.0;100.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>2034</x>
|
|
<y>738</y>
|
|
<w>99</w>
|
|
<h>36</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-
|
|
m1=1
|
|
m2=1
|
|
bg=ORANGE
|
|
group=group-3</panel_attributes>
|
|
<additional_attributes>10.0;10.0;90.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLPackage</id>
|
|
<coordinates>
|
|
<x>1737</x>
|
|
<y>675</y>
|
|
<w>756</w>
|
|
<h>351</h>
|
|
</coordinates>
|
|
<panel_attributes>vulkan vertex & index buffer management
|
|
bg=ORANGE
|
|
group=group-3</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>612</x>
|
|
<y>567</y>
|
|
<w>225</w>
|
|
<h>351</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;230.0;370.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>756</x>
|
|
<y>1125</y>
|
|
<w>315</w>
|
|
<h>117</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-</panel_attributes>
|
|
<additional_attributes>330.0;110.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>711</x>
|
|
<y>981</y>
|
|
<w>72</w>
|
|
<h>171</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;60.0;170.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1098</x>
|
|
<y>1359</y>
|
|
<w>369</w>
|
|
<h>198</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-</panel_attributes>
|
|
<additional_attributes>390.0;200.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>756</x>
|
|
<y>1152</y>
|
|
<w>81</w>
|
|
<h>27</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;70.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>756</x>
|
|
<y>1224</y>
|
|
<w>315</w>
|
|
<h>117</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-</panel_attributes>
|
|
<additional_attributes>330.0;110.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>810</x>
|
|
<y>1152</y>
|
|
<w>27</w>
|
|
<h>144</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=-
|
|
</panel_attributes>
|
|
<additional_attributes>10.0;140.0;10.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>810</x>
|
|
<y>1269</y>
|
|
<w>81</w>
|
|
<h>252</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=-
|
|
</panel_attributes>
|
|
<additional_attributes>10.0;10.0;70.0;260.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>1215</x>
|
|
<y>1593</y>
|
|
<w>216</w>
|
|
<h>207</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<-
|
|
or child class</panel_attributes>
|
|
<additional_attributes>10.0;210.0;200.0;10.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>747</x>
|
|
<y>1350</y>
|
|
<w>324</w>
|
|
<h>90</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-</panel_attributes>
|
|
<additional_attributes>340.0;10.0;10.0;80.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>747</x>
|
|
<y>1017</y>
|
|
<w>180</w>
|
|
<h>423</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<-</panel_attributes>
|
|
<additional_attributes>180.0;10.0;10.0;450.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>Relation</id>
|
|
<coordinates>
|
|
<x>414</x>
|
|
<y>1440</y>
|
|
<w>27</w>
|
|
<h>117</h>
|
|
</coordinates>
|
|
<panel_attributes>lt=<<<<<-</panel_attributes>
|
|
<additional_attributes>10.0;10.0;10.0;110.0</additional_attributes>
|
|
</element>
|
|
<element>
|
|
<id>UMLPackage</id>
|
|
<coordinates>
|
|
<x>810</x>
|
|
<y>1467</y>
|
|
<w>513</w>
|
|
<h>540</h>
|
|
</coordinates>
|
|
<panel_attributes>Drawables
|
|
bg=GRAY
|
|
group=group-7</panel_attributes>
|
|
<additional_attributes/>
|
|
</element>
|
|
</diagram>
|