PeriDyno 1.0.0
Loading...
Searching...
No Matches
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
23
24#include "RigidBody/RigidBody.h"
25
26namespace dyno
27{
28 template<typename TDataType>
29 class AdaptiveBoundary : public Node
30 {
32 public:
33 typedef typename TDataType::Real Real;
34 typedef typename TDataType::Coord Coord;
35
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
46
47
49
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}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
DEF_VAR(Real, NormalFriction, 1.0, "Normal friction")
DEF_NODE_PORTS(ParticleSystem< TDataType >, ParticleSystem, "Particle Systems")
std::vector< std::shared_ptr< ParticleSystem< TDataType > > > m_particleSystems
std::vector< std::shared_ptr< RigidBody< TDataType > > > m_rigids
std::string getNodeType() override
DEF_VAR(Real, TangentialFriction, 0.0, "Tangential friction")
DEF_NODE_PORTS(TriangularSystem< TDataType >, TriangularSystem, "Triangular Systems")
DEF_NODE_PORTS(RigidBody< TDataType >, RigidBody, "A rigid body")
DEF_NODE_PORTS(VolumeOctree< TDataType >, Boundary, "Adaptive SDF for Obstacles")
~AdaptiveBoundary() override
void updateStates() override
This class represents the base class for more advanced particle-based nodes.
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25