Chombo + EB  3.2
EBGraphFactory.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 // ANAG, LBNL, DTG
12 
13 #ifndef _EBGRAPHFACTORY_H_
14 #define _EBGRAPHFACTORY_H_
15 
16 #include "Box.H"
17 #include "BoxLayoutData.H"
18 #include "EBGraph.H"
19 #include "NamespaceHeader.H"
20 
21 /// Factory class to produce EBGraph(es)
22 /**
23  This is needed for LevelData construction.
24  */
26  : public DataFactory<EBGraph>
27 {
28 public:
29  ///
30  /**
31  Creates an undefined EBGraph.
32  */
33  virtual EBGraph* create(const Box& a_box, int a_ncomps,
34  const DataIndex& a_datInd) const;
35 
36  ///
37  /**
38  */
39  EBGraphFactory(const ProblemDomain& a_domain);
40 
41  ///
42  /**
43  */
44  virtual ~EBGraphFactory();
45 
46  //return true if copy and construction are thread safe
47  virtual bool threadSafe() const
48  {
49  return false;
50  }
51 private:
53  {
54  MayDay::Error("ebisboxfactory uses strong construction");
55  }
57 };
58 #include "NamespaceFooter.H"
59 #endif
virtual ~EBGraphFactory()
Factory class to produce EBGraph(es)
Definition: EBGraphFactory.H:25
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
ProblemDomain m_domain
Definition: EBGraphFactory.H:56
Geometric description within a box.
Definition: EBGraph.H:427
EBGraphFactory()
Definition: EBGraphFactory.H:52
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
virtual EBGraph * create(const Box &a_box, int a_ncomps, const DataIndex &a_datInd) const
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
Definition: DataIndex.H:112
Factory object to data members of a BoxLayoutData container.
Definition: BoxLayoutData.H:30
virtual bool threadSafe() const
Definition: EBGraphFactory.H:47