1
2
3
4
5
6
7#ifndef pSourceState_h
8#define pSourceState_h
9
10#include "Particle/pDomain.h"
11
13
14
15
16
17
18
19
20
22public:
23
36
37public:
39 Up_(
new PDPoint(pVec(0
, 1
, 0
))),
Vel_(
new PDPoint(pVec(0
, 0
, 0
))),
RotVel_(
new PDPoint(pVec(0
, 0
, 0
))),
VertexB_(
new PDPoint(pVec(0
, 0
, 0
))),
41 {
47 }
48
50 {
58
64
65 return *this;
66 }
67
68
69
70
71
72
74
75
76
77
78
79
81
82
83
84
85
86
87
88
89
90
91
93 {
96 }
97
98
99
100
101
102
103
104
105
106
107
110 )
111 {
114 }
115
116
117
118
119
120
122
123
124
125
126
127
129
130
131
132
133
134
135
136
137
138
139
141
142
143
144
145
146
148
149
151
152
153
154
155
156
157
159
160
161
162
163
164
165
166
167
169 const float sigma = 0.0f)
170 {
173 }
174
175
176
177
178
179
181
182
183
184
185
186
187
189
190
191
192
193
194
196
197
198
199
201
202
203
204
205
206
208
209
210
211
212
213
215
216
217
218
219
220
222
223
224
225
227};
228};
229
230#endif
A representation of a region of space.
Definition: pDomain.h:55
virtual std::shared_ptr< pDomain > copy() const =0
These functions set the current state needed by Source() and Vertex() actions.
Definition: pSourceState.h:21
std::shared_ptr< pDomain > Color_
Definition: pSourceState.h:29
pSourceState & operator=(const pSourceState &src)
Definition: pSourceState.h:49
void VertexB(const pDomain &dom)
Specify the domain for the initial secondary position of new particles.
Definition: pSourceState.h:214
void RotVelocity(const pVec &v)
Specify the initial rotational velocity vector of particles to be created.
Definition: pSourceState.h:150
void Reset()
Reset all particle creation state to default values.
Definition: pSourceState.h:226
void VertexBTracks(const bool track_vertex=true)
Specify that the initial secondary position of new particles be the same as their position.
Definition: pSourceState.h:221
pdata_t Data_
Definition: pSourceState.h:31
void StartingAge(const float age, const float sigma=0.0f)
Specify the initial age of particles to be created.
Definition: pSourceState.h:168
void Velocity(const pVec &vel)
Specify the initial velocity vector of particles to be created.
Definition: pSourceState.h:195
void Color(const float red, const float green, const float blue, const float alpha=1.0f)
Specify the color of particles to be created.
Definition: pSourceState.h:80
std::shared_ptr< pDomain > Vel_
Definition: pSourceState.h:25
void Color(const pDomain &cdom, const pDomain &adom)
Specify the domain for colors and alpha value of new particles.
Definition: pSourceState.h:108
void Mass(const float mass)
Specify the mass of particles to be created.
Definition: pSourceState.h:147
std::shared_ptr< pDomain > RotVel_
Definition: pSourceState.h:26
std::shared_ptr< pDomain > VertexB_
Definition: pSourceState.h:27
float Age_
Definition: pSourceState.h:32
float Mass_
Definition: pSourceState.h:34
std::shared_ptr< pDomain > Alpha_
Definition: pSourceState.h:30
float AgeSigma_
Definition: pSourceState.h:33
void Velocity(const pDomain &dom)
Specify the domain for the initial velocity vector of particles to be created.
Definition: pSourceState.h:200
void RotVelocity(const pDomain &dom)
Specify the domain for the initial rotational velocity vector of particles to be created.
Definition: pSourceState.h:158
void Size(const pDomain &dom)
Specify the domain for the size of particles to be created.
Definition: pSourceState.h:140
pSourceState()
Definition: pSourceState.h:38
void Color(const pVec &color, const float alpha=1.0f)
Specify the color of particles to be created.
Definition: pSourceState.h:73
std::shared_ptr< pDomain > Size_
Definition: pSourceState.h:28
void Color(const pDomain &cdom)
Specify the domain for colors and alpha value of new particles.
Definition: pSourceState.h:92
std::shared_ptr< pDomain > Up_
Definition: pSourceState.h:24
void Data(const pdata_t data)
Specify the user data of particles to be created.
Definition: pSourceState.h:121
void VertexB(const pVec &v)
Specify the initial secondary position of new particles.
Definition: pSourceState.h:207
void Size(const pVec &size)
Specify the size of particles to be created.
Definition: pSourceState.h:128
void UpVec(const pDomain &dom)
Specify the domain for the initial up vector of particles to be created.
Definition: pSourceState.h:188
void UpVec(const pVec &up)
Specify the initial up vector of particles to be created.
Definition: pSourceState.h:180
bool vertexB_tracks_
Definition: pSourceState.h:35
A single-precision floating point three-vector.
Definition: pVec.h:63
pVec(float ax, float ay, float az)
Definition: pVec.h:67
pVec(float a)
Definition: pVec.h:68
PAPIClasses.h.
Definition: pAPIContext.h:16
unsigned int pdata_t
Definition: pDeclarations.h:16
#define PINLINE
Definition: pVec.h:20
A single point.
Definition: pDomain.h:176
PDPoint(const pVec &p0)
Definition: pDomain.h:179