PeriDyno 1.0.0
Loading...
Searching...
No Matches
ParticleSystem.h
Go to the documentation of this file.
1#pragma once
2#include "Node.h"
3
4#include "Topology/PointSet.h"
5
6namespace dyno
7{
12 class ParticleSystem : public Node
13 {
15 public:
17 ~ParticleSystem() override;
18
19 std::string getNodeType() override;
20
21 float getDt() override { return 0.001f; }
22
23 public:
27 DEF_ARRAY_STATE(Vec3f, Position, DeviceType::GPU, "Particle position");
28
32 DEF_ARRAY_STATE(Vec3f, Velocity, DeviceType::GPU, "Particle velocity");
33
37 DEF_ARRAY_STATE(Vec3f, Force, DeviceType::GPU, "Force on each particle");
38
43
44 protected:
45 void resetStates() override;
46 };
47}
#define DECLARE_CLASS(name)
Definition Object.h:65
This class represents the base class for more advanced particle-based nodes.
DEF_ARRAY_STATE(Vec3f, Force, DeviceType::GPU, "Force on each particle")
Particle force.
void resetStates() override
float getDt() override
Simulation timestep.
std::string getNodeType() override
DEF_ARRAY_STATE(Vec3f, Velocity, DeviceType::GPU, "Particle velocity")
Particle velocity.
DEF_INSTANCE_STATE(PointSet, PointSet, "Topology")
A topology.
DEF_ARRAY_STATE(Vec3f, Position, DeviceType::GPU, "Particle position")
Particle position.
~ParticleSystem() override
A PointSet stores the coordinates for a set of independent points.
Definition PointSet.h:8
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
Vector< float, 3 > Vec3f
Definition Vector3D.h:93