PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Dynamics
Cuda
ParticleSystem
Emitters
ParticleEmitter.cpp
Go to the documentation of this file.
1
#include "
ParticleEmitter.h
"
2
3
namespace
dyno
4
{
5
template
<
typename
TDataType>
6
ParticleEmitter<TDataType>::ParticleEmitter
()
7
:
ParametricModel
<TDataType>()
8
{
9
this->
setForceUpdate
(
true
);
10
this->
setAutoHidden
(
false
);
11
12
this->varVelocityMagnitude()->setRange(
Real
(0),
Real
(10));
13
this->varSamplingDistance()->setRange(
Real
(0.001),
Real
(1.0));
14
this->varSpacing()->setRange(
Real
(0),
Real
(2));
15
}
16
17
template
<
typename
TDataType>
18
ParticleEmitter<TDataType>::~ParticleEmitter
()
19
{
20
mPosition
.clear();
21
mVelocity
.clear();
22
}
23
24
template
<
typename
TDataType>
25
void
ParticleEmitter<TDataType>::generateParticles
()
26
{
27
28
}
29
30
template
<
typename
TDataType>
31
void
ParticleEmitter<TDataType>::resetStates
()
32
{
33
ParametricModel<TDataType>::resetStates
();
34
35
mTimeInterval
= 0;
36
}
37
38
template
<
typename
TDataType>
39
void
ParticleEmitter<TDataType>::updateStates
()
40
{
41
mPosition
.clear();
42
mVelocity
.clear();
43
44
Real
d = (this->stateElapsedTime()->getValue() -
mTimeInterval
) * this->varVelocityMagnitude()->getValue();
45
46
if
(d > this->varSamplingDistance()->getValue() * this->varSpacing()->getValue())
47
{
48
this->
generateParticles
();
49
50
mTimeInterval
= this->stateElapsedTime()->getValue();
51
}
52
}
53
54
template
<
typename
TDataType>
55
std::string
ParticleEmitter<TDataType>::getNodeType
()
56
{
57
return
"Particle Emitters"
;
58
}
59
60
DEFINE_CLASS
(
ParticleEmitter
);
61
}
ParticleEmitter.h
DEFINE_CLASS
#define DEFINE_CLASS(name)
Definition
Object.h:140
dyno::Node::resetStates
virtual void resetStates()
Definition
Node.cpp:214
dyno::Node::setForceUpdate
void setForceUpdate(bool b)
Definition
Node.cpp:544
dyno::Node::setAutoHidden
void setAutoHidden(bool con)
Definition
Node.cpp:68
dyno::ParametricModel::ParametricModel
ParametricModel()
Definition
ParametricModel.cpp:6
dyno::ParticleEmitter
Definition
ParticleEmitter.h:27
dyno::ParticleEmitter::~ParticleEmitter
~ParticleEmitter() override
Definition
ParticleEmitter.cpp:18
dyno::ParticleEmitter::resetStates
void resetStates() override
Definition
ParticleEmitter.cpp:31
dyno::ParticleEmitter::updateStates
void updateStates() final
Definition
ParticleEmitter.cpp:39
dyno::ParticleEmitter::Real
TDataType::Real Real
Definition
ParticleEmitter.h:29
dyno::ParticleEmitter::mVelocity
DArray< Coord > mVelocity
Definition
ParticleEmitter.h:76
dyno::ParticleEmitter::getNodeType
std::string getNodeType() override
Definition
ParticleEmitter.cpp:55
dyno::ParticleEmitter::generateParticles
virtual void generateParticles()
Definition
ParticleEmitter.cpp:25
dyno::ParticleEmitter::mPosition
DArray< Coord > mPosition
Definition
ParticleEmitter.h:75
dyno::ParticleEmitter::ParticleEmitter
ParticleEmitter()
Definition
ParticleEmitter.cpp:6
dyno::ParticleEmitter::mTimeInterval
Real mTimeInterval
Definition
ParticleEmitter.h:78
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
Generated by
1.13.2