Chombo + EB + MF  3.2
CellEdge.H
Go to the documentation of this file.
1 #ifdef CH_LANG_CC
2 /*
3  * _______ __
4  * / ___/ / ___ __ _ / / ___
5  * / /__/ _ \/ _ \/ V \/ _ \/ _ \
6  * \___/_//_/\___/_/_/_/_.__/\___/
7  * Please refer to Copyright.txt, in Chombo's root directory.
8  */
9 #endif
10 
11 #ifndef _CELLEDGE_H_
12 #define _CELLEDGE_H_
13 
14 
15 #include "MayDay.H"
16 #include "RealVect.H"
17 #include "IntVect.H"
18 
19 #include "NamespaceHeader.H"
20 
21 class CellEdge
22 {
23 public:
24 
25  /*
26  * Don't use this kind of construction anymore
27  CellEdge(const IntVect& a_cell,
28  const int& a_dir,
29  const bool* a_lohi);
30  */
31 
32  CellEdge(const IntVect& a_node0,
33  const IntVect& a_node1);
34 
35  CellEdge(const IntVect& a_node0,
36  const int a_dir);
37 
38  ~CellEdge();
39 
40  void shift(const int a_dir);
41 
42  void shift(const int a_dir,
43  const int a_offset);
44 
45  // test CellEdge equality (for unordered_map) with _both_ nodes _and_ the direction
46  bool operator==(const CellEdge& a_edge) const;
47 
48  //IntVect m_cell; // don't use this anymore
49  int m_dir;
50  //bool m_lohi[SpaceDim-1]; // don't use this anymore
53 
54 private:
55 
57  {
58  MayDay::Abort("CellEdge uses strong construction");
59  }
60 
61  void operator=(const CellEdge& a_inputCellEdge)
62  {
63  MayDay::Abort("CellEdge doesn't allow assignment");
64  }
65 };
66 
67 #include "NamespaceFooter.H"
68 #endif
bool operator==(const CellEdge &a_edge) const
void operator=(const CellEdge &a_inputCellEdge)
Definition: CellEdge.H:61
Definition: CellEdge.H:21
void shift(const int a_dir)
IntVect m_node1
Definition: CellEdge.H:52
CellEdge()
Definition: CellEdge.H:56
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
IntVect m_node0
Definition: CellEdge.H:51
int m_dir
Definition: CellEdge.H:49
static void Abort(const char *const a_msg=m_nullString)
Print out message to cerr and exit via abort() (if serial) or MPI_Abort() (if parallel).