PeriDyno 1.0.0
Loading...
Searching...
No Matches
SurfaceParticleTracking.h
Go to the documentation of this file.
1
16#pragma once
17
18#include "GranularMedia.h"
19
20#include "Topology/PointSet.h"
21
22namespace dyno
23{
28 template<typename TDataType>
30 {
32 public:
33 typedef typename TDataType::Real Real;
34 typedef typename ::dyno::Vector<Real, 3> Coord3D;
35 typedef typename ::dyno::Vector<Real, 4> Coord4D;
36
39
40 public:
41 DEF_VAR(uint, Layer, 1, "");
42 DEF_VAR(Real, Spacing, 0.25f, "Particle sampling distance");
43
45
46 public:
47 DEF_INSTANCE_STATE(PointSet<TDataType>, PointSet, "Particles used to visualize granular media");
48
49 protected:
50 void resetStates() override;
51
52 void updateStates() override;
53
54 bool validateInputs() override;
55
56 private:
57 void advect();
58
59 void deposit();
60
61 void generate();
62
64
65 private:
66 int mNx;
67 int mNy;
68 int mNz;
69
72
75
77 };
78}
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
This class implements the shallow sand equation to simulate dry granular flows. For more details,...
A PointSet stores the coordinates for a set of independent points.
Definition PointSet.h:8
bool validateInputs() override
DEF_VAR(uint, Layer, 1, "")
DEF_VAR(Real, Spacing, 0.25f, "Particle sampling distance")
::dyno::Vector< Real, 3 > Coord3D
::dyno::Vector< Real, 4 > Coord4D
DEF_NODE_PORT(GranularMedia< TDataType >, GranularMedia, "")
DEF_INSTANCE_STATE(PointSet< TDataType >, PointSet, "Particles used to visualize granular media")
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
Array3D< T, DeviceType::GPU > DArray3D
Definition Array3D.inl:90
unsigned int uint
Definition VkProgram.h:14