ESyS-Particle
2.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
RandomAssembly3D.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 __RANDOMASSEMBLY3D_H
14
#define __RANDOMASSEMBLY3D_H
15
16
//-- project includes --
17
#include "
Geometry/ARandomAssembly.h
"
18
#include "
Geometry/SimpleParticle.h
"
19
#include "
Geometry/BasicInteraction.h
"
20
#include "
Geometry/Plane3D.h
"
21
22
//-- STL includes --
23
#include <vector>
24
#include <set>
25
26
using
std::set;
27
using
std::vector;
28
37
class
ARandomAssembly3D
:
public
ARandomAssembly
38
{
39
protected
:
40
vector<Plane3D>
Borders
;
41
double
m_rmin
,
m_rmax
;
42
double
m_xmin
,
m_xmax
,
m_ymin
,
m_ymax
,
m_zmin
,
m_zmax
;
43
bool
m_circ_x
;
44
45
virtual
Vec3
getAPoint
()=0;
46
47
bool
findAFit
(
SimpleParticle
&,
const
vector<SimpleParticle>&);
48
bool
findAFit
(
SimpleParticle
&,
const
vector<SimpleParticle>&,
const
Plane3D
&);
49
virtual
bool
checkAFit
(
const
SimpleParticle
&);
50
virtual
Plane3D
getClosestPlane
(
const
SimpleParticle
&);
51
void
fillSpace
(
int
);
52
virtual
int
getNParts
()
const
=0;
53
54
public
:
55
virtual
void
generate
(
int
,
unsigned
int
)=0;
56
virtual
void
insertParticle
(
const
SimpleParticle
)=0;
57
virtual
void
tagParticleClosestTo
(
const
Vec3
&,
int
)=0;
58
virtual
void
tagEdgeY
(
int
,
int
,
double
)=0;
59
virtual
void
tagEdgeZ
(
int
,
int
,
double
)=0;
60
};
61
62
#endif // __RANDOMASSEMBLY3D_H
Geometry
RandomAssembly3D.h
Generated on Mon May 6 2013 23:26:29 for ESyS-Particle by
1.8.3.1