Mesh Oriented datABase
(version 5.5.1)
An array-based unstructured mesh library
IntxRllCssphere.hpp
Go to the documentation of this file.
1
/*
2
* IntxRllCssphere.hpp
3
*
4
*/
5
6
#ifndef INTXRLLCSSPHERE_HPP_
7
#define INTXRLLCSSPHERE_HPP_
8
9
#include "
Intx2Mesh.hpp
"
10
11
namespace
moab
12
{
13
14
class
IntxRllCssphere
:
public
moab::Intx2Mesh
15
{
16
public
:
17
IntxRllCssphere
(
Interface
* mbimpl );
18
19
virtual
~IntxRllCssphere
();
20
21
void
set_radius
(
double
radius )
22
{
23
R
= radius;
24
}
25
26
double
setup_tgt_cell
(
EntityHandle
tgt,
int
& nsTgt );
27
28
// src cell will be always lat lon cell, so it will be a rectangle in lat-lon coors
29
// it will be used for "interior" determinations of other points
30
// double setup_src_cell(EntityHandle src, int & nsSrc);
31
32
// main method to intersect meshes on a sphere
33
34
ErrorCode
computeIntersectionBetweenTgtAndSrc
(
EntityHandle
tgt,
35
EntityHandle
src,
36
double
* P,
37
int
& nP,
38
double
& area,
39
int
markb[
MAXEDGES
],
40
int
markr[
MAXEDGES
],
41
int
& nsSrc,
42
int
& nsTgt,
43
bool
check_boxes_first =
false
);
44
45
ErrorCode
findNodes
(
EntityHandle
tgt,
int
nsTgt,
EntityHandle
src,
int
nsSrc,
double
* iP,
int
nP );
46
47
private
:
48
double
R
;
// radius of the sphere
49
int
plane
;
// current gnomonic plane, will still be used for projection
50
int
srcEdgeType
[4];
// at most 4
51
// these could be from [-PI/2, +PI/2] and [0 to 2*PI]
52
};
53
54
}
/* namespace moab */
55
#endif
/* INTXRLLCSSPHERE_HPP_ */
src
moab
IntxMesh
IntxRllCssphere.hpp
Generated on Tue Oct 29 2024 02:05:42 for Mesh Oriented datABase by
1.9.1.