PeriDyno 1.0.0
Loading...
Searching...
No Matches
VkDeviceArray3D.h
Go to the documentation of this file.
1#pragma once
2#include "VkVariable.h"
3#include "VulkanBuffer.h"
4
5namespace dyno {
6
8 {
9 uint32_t nx;
10 uint32_t ny;
11 uint32_t nz;
12 uint32_t nxy;
13 };
14
15 template<typename T>
17 {
18 public:
20
21 VkDeviceArray3D(uint32_t nx, uint32_t ny, uint32_t nz);
22
24
25 uint32_t index(uint32_t i, uint32_t j, uint32_t k);
26
27 void resize(uint32_t nx, uint32_t ny, uint32_t nz, VkBufferUsageFlags usageFlags = 0);
28
29 VariableType type() override;
30
31 uint32_t bufferSize() override { return sizeof(T)*m_num; }
32
33 void clear();
34
36
37 inline uint32_t size() const { return m_num; }
38 inline uint32_t nx() const { return m_nx; }
39 inline uint32_t ny() const { return m_ny; }
40 inline uint32_t nz() const { return m_nz; }
41
42 private:
43 uint32_t m_nx = 0;
44 uint32_t m_ny = 0;
45 uint32_t m_nz = 0;
46
47 uint32_t m_num = 0;
48 };
49}
50
51#include "VkDeviceArray3D.inl"
uint32_t nx() const
VariableType type() override
void resize(uint32_t nx, uint32_t ny, uint32_t nz, VkBufferUsageFlags usageFlags=0)
uint32_t size() const
uint32_t bufferSize() override
uint32_t nz() const
uint32_t ny() const
uint32_t index(uint32_t i, uint32_t j, uint32_t k)
#define T(t)
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
VariableType
Definition VkVariable.h:14