00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef _REGLEVELOP_H_
00030 #define _REGLEVELOP_H_
00031
00032 #include <iostream>
00033 #include <math.h>
00034 #include <assert.h>
00035 #include <stdlib.h>
00036
00037 #include "REAL.H"
00038 #include "Box.H"
00039 #include "DisjointBoxLayout.H"
00040 #include "ProblemDomain.H"
00041
00042 #include "GenLevelOp.H"
00043
00045
00050 class RegLevelOp: public GenLevelOp<FArrayBox>
00051 {
00052 public:
00054 RegLevelOp() {};
00055
00057 virtual ~RegLevelOp() {};
00058
00060
00063 virtual RegLevelOp* newOp() const = 0;
00064
00066 virtual bool isDefined() const = 0;
00067
00069
00073 virtual void define(const DisjointBoxLayout& a_grids,
00074 const DisjointBoxLayout* a_baseBAPtr,
00075 Real a_dxLevel,
00076 int a_refRatio,
00077 const Box& a_domain,
00078 bool a_homogeneousOnly = false,
00079 int a_ncomp = 1) = 0;
00080
00082
00086 virtual void define(const DisjointBoxLayout& a_grids,
00087 const DisjointBoxLayout* a_baseBAPtr,
00088 Real a_dxLevel,
00089 int a_refRatio,
00090 const ProblemDomain& a_domain,
00091 bool a_homogeneousOnly = false,
00092 int a_ncomp = 1) = 0;
00093
00095
00101 virtual void define(const RegLevelOp* a_opfine,
00102 int a_refToFine) = 0;
00103 };
00104
00105 #endif