1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
template <class T>
TStdVectorField<T>::TStdVectorField(ParallelParticleArray<T>* ppa,double (T::*af)()const)
{
m_accessFn=af;
m_ppa_ptr=ppa;
AddShape("rawp");
}
template <class T>
int TStdVectorField<T>::getSize()const
{
return m_field_values.size();
}
template <class T>
int TStdVectorField<T>::idx(int i)const
{
int res;
if(i<m_field_values.size()){
res=m_field_values[i].first;
} else {
res=0;
}
return res;
}
template <class T>
Vec3 TStdVectorField<T>::pos(int i) const
{
Vec3 res;
if(i<m_particles->size()){
res=(*m_particles)[i]->getPos();
}
return res;
}
|