00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011
00012
00013 #ifndef _NODECFIVS_H_
00014 #define _NODECFIVS_H_
00015
00016 #include <iostream>
00017 #include <cmath>
00018 #include "SPACE.H"
00019 #include <cstdlib>
00020 #include "REAL.H"
00021 #include "IntVect.H"
00022 #include "Box.H"
00023 #include "LoHiSide.H"
00024 #include "DisjointBoxLayout.H"
00025 #include "IntVectSet.H"
00026 #include "NamespaceHeader.H"
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 class NodeCFIVS
00037 {
00038
00039 public:
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 NodeCFIVS();
00050
00051
00052
00053
00054 ~NodeCFIVS();
00055
00056
00057
00058
00059
00060 NodeCFIVS(const Box& a_domain,
00061 const Box& a_box,
00062 const DisjointBoxLayout& a_levelBoxes,
00063 int a_idir,
00064 Side::LoHiSide a_hiorlo);
00065
00066
00067
00068
00069
00070 NodeCFIVS(const ProblemDomain& a_domain,
00071 const Box& a_box,
00072 const DisjointBoxLayout& a_levelBoxes,
00073 int a_idir,
00074 Side::LoHiSide a_hiorlo);
00075
00076
00077
00078
00079 void define(
00080 const ProblemDomain& a_domain,
00081
00082 const Box& a_box,
00083
00084 const DisjointBoxLayout& a_levelBoxes,
00085
00086 int a_idir,
00087
00088 Side::LoHiSide a_hiorlo);
00089
00090
00091
00092
00093 void define(
00094 const Box& a_domain,
00095
00096 const Box& a_box,
00097
00098 const DisjointBoxLayout& a_levelBoxes,
00099
00100 int a_idir,
00101
00102 Side::LoHiSide a_hiorlo);
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112 bool isDefined() const;
00113
00114
00115
00116
00117 bool isEmpty() const;
00118
00119
00120
00121
00122
00123
00124
00125
00126 bool isPacked() const;
00127
00128
00129
00130
00131
00132
00133 const Box& packedBox() const;
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143 const IntVectSet& getFineIVS() const ;
00144
00145
00146
00147 static long long m_packCount, m_sparseCount;
00148
00149 protected:
00150
00151
00152 void setDefaultValues();
00153
00154
00155
00156 IntVectSet m_fineInterpIVS;
00157
00158 bool m_packed;
00159
00160 bool m_empty;
00161
00162 Box m_packedBox;
00163
00164 bool m_isdefined;
00165
00166 private:
00167 void operator= (const NodeCFIVS& levcfs_in)
00168 {
00169 }
00170
00171 NodeCFIVS(const NodeCFIVS& levcfs_in)
00172 {
00173 }
00174 };
00175
00176
00177 inline
00178 bool NodeCFIVS::isEmpty() const
00179 {
00180 return m_empty;
00181 }
00182
00183
00184 inline
00185 bool NodeCFIVS::isPacked() const
00186 {
00187 return m_packed;
00188 }
00189
00190
00191 inline
00192 const Box& NodeCFIVS::packedBox() const
00193 {
00194 return m_packedBox;
00195 }
00196
00197 #include "NamespaceFooter.H"
00198 #endif