PeriDyno 1.0.0
Loading...
Searching...
No Matches
VolumeBoundary.h
Go to the documentation of this file.
1#pragma once
2#include "Volume/Volume.h"
3
4#include "ParticleSystem/ParticleSystem.h"
7
8namespace dyno
9{
10 template <typename TDataType> class BoundaryConstraint;
11
12 template<typename TDataType>
13 class VolumeBoundary : public Node
14 {
16 public:
17 typedef typename TDataType::Real Real;
18 typedef typename TDataType::Coord Coord;
19
21 ~VolumeBoundary() override;
22
23 std::string getNodeType() override { return "Multiphysics"; }
24
25 public:
26 DEF_VAR(Real, NormalFriction, Real(0.95), "Normal friction");
27 DEF_VAR(Real, TangentialFriction, Real(0), "Tangential friction");
28
29 public:
30 DEF_NODE_PORTS(Volume<TDataType>, Volume, "Level sets used as boundary");
31
33
35
37
39
40 protected:
41 void updateStates() override;
42
43 private:
44 void updateVolume();
45
46 std::shared_ptr <BoundaryConstraint<TDataType>> mBoundaryConstraint;
47 };
48
50}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
#define IMPLEMENT_TCLASS(name, T1)
Definition Object.h:103
This class represents the base class for more advanced particle-based nodes.
DEF_NODE_PORTS(ParticleSystem< TDataType >, ParticleSystem, "Particle Systems")
DEF_NODE_PORTS(TriangularSystem< TDataType >, TriangularSystem, "Triangular Systems")
DEF_VAR(Real, NormalFriction, Real(0.95), "Normal friction")
DEF_NODE_PORTS(TetrahedralSystem< TDataType >, TetrahedralSystem, "Tetrahedral Systems")
DEF_INSTANCE_STATE(TopologyModule, Topology, "")
DEF_NODE_PORTS(Volume< TDataType >, Volume, "Level sets used as boundary")
DEF_VAR(Real, TangentialFriction, Real(0), "Tangential friction")
TDataType::Real Real
void updateStates() override
TDataType::Coord Coord
std::shared_ptr< BoundaryConstraint< TDataType > > mBoundaryConstraint
std::string getNodeType() override
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25