PeriDyno 0.9.2
Loading...
Searching...
No Matches
DualParticleFluidSystem.h
Go to the documentation of this file.
1
17 //#pragma once
18#include "ParticleSystem/ParticleFluid.h"
19#include "ParticleSystem/ParticleEmitter.h"
20#include "Topology/PointSet.h"
21#include "Collision/Attribute.h"
25
26namespace dyno
27{
28 template<typename TDataType>
29 class DualParticleFluidSystem : public ParticleFluid<TDataType>
30 {
32
33 public:
34
35 typedef typename TDataType::Real Real;
36 typedef typename TDataType::Coord Coord;
37
41
42 DEF_ARRAY_STATE(Attribute, ParticleAttribute, DeviceType::GPU, "Real Particle Attribute");
43
44 DEF_ARRAY_STATE(Coord, BoundaryNorm, DeviceType::GPU, "Boundary Norm");
45
46 DEF_ARRAY_STATE(Coord, VirtualPosition, DeviceType::GPU, "Virtual Particle");
47
49
54
57 EVirtualParticleSamplingStrategy::SpatiallyAdaptiveStrategy,
58 "Virtual Particle Sampling Strategy");
59
60 protected:
61
63
65
67
69 int key
70 );
71
72 std::shared_ptr<VirtualParticleGenerator<TDataType>> vpGen;
73
74 private:
75
76 };
77
79}
80
#define DECLARE_TCLASS(name, T1)
Definition Object.h:87
#define IMPLEMENT_TCLASS(name, T1)
Definition Object.h:103
particle attribute 0x00000000: [31-30]material; [29]motion; [28]Dynamic; [27-8]undefined yet,...
Definition Attribute.h:26
void animationPipelineWithoutVirtualPartilce(int key)
DEF_ARRAY_STATE(Attribute, ParticleAttribute, DeviceType::GPU, "Real Particle Attribute")
DEF_ARRAY_STATE(Coord, VirtualPosition, DeviceType::GPU, "Virtual Particle")
DEF_ENUM(EVirtualParticleSamplingStrategy, VirtualParticleSamplingStrategy, EVirtualParticleSamplingStrategy::SpatiallyAdaptiveStrategy, "Virtual Particle Sampling Strategy")
DEF_INSTANCE_STATE(PointSet< TDataType >, VirtualPointSet, "Topology")
std::shared_ptr< VirtualParticleGenerator< TDataType > > vpGen
DECLARE_ENUM(EVirtualParticleSamplingStrategy, ColocationStrategy=0, ParticleShiftingStrategy=1, SpatiallyAdaptiveStrategy=2)
DEF_ARRAY_STATE(Coord, BoundaryNorm, DeviceType::GPU, "Boundary Norm")
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:24