PeriDyno 1.0.0
Loading...
Searching...
No Matches
CollisionDetectionBroadPhase.h
Go to the documentation of this file.
1#pragma once
4
6#include "Catalyzer/VkScan.h"
7
8namespace dyno
9{
10// struct AlignedBox3D
11// {
12// dyno::Vec3f v0;
13// dyno::Vec3f v1;
14// };
15
17 {
18 public:
21
22 public:
23 float mGridSizeLimit; // "Limit the smallest grid size";
24
25 DEF_ARRAY_IN(AlignedBox3D, BoundingBox, DeviceType::GPU, "");
26 //VkDeviceArray<AlignedBox3D> mAABB;
27
28 //DEF_ARRAY_IN(AlignedBox3D, Other, DeviceType::GPU, "");
29 //VkDeviceArray<AlignedBox3D> mOther;
30
31 DEF_ARRAY_IN(uint32_t, CollisionMask, DeviceType::GPU, "");
32 //VkDeviceArray<uint32_t>* mCollisionType;
33
34 DEF_ARRAY_IN(uint32_t, ShapeType, DeviceType::GPU, "");
35
36 DEF_ARRAY_OUT(Vec2u, Contacts, DeviceType::GPU, "");
37 //VkDeviceArray<Vec2u> mContactList;
38
39 protected:
40 void compute() override;
41
42 private:
43 std::shared_ptr<VkReduce<int>> vkr;
44
45 std::shared_ptr<VkScan<int>> vks;
46
49 };
50}
DEF_ARRAY_IN(uint32_t, CollisionMask, DeviceType::GPU, "")
std::shared_ptr< VkReduce< int > > vkr
DEF_ARRAY_OUT(Vec2u, Contacts, DeviceType::GPU, "")
DEF_ARRAY_IN(AlignedBox3D, BoundingBox, DeviceType::GPU, "")
DEF_ARRAY_IN(uint32_t, ShapeType, DeviceType::GPU, "")
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
TAlignedBox3D< double > AlignedBox3D
Array< T, DeviceType::GPU > DArray
Definition Array.inl:89
Vector< uint32_t, 2 > Vec2u
Definition Vector2D.h:83