ESyS-Particle
2.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
SimpleNTable.h
Go to the documentation of this file.
1
2
// //
3
// Copyright (c) 2003-2013 by The University of Queensland //
4
// Earth Systems Science Computational Centre (ESSCC) //
5
// http://www.uq.edu.au/esscc //
6
// //
7
// Primary Business: Brisbane, Queensland, Australia //
8
// Licensed under the Open Software License version 3.0 //
9
// http://www.opensource.org/licenses/osl-3.0.php //
10
// //
12
13
#ifndef __SIMPLENTABLE_H
14
#define __SIMPLENTABLE_H
15
16
//-- project includes --
17
#include "
Geometry/SimpleParticle.h
"
18
#include "
Geometry/BasicInteraction.h
"
19
20
//-- STL-includes --
21
#include <vector>
22
#include <set>
23
24
using
std::vector;
25
using
std::set;
26
35
class
ASimpleNTable
36
{
37
protected
:
38
vector<SimpleParticle> *
m_data
;
39
Vec3
m_p0
;
40
double
m_dim
;
41
int
m_numInsertedParticles
;
42
43
virtual
int
index
(
const
Vec3
&)
const
=0;
44
virtual
vector<int>
allidx
(
const
Vec3
&)
const
=0;
45
virtual
void
insertParticleCircular
(
SimpleParticle
)=0;
46
47
public
:
48
ASimpleNTable
();
49
virtual
~ASimpleNTable
();
50
51
int
getNumInsertedParticles
()
const
;
52
const
vector<SimpleParticle>*
getNeighbors
(
const
Vec3
&)
const
;
53
int
getClosestParticleID
(
const
Vec3
&)
const
;
54
virtual
void
getInteractions
(set<BasicInteraction,BILess>&,
double
)=0;
55
void
insertParticle
(
SimpleParticle
);
56
};
57
67
class
CSimple2DNTable
:
public
ASimpleNTable
68
{
69
private
:
70
Vec3
m_xshift
,
m_yshift
;
71
int
m_xsize
,
m_ysize
;
72
bool
m_xcirc
,
m_ycirc
;
73
74
protected
:
75
virtual
int
index
(
const
Vec3
&)
const
;
76
virtual
vector<int>
allidx
(
const
Vec3
&)
const
;
77
virtual
void
insertParticleCircular
(
SimpleParticle
);
78
79
public
:
80
CSimple2DNTable
(
const
Vec3
&,
const
Vec3
&,
double
,
bool
xcirc=
false
,
bool
ycirc=
false
);
81
virtual
void
getInteractions
(set<BasicInteraction,BILess>&,
double
);
82
void
print
();
83
};
84
85
86
#endif //__SIMPLENTABLE_H
Geometry
SimpleNTable.h
Generated on Mon May 6 2013 23:26:29 for ESyS-Particle by
1.8.3.1