PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Dynamics
Cuda
Multiphysics
AdaptiveBoundary.h
Go to the documentation of this file.
1
16
#pragma once
17
18
#include "
Volume/VolumeOctree.h
"
19
20
#include "ParticleSystem/ParticleSystem.h"
21
22
#include "
Peridynamics/TriangularSystem.h
"
23
24
#include "
RigidBody/RigidBody.h
"
25
26
namespace
dyno
27
{
28
template
<
typename
TDataType>
29
class
AdaptiveBoundary
:
public
Node
30
{
31
DECLARE_TCLASS
(
AdaptiveBoundary
, TDataType)
32
public
:
33
typedef
typename
TDataType::Real
Real
;
34
typedef
typename
TDataType::Coord
Coord
;
35
36
AdaptiveBoundary
();
37
~AdaptiveBoundary
()
override
;
38
39
std::string
getNodeType
()
override
{
return
"Multiphysics"
; }
40
41
public
:
42
DEF_VAR
(
Real
, TangentialFriction, 0.0,
"Tangential friction"
);
43
DEF_VAR
(
Real
, NormalFriction, 1.0,
"Normal friction"
);
44
45
DEF_NODE_PORTS
(
RigidBody<TDataType>
,
RigidBody
,
"A rigid body"
);
46
47
48
DEF_NODE_PORTS
(
ParticleSystem<TDataType>
,
ParticleSystem
,
"Particle Systems"
);
49
50
DEF_NODE_PORTS
(
TriangularSystem<TDataType>
,
TriangularSystem
,
"Triangular Systems"
);
51
52
DEF_NODE_PORTS
(
VolumeOctree<TDataType>
, Boundary,
"Adaptive SDF for Obstacles"
);
53
54
protected
:
55
void
updateStates
()
override
;
56
57
private
:
58
std::vector<std::shared_ptr<RigidBody<TDataType>>>
m_rigids
;
59
std::vector<std::shared_ptr<ParticleSystem<TDataType>>>
m_particleSystems
;
60
};
61
}
DECLARE_TCLASS
#define DECLARE_TCLASS(name, T1)
Definition
Object.h:87
RigidBody.h
TriangularSystem.h
VolumeOctree.h
dyno::AdaptiveBoundary::DEF_VAR
DEF_VAR(Real, NormalFriction, 1.0, "Normal friction")
dyno::AdaptiveBoundary::DEF_NODE_PORTS
DEF_NODE_PORTS(ParticleSystem< TDataType >, ParticleSystem, "Particle Systems")
dyno::AdaptiveBoundary::m_particleSystems
std::vector< std::shared_ptr< ParticleSystem< TDataType > > > m_particleSystems
Definition
AdaptiveBoundary.h:59
dyno::AdaptiveBoundary::m_rigids
std::vector< std::shared_ptr< RigidBody< TDataType > > > m_rigids
Definition
AdaptiveBoundary.h:58
dyno::AdaptiveBoundary::Real
TDataType::Real Real
Definition
AdaptiveBoundary.h:33
dyno::AdaptiveBoundary::AdaptiveBoundary
AdaptiveBoundary()
dyno::AdaptiveBoundary::getNodeType
std::string getNodeType() override
Definition
AdaptiveBoundary.h:39
dyno::AdaptiveBoundary::DEF_VAR
DEF_VAR(Real, TangentialFriction, 0.0, "Tangential friction")
dyno::AdaptiveBoundary::DEF_NODE_PORTS
DEF_NODE_PORTS(TriangularSystem< TDataType >, TriangularSystem, "Triangular Systems")
dyno::AdaptiveBoundary::DEF_NODE_PORTS
DEF_NODE_PORTS(RigidBody< TDataType >, RigidBody, "A rigid body")
dyno::AdaptiveBoundary::DEF_NODE_PORTS
DEF_NODE_PORTS(VolumeOctree< TDataType >, Boundary, "Adaptive SDF for Obstacles")
dyno::AdaptiveBoundary::~AdaptiveBoundary
~AdaptiveBoundary() override
dyno::AdaptiveBoundary::Coord
TDataType::Coord Coord
Definition
AdaptiveBoundary.h:34
dyno::AdaptiveBoundary::updateStates
void updateStates() override
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::RigidBody
Definition
RigidBody.h:16
dyno::TriangularSystem
Definition
TriangularSystem.h:14
dyno::VolumeOctree
Definition
VolumeOctree.h:10
RigidBody
Definition
initializeRigidBody.h:23
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
Generated by
1.13.2