Overture
Version 25
Main Page
Namespaces
Classes
Files
File List
File Members
Overture.v25.d
include
BoundaryAdjustment.h
Go to the documentation of this file.
1
#ifndef BOUNDARY_ADJUSTMENT_H
2
#define BOUNDARY_ADJUSTMENT_H
3
4
// The BoundaryAdjustment object stores the information needed to
5
// adjust the boundaries of a grid with respect to a second grid.
6
// This is basically a stupid container class. The grid generator knows
7
// how to fill in the values into the data members of this class.
8
9
#include "
GenericDataBase.h
"
10
#include "
OvertureTypes.h
"
11
12
class
13
BoundaryAdjustment
14
{
15
public
:
16
enum
SidesShareEnum
17
{
18
doNotShare
=0,
19
share
=1,
20
unknown
,
21
shareButNoAdjustmentNeeded
22
};
23
24
25
BoundaryAdjustment
();
26
~BoundaryAdjustment
();
27
28
BoundaryAdjustment
&
operator=
(
const
BoundaryAdjustment
& x);
29
BoundaryAdjustment
(
const
BoundaryAdjustment
& x);
30
31
int
reference
(
const
BoundaryAdjustment
& x);
32
real
sizeOf
(FILE *file =
NULL
)
const
;
33
34
int
create
();
35
int
destroy
();
36
37
RealArray
&
boundaryAdjustment
(){
assert
(
ba
!=
NULL
);
return
*
ba
; }
38
RealArray
&
acrossGrid
(){
assert
(
ag
!=
NULL
);
return
*
ag
;}
39
RealArray
&
oppositeBoundary
(){
assert
(
ob
!=
NULL
);
return
*
ob
;}
40
IntegerArray
&
sidesShare
(){
assert
(
ss
!=
NULL
);
return
*
ss
;}
41
42
// Are there any shared sides:
43
SidesShareEnum
hasSharedSides
()
const
{
return
(
SidesShareEnum
)
sharedSidesExist
;}
44
SidesShareEnum
&
hasSharedSides
() {
return
(
SidesShareEnum
&)
sharedSidesExist
;}
45
46
// is a face shared with (side,axis) of the other grid:
47
SidesShareEnum
sidesShare
(
int
side,
int
axis)
const
;
48
49
50
// return true if the grid functions and arrays have been built.
51
bool
wasCreated
()
const
{
return
ba
!=
NULL
; }
//
52
53
int
computedGeometry
;
// put for backward compatibility
54
55
protected
:
56
RealArray
*
ba
, *
ag
, *
ob
;
57
IntegerArray
*
ss
;
58
int
sharedSidesExist
;
59
60
};
61
62
#endif
Generated on Fri Jan 4 2013 10:17:48 for Overture by
1.8.3