Mesh Oriented datABase
(version 5.5.1)
An array-based unstructured mesh library
Intx2MeshOnSphere.hpp
Go to the documentation of this file.
1
/*
2
* Intx2MeshOnSphere.hpp
3
*
4
* Created on: Oct 3, 2012
5
* Author: iulian
6
*/
7
8
#ifndef INTX2MESHONSPHERE_HPP_
9
#define INTX2MESHONSPHERE_HPP_
10
11
#include "
Intx2Mesh.hpp
"
12
13
namespace
moab
14
{
15
16
class
Intx2MeshOnSphere
:
public
moab::Intx2Mesh
17
{
18
public
:
19
Intx2MeshOnSphere
(
Interface
* mbimpl,
IntxAreaUtils::AreaMethod
amethod =
IntxAreaUtils::lHuiller
);
20
21
virtual
~Intx2MeshOnSphere
();
22
23
void
set_radius_source_mesh
(
double
radius )
24
{
25
Rsrc
= radius;
26
}
27
void
set_radius_destination_mesh
(
double
radius )
28
{
29
Rdest
= radius;
30
}
31
32
double
setup_tgt_cell
(
EntityHandle
tgt,
int
& nsTgt );
33
34
// main method to intersect meshes on a sphere
35
36
ErrorCode
computeIntersectionBetweenTgtAndSrc
(
EntityHandle
tgt,
37
EntityHandle
src,
38
double
* P,
39
int
& nP,
40
double
& area,
41
int
markb[
MAXEDGES
],
42
int
markr[
MAXEDGES
],
43
int
& nsSrc,
44
int
& nsTgt,
45
bool
check_boxes_first =
false
);
46
47
ErrorCode
findNodes
(
EntityHandle
tgt,
int
nsTgt,
EntityHandle
src,
int
nsSrc,
double
* iP,
int
nP );
48
49
ErrorCode
update_tracer_data
(
EntityHandle
out_set,
Tag
& tagElem,
Tag
& tagArea );
50
#ifdef MOAB_HAVE_MPI
51
virtual
ErrorCode
construct_covering_set(
EntityHandle
& initial_distributed_set,
52
EntityHandle
& covering_set,
53
bool
gnomonic =
true
,
54
int
order = 1 );
55
56
virtual
ErrorCode
build_processor_euler_boxes(
EntityHandle
euler_set,
Range
& local_verts,
bool
gnomonic =
true
);
57
#endif
58
59
const
IntxAreaUtils::AreaMethod
areaMethod
;
60
61
private
:
62
int
plane
;
// current gnomonic plane
63
double
Rsrc
,
Rdest
;
// radius of the sphere
64
};
65
66
}
/* namespace moab */
67
#endif
/* INTX2MESHONSPHERE_HPP_ */
src
moab
IntxMesh
Intx2MeshOnSphere.hpp
Generated on Sun Dec 22 2024 02:06:25 for Mesh Oriented datABase by
1.9.1.