2 #ifndef _PROTO_MB_BOUNDARY_REGISTER_ 3 #define _PROTO_MB_BOUNDARY_REGISTER_ 13 template<
typename T,
unsigned int C, MemType MEM, Centering CTR>
17 template<
typename T,
unsigned int C, MemType MEM, Centering CTR>
34 const MBMotionItem& a_info)
const;
38 const MBMotionItem& a_info)
const;
41 const MBMotionItem& a_info)
const;
45 template<
typename T,
unsigned int C, MemType MEM, Centering CTR>
47 :
public Copier<MBBoundaryCopierOp<T, C, MEM, CTR>,
48 MBBoxPartition, MBBoxPartition, MEM, MEM>
53 inline void buildMotionPlans(
60 template<
typename T,
unsigned int C, MemType MEM=MEMTYPE_DEFAULT, Centering CTR = PR_CELL>
82 bool a_bothSides =
true);
89 bool a_bothSides =
true);
95 unsigned int a_adjBlock);
104 inline std::vector<MBBoundaryData<T,C,MEM>> bounds(
109 inline std::vector<MBBoundaryData<T,C,MEM>> bounds(
116 unsigned int a_adjBlock);
139 unsigned int a_adjBlock);
150 unsigned int a_adjBlock);
162 inline void clearLocal();
165 inline void clearAdjacent();
181 mutable std::map<boundsKey_t, std::vector<MBBoundaryData<T, C, MEM>>>
m_bounds;
184 #include "implem/Proto_MBBoundaryRegisterImplem.H" 186 #endif // end include guard MBBoundaryCopierOp()
Definition: Proto_MBBoundaryRegister.H:23
MBBoundaryRegister< T, C, MEM, CTR > * m_data
Definition: Proto_MBBoundaryRegister.H:21
LoHiSide
Side Enum.
Definition: Proto_Face.H:23
std::tuple< Point, unsigned int, Point > boundsKey_t
Definition: Proto_MBBoundaryRegister.H:65
Multidimensional Rectangular Array.
Definition: Proto_BoxData.H:314
MBBoundaryRegister()
Trivial Constructor.
Definition: Proto_MBBoundaryRegister.H:68
MBBoundaryCopier< T, C, MEM, CTR > m_copier
Definition: Proto_MBBoundaryRegister.H:182
Copier Operator.
Definition: Proto_MBBoundaryRegister.H:18
Defines discrete rotations in logically rectangular coordinate systems.
Definition: Proto_CoordPermutation.H:13
uint64_t linearSize(const Box &a_bx, const MBIndex &a_index) const
Definition: Proto_MBBoundaryRegister.H:414
MotionItem< MBBoxPartition, MBBoxPartition > MBMotionItem
Definition: Proto_MBBoundaryRegister.H:11
An interval in DIM dimensional space.
Definition: Proto_Box.H:29
const MBDisjointBoxLayout & layout()
Definition: Proto_MBBoundaryRegister.H:171
void linearOut(void *a_buffer, const MBMotionItem &a_info) const
Definition: Proto_MBBoundaryRegister.H:423
Boundary Register.
Definition: Proto_MBBoundaryRegister.H:14
Definition: Proto_MBBoundaryData.H:11
Point ghost()
Definition: Proto_MBBoundaryRegister.H:174
std::map< boundsKey_t, std::vector< MBBoundaryData< T, C, MEM > > > m_bounds
Definition: Proto_MBBoundaryRegister.H:181
Definition: Proto_Array.H:17
Point m_ghost
Definition: Proto_MBBoundaryRegister.H:179
Integer Valued Vector.
Definition: Proto_Point.H:24
Definition: Proto_MBDisjointBoxLayout.H:14
Copier.
Definition: Proto_MBBoundaryRegister.H:46
void localCopy(const MBMotionItem &a_info) const
Definition: Proto_MBBoundaryRegister.H:455
MBDisjointBoxLayout m_layout
Definition: Proto_MBBoundaryRegister.H:180
Abstract Generic Parallel Copier.
Definition: Proto_Copier.H:60
void linearIn(void *a_buffer, const MBMotionItem &a_info) const
Definition: Proto_MBBoundaryRegister.H:439
Definition: Proto_Copier.H:22