PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Core
Backend
Vulkan
VkDeviceArray3D.h
Go to the documentation of this file.
1
#pragma once
2
#include "
VkVariable.h
"
3
#include "
VulkanBuffer.h
"
4
5
namespace
dyno
{
6
7
struct
Array3DInfo
8
{
9
uint32_t
nx
;
10
uint32_t
ny
;
11
uint32_t
nz
;
12
uint32_t
nxy
;
13
};
14
15
template
<
typename
T>
16
class
VkDeviceArray3D
:
public
VkVariable
17
{
18
public
:
19
VkDeviceArray3D
() {};
20
21
VkDeviceArray3D
(uint32_t
nx
, uint32_t
ny
, uint32_t
nz
);
22
23
~VkDeviceArray3D
();
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
35
Array3DInfo
getInfo
();
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
"
VkDeviceArray3D.inl
VkVariable.h
VulkanBuffer.h
dyno::VkDeviceArray3D::VkDeviceArray3D
VkDeviceArray3D()
Definition
VkDeviceArray3D.h:19
dyno::VkDeviceArray3D::nx
uint32_t nx() const
Definition
VkDeviceArray3D.h:38
dyno::VkDeviceArray3D::getInfo
Array3DInfo getInfo()
Definition
VkDeviceArray3D.inl:66
dyno::VkDeviceArray3D::type
VariableType type() override
Definition
VkDeviceArray3D.inl:50
dyno::VkDeviceArray3D::m_ny
uint32_t m_ny
Definition
VkDeviceArray3D.h:44
dyno::VkDeviceArray3D::resize
void resize(uint32_t nx, uint32_t ny, uint32_t nz, VkBufferUsageFlags usageFlags=0)
Definition
VkDeviceArray3D.inl:15
dyno::VkDeviceArray3D::m_nx
uint32_t m_nx
Definition
VkDeviceArray3D.h:43
dyno::VkDeviceArray3D::clear
void clear()
Definition
VkDeviceArray3D.inl:56
dyno::VkDeviceArray3D::m_nz
uint32_t m_nz
Definition
VkDeviceArray3D.h:45
dyno::VkDeviceArray3D::~VkDeviceArray3D
~VkDeviceArray3D()
Definition
VkDeviceArray3D.inl:4
dyno::VkDeviceArray3D::size
uint32_t size() const
Definition
VkDeviceArray3D.h:37
dyno::VkDeviceArray3D::bufferSize
uint32_t bufferSize() override
Definition
VkDeviceArray3D.h:31
dyno::VkDeviceArray3D::nz
uint32_t nz() const
Definition
VkDeviceArray3D.h:40
dyno::VkDeviceArray3D::ny
uint32_t ny() const
Definition
VkDeviceArray3D.h:39
dyno::VkDeviceArray3D::index
uint32_t index(uint32_t i, uint32_t j, uint32_t k)
Definition
VkDeviceArray3D.inl:44
dyno::VkDeviceArray3D::m_num
uint32_t m_num
Definition
VkDeviceArray3D.h:47
dyno::VkVariable::VkVariable
VkVariable()
Definition
VkVariable.cpp:6
T
#define T(t)
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
dyno::VariableType
VariableType
Definition
VkVariable.h:14
dyno::Array3DInfo
Definition
VkDeviceArray3D.h:8
dyno::Array3DInfo::nxy
uint32_t nxy
Definition
VkDeviceArray3D.h:12
dyno::Array3DInfo::nx
uint32_t nx
Definition
VkDeviceArray3D.h:9
dyno::Array3DInfo::ny
uint32_t ny
Definition
VkDeviceArray3D.h:10
dyno::Array3DInfo::nz
uint32_t nz
Definition
VkDeviceArray3D.h:11
Generated by
1.13.2