2 #ifndef _PROTO_MB_BOUNDARY_DATA_ 3 #define _PROTO_MB_BOUNDARY_DATA__ 10 template<
typename T,
unsigned int C, MemType MEM>
49 std::shared_ptr<BoxData<T, C, MEM>> localData;
50 std::shared_ptr<BoxData<T, C, MEM>>
adjData;
53 template<
typename T,
unsigned int C, MemType MEM>
56 template<
typename T,
unsigned int C, MemType MEM>
66 define(a_layout, a_localIndex, a_adjIndex, a_localBox, a_adjBox, a_adjToLocal, a_ghost);
69 template<
typename T,
unsigned int C, MemType MEM>
84 localData = std::make_shared<BoxData<T, C, MEM>>(
localBox, 7);
93 template<
typename T,
unsigned int C, MemType MEM>
101 template<
typename T,
unsigned int C, MemType MEM>
105 "MBBoundaryData::localFace | Error: This boundary is not a codimension 1 face");
106 for (
int ii = 0; ii < DIM; ii++)
116 template<
typename T,
unsigned int C, MemType MEM>
120 "MBBoundaryData::localFace | Error: This boundary is not a codimension 1 face");
121 for (
int ii = 0; ii < DIM; ii++)
131 template<
typename T,
unsigned int C, MemType MEM>
134 pr_out() <<
" | localBoundary: " << localData->box();
135 pr_out() <<
" | adjBoundary: " <<
adjData->box() << std::endl;
138 #endif //end include guard Point localDir
Definition: Proto_MBBoundaryData.H:44
MBIndex adjIndex
Definition: Proto_MBBoundaryData.H:43
Definition: Proto_Face.H:122
Point localGhost
Definition: Proto_MBBoundaryData.H:47
void copyTo(BoxData< T, C, MEM_DEST, D, E > &a_dest) const
Copy on Intersection.
Multidimensional Rectangular Array.
Definition: Proto_BoxData.H:314
Low side; normal is in negative coordinate direction.
Definition: Proto_Face.H:26
Defines discrete rotations in logically rectangular coordinate systems.
Definition: Proto_CoordPermutation.H:13
Point adjGhost
Definition: Proto_MBBoundaryData.H:48
Point adjDir
Definition: Proto_MBBoundaryData.H:45
std::shared_ptr< BoxData< T, C, MEM > > adjData
Definition: Proto_MBBoundaryData.H:50
CoordPermutation inverse() const
Compute and return the inverse Permutation.
Point connectivity(const MBPoint &patch_1, const MBPoint &patch_2) const
Definition: Proto_MBDisjointBoxLayout.H:247
An interval in DIM dimensional space.
Definition: Proto_Box.H:29
Box adjBox() const
Definition: Proto_MBBoundaryData.H:37
Face localFace() const
Definition: Proto_MBBoundaryData.H:102
CoordPermutation adjToLocal
Definition: Proto_MBBoundaryData.H:46
Box grow(int a_numpoints) const
Isotropic Grow Operation.
Definition: Proto_MBBoundaryData.H:11
Face adjFace() const
Definition: Proto_MBBoundaryData.H:117
#define PROTO_ASSERT(stmt, args...)
Definition: Proto_PAssert.H:48
void print()
Definition: Proto_MBBoundaryData.H:132
std::ostream & pr_out()
Use this in place of std::cout for program output.
void fill(const BoxData< T, C, MEM > &a_data)
Definition: Proto_MBBoundaryData.H:94
void define(MBDisjointBoxLayout a_layout, MBIndex a_localIndex, MBIndex a_adjIndex, Box a_localBox, Box a_adjBox, CoordPermutation a_adjToLocal, Point a_ghost=Point::Zeros())
Definition: Proto_MBBoundaryData.H:70
static ACCEL_DECORATION Point Zeros()
Get Zeros.
Definition: Proto_Array.H:17
MBDisjointBoxLayout layout
Definition: Proto_MBBoundaryData.H:41
Integer Valued Vector.
Definition: Proto_Point.H:24
Definition: Proto_MBDisjointBoxLayout.H:14
Box localBox() const
Definition: Proto_MBBoundaryData.H:36
MBIndex localIndex
Definition: Proto_MBBoundaryData.H:42
int codim() const
Query Codimension.
High side; normal is in the positive coordinate direction.
Definition: Proto_Face.H:27
MBBoundaryData()
Definition: Proto_MBBoundaryData.H:54