PeriDyno 1.0.0
Loading...
Searching...
No Matches
CollistionDetectionTriangleSet.h
Go to the documentation of this file.
1
16#pragma once
18
19#include "Topology/DiscreteElements.h"
20#include "Topology/TriangleSet.h"
21#include "Topology/LinearBVH.h"
22
23#include "CollisionData.h"
25
26namespace dyno {
30 template<typename TDataType>
32 {
34
35 public:
36 typedef typename TDataType::Real Real;
37 typedef typename TDataType::Coord Coord;
38 typedef typename ::dyno::TAlignedBox3D<Real> AABB;
39 typedef typename ::dyno::TContactPair<Real> ContactPair;
40 typedef typename ::dyno::TOrientedBox3D<Real> Box3D;
41
44
45 public:
47
49
50 DEF_ARRAY_OUT(ContactPair, Contacts, DeviceType::GPU, "");
51
52 protected:
53 void compute() override;
54
55 private:
58
62
66
67 std::shared_ptr<CollisionDetectionBroadPhase<TDataType>> mBroadPhaseCD;
68 };
69
71}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
#define IMPLEMENT_TCLASS(name, T1)
Definition Object.h:103
DEF_INSTANCE_IN(TriangleSet< TDataType >, TriangleSet, "")
DEF_INSTANCE_IN(DiscreteElements< TDataType >, DiscreteElements, "")
DEF_ARRAY_OUT(ContactPair, Contacts, DeviceType::GPU, "")
std::shared_ptr< CollisionDetectionBroadPhase< TDataType > > mBroadPhaseCD
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
Array< T, DeviceType::GPU > DArray
Definition Array.inl:89