PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Dynamics
Cuda
SemiAnalyticalScheme
TriangularMeshBoundary.h
Go to the documentation of this file.
1
16
#pragma once
17
#include "
Node.h
"
18
19
#include "ParticleSystem/ParticleSystem.h"
20
21
#include "Topology/TriangleSet.h"
22
23
namespace
dyno
24
{
28
template
<
typename
TDataType>
29
class
TriangularMeshBoundary
:
public
Node
30
{
31
DECLARE_TCLASS
(
TriangularMeshBoundary
, TDataType)
32
public
:
33
typedef
typename
TDataType::Real
Real
;
34
typedef
typename
TDataType::Coord
Coord
;
35
36
TriangularMeshBoundary
();
37
~TriangularMeshBoundary
()
override
;
38
39
40
public
:
41
DEF_VAR
(
Real
, Thickness, 0.0065,
"Mesh thickness used for collision detection"
);
42
43
DEF_VAR
(
Real
, TangentialFriction, 0,
"Tangential friction"
);
44
DEF_VAR
(
Real
, NormalFriction, 0,
"Normal friction"
);
45
46
public
:
47
DEF_NODE_PORTS
(
ParticleSystem<TDataType>
,
ParticleSystem
,
"Particle Systems"
);
48
49
DEF_INSTANCE_IN
(
TriangleSet<TDataType>
,
TriangleSet
,
""
);
50
51
public
:
52
DEF_ARRAY_STATE
(
Coord
, Position, DeviceType::GPU,
"Particle position"
);
53
DEF_ARRAY_STATE
(
Coord
, Velocity, DeviceType::GPU,
"Particle velocity"
);
54
55
protected
:
56
void
preUpdateStates
()
override
;
57
void
updateStates
()
override
;
58
void
postUpdateStates
()
override
;
59
60
private
:
61
};
62
}
Node.h
DECLARE_TCLASS
#define DECLARE_TCLASS(name, T1)
Definition
Object.h:87
dyno::Node::Node
Node()
Definition
Node.cpp:8
dyno::ParticleSystem
This class represents the base class for more advanced particle-based nodes.
Definition
ParticleSystem.h:14
dyno::TriangleSet
Definition
TriangleSet.h:7
dyno::TriangularMeshBoundary::DEF_ARRAY_STATE
DEF_ARRAY_STATE(Coord, Velocity, DeviceType::GPU, "Particle velocity")
dyno::TriangularMeshBoundary::Coord
TDataType::Coord Coord
Definition
TriangularMeshBoundary.h:34
dyno::TriangularMeshBoundary::Real
TDataType::Real Real
Definition
TriangularMeshBoundary.h:33
dyno::TriangularMeshBoundary::preUpdateStates
void preUpdateStates() override
Definition
TriangularMeshBoundary.cpp:68
dyno::TriangularMeshBoundary::DEF_VAR
DEF_VAR(Real, Thickness, 0.0065, "Mesh thickness used for collision detection")
dyno::TriangularMeshBoundary::DEF_INSTANCE_IN
DEF_INSTANCE_IN(TriangleSet< TDataType >, TriangleSet, "")
dyno::TriangularMeshBoundary::DEF_NODE_PORTS
DEF_NODE_PORTS(ParticleSystem< TDataType >, ParticleSystem, "Particle Systems")
dyno::TriangularMeshBoundary::~TriangularMeshBoundary
~TriangularMeshBoundary() override
Definition
TriangularMeshBoundary.cpp:63
dyno::TriangularMeshBoundary::postUpdateStates
void postUpdateStates() override
Definition
TriangularMeshBoundary.cpp:115
dyno::TriangularMeshBoundary::TriangularMeshBoundary
TriangularMeshBoundary()
Definition
TriangularMeshBoundary.cpp:14
dyno::TriangularMeshBoundary::updateStates
void updateStates() override
Definition
TriangularMeshBoundary.cpp:109
dyno::TriangularMeshBoundary::DEF_VAR
DEF_VAR(Real, NormalFriction, 0, "Normal friction")
dyno::TriangularMeshBoundary::DEF_ARRAY_STATE
DEF_ARRAY_STATE(Coord, Position, DeviceType::GPU, "Particle position")
dyno::TriangularMeshBoundary::DEF_VAR
DEF_VAR(Real, TangentialFriction, 0, "Tangential friction")
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
Generated by
1.13.2