21 #include "NamespaceHeader.H" 43 BoxLayout bl1; //fill this one with starting layout
46 bl2.transform(mytrans);
74 Entry(
const Box& a_box,
const unsigned int a_index)
272 bool sameBoxes(
const BoxLayout& a_layout)
const;
277 int numBoxes(
const int procID)
const;
280 long long numCells()
const;
290 unsigned int index(
const LayoutIndex& index)
const;
292 unsigned int lindex(
const DataIndex& index)
const;
317 return m_boxes.refCount();
411 bool coarsenable(
int refRatio)
const;
455 void convertOldToNew(
const IntVect& a_permutation,
463 void convertNewToOld(
const IntVect& a_permutation,
489 void grow(
int a_growth);
501 void grow(
int a_dir,
int a_growth);
507 void shift(
const IntVect& a_iv);
513 void shiftHalf(
const IntVect& a_iv);
526 void operator&= (
const Box& a_box);
565 setProcID(
const LayoutIndex& a_index,
unsigned int a_procID);
589 dataIterator()
const;
593 timedDataIterator()
const;
601 layoutIterator()
const;
636 inline unsigned int indexI(
const LayoutIndex&)
const;
644 void buildDataIndex();
671 coarsen(output, input, refinement);
677 refine(output, input, refinement);
688 return m_boxes->operator[](a_layoutIndex.
m_index).
box;
695 bool secondcomp =
true;
696 if((m_boxes->size() >0) && (rhs.
m_boxes->
size() > 0))
698 secondcomp = (m_boxes->operator[](0).
box == rhs.
m_boxes->operator[](0).box);
701 return (firstcomp && secondcomp);
707 if(*
this == rhs)
return false;
719 return m_boxes->operator[](a_layoutIndex.
m_index).
box;
738 return m_boxes->operator[](a_layoutIndex.
m_index).m_procID;
745 m_boxes->operator[](a_layoutIndex.
m_index).m_procID = a_procID;
753 #include "NamespaceFooter.H" bool operator<(const BoxLayout &rhs) const
Definition: BoxLayout.H:705
bool compatible(const BoxLayout &a_rhs) const
Definition: BoxLayout.H:353
A reference-counting handle class.
Definition: RefCountedPtr.H:173
#define CH_assert(cond)
Definition: CHArray.H:37
Box refine(const Box &b, const IntVect &refinement_ratio)
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
RefCountedPtr< bool > m_closed
Definition: BoxLayout.H:650
A not-necessarily-disjoint collective of boxes.
Definition: BoxLayout.H:145
Data that maintains a one-to-one mapping of T to the boxes in a BoxLayout.
Definition: BoxLayout.H:26
Entry()
Definition: BoxLayout.H:63
void refine_bl(BoxLayout &output, const BoxLayout &input, int refinement)
Definition: BoxLayout.H:675
std::ostream & operator<<(std::ostream &os, const BoxLayout &a_layout)
Box box
Definition: BoxLayout.H:85
bool operator==(const BoxLayout &rhs) const
Definition: BoxLayout.H:692
int refCount() const
Definition: BoxLayout.H:315
Definition: DataIterator.H:190
void p() const
Definition: BoxLayout.H:621
RefCountedPtr< Vector< LayoutIndex > > m_indicies
Definition: BoxLayout.H:653
An Iterator based on a BoxLayout object.
Definition: LayoutIterator.H:35
RefCountedPtr< int > m_layout
Definition: BoxLayout.H:649
Definition: EBInterface.H:45
const Vector< Entry > * rawPtr() const
Definition: BoxLayout.H:638
void coarsen_bl(BoxLayout &output, const BoxLayout &input, int refinement)
Definition: BoxLayout.H:669
IndexTM< T, N > coarsen(const IndexTM< T, N > &a_p, T a_s)
Definition: IndexTMI.H:430
Box operator[](const LayoutIndex &it) const
Definition: BoxLayout.H:685
unsigned int index(const LayoutIndex &index) const
Definition: BoxLayout.H:723
const int * m_layoutIntPtr
Definition: DataIndex.H:100
RefCountedPtr< bool > m_sorted
Definition: BoxLayout.H:651
bool check(const LayoutIndex &index) const
Definition: BoxLayout.H:345
void setProcID(const LayoutIndex &a_index, unsigned int a_procID)
Definition: BoxLayout.H:742
Box surroundingNodes(const Box &b, int dir)
Definition: Box.H:2145
bool operator<(const FaceIndex &f1, const FaceIndex &f2)
Definition: FaceIndex.H:212
BoxLayout m_layout
Definition: LayoutIterator.H:100
Box grow(const Box &b, int i)
Definition: Box.H:2261
Entry(const Box &a_box)
Definition: BoxLayout.H:68
Box enclosedCells(const Box &b, int dir)
Definition: Box.H:2162
LoHiSide
Definition: LoHiSide.H:27
Box get(const LayoutIndex &it) const
Definition: BoxLayout.H:716
size_t size() const
Definition: Vector.H:192
bool isSorted() const
Definition: BoxLayout.H:338
Entry(const Box &a_box, const unsigned int a_index)
Definition: BoxLayout.H:74
RefCountedPtr< Vector< Entry > > m_boxes
Definition: BoxLayout.H:648
RefCountedPtr< DataIterator > m_dataIterator
Definition: BoxLayout.H:652
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
Definition: DataIndex.H:112
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
An index for LayoutIterator.
Definition: DataIndex.H:30
bool isClosed() const
Definition: BoxLayout.H:729
void mortonOrdering(Vector< Box > &a_boxes)
int m_index
Definition: DataIndex.H:98
int procID()
local process ID
unsigned int m_procID
Definition: BoxLayout.H:86
Definition: BoxLayout.H:61
Definition: TimedDataIterator.H:23
unsigned int procID(const LayoutIndex &a_index) const
Definition: BoxLayout.H:735
bool eq(const BoxLayout &rhs) const
Definition: BoxLayout.H:323