PeriDyno 1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TriangularMeshConstraint.h
Go to the documentation of this file.
1
16#pragma once
18
19#include "Topology/TriangleSet.h"
20
21namespace dyno
22{
23 template<typename TDataType>
25 {
27 public:
28 typedef typename TDataType::Real Real;
29 typedef typename TDataType::Coord Coord;
31
34
35
36 public:
37 DEF_VAR(Real, Thickness, 0.0065, "Threshold for collision detection");
38
39 DEF_VAR(Real, TangentialFriction, 0, "Tangential friction");
40 DEF_VAR(Real, NormalFriction, 0, "Normal friction");
41
42 public:
43 DEF_VAR_IN(Real, TimeStep, "Time Step");
44
45 DEF_ARRAY_IN(Coord, Position, DeviceType::GPU, "Particle position");
46 DEF_ARRAY_IN(Coord, Velocity, DeviceType::GPU, "Particle velocity");
47
49
50 DEF_ARRAYLIST_IN(int, TriangleNeighborIds, DeviceType::GPU, "triangle neighbors");
51
52 protected:
53 void constrain() override;
54
55 private:
57
60 };
61}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
Vector< PointType, 3 > Triangle
DEF_VAR_IN(Real, TimeStep, "Time Step")
DEF_VAR(Real, TangentialFriction, 0, "Tangential friction")
DEF_ARRAY_IN(Coord, Position, DeviceType::GPU, "Particle position")
DEF_ARRAYLIST_IN(int, TriangleNeighborIds, DeviceType::GPU, "triangle neighbors")
DEF_ARRAY_IN(Coord, Velocity, DeviceType::GPU, "Particle velocity")
DEF_VAR(Real, NormalFriction, 0, "Normal friction")
DEF_INSTANCE_IN(TriangleSet< TDataType >, TriangleSet, "")
DEF_VAR(Real, Thickness, 0.0065, "Threshold for collision detection")
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
Array< T, DeviceType::GPU > DArray
Definition Array.inl:89