22 STable3D::STable3D (
int nr)
28 for (i = 0; i < nr; i++)
33 inline void Sort3 (
int &r,
int &c,
int &f)
45 t = r; r = c; c = f; f = t;
56 t = f; f = c; c = r; r = t;
65 int STable3D::Push (
int r,
int c,
int f)
69 MFEM_ASSERT(r != c && c != f && f != r,
70 "STable3D::Push : r = " << r <<
", c = " << c <<
", f = " << f);
74 for (node = Rows[r]; node != NULL; node = node->
Prev)
81 #ifdef MFEM_USE_MEMALLOC
82 node = NodesMem.Alloc ();
96 int STable3D::operator() (
int r,
int c,
int f)
const
102 for (node = Rows[r]; node != NULL; node = node->
Prev)
105 if (node->
Floor == f)
109 MFEM_ABORT(
"(r,c,f) = (" << r <<
"," << c <<
"," << f <<
")");
114 int STable3D::Index (
int r,
int c,
int f)
const
120 for (node = Rows[r]; node != NULL; node = node->
Prev)
123 if (node->
Floor == f)
130 int STable3D::Push4 (
int r,
int c,
int f,
int t)
132 MFEM_ASSERT(r != c && r != f && r != t && c != f && c != t && f != t,
133 " r = " << r <<
", c = " << c <<
", f = " << f <<
", t = " << t);
138 if (max < c) max = c, i = 1;
139 if (max < f) max = f, i = 2;
140 if (max < t) max = t, i = 3;
156 int STable3D::operator() (
int r,
int c,
int f,
int t)
const
161 if (max < c) max = c, i = 1;
162 if (max < f) max = f, i = 2;
163 if (max < t) max = t, i = 3;
167 return (*
this)(c,f,t);
169 return (*
this)(r,f,t);
171 return (*
this)(r,c,t);
173 return (*
this)(r,c,f);
179 STable3D::~STable3D ()
181 #ifdef MFEM_USE_MEMALLOC
184 for (
int i = 0; i < Size; i++)
187 while (node_p != NULL)
190 node_p = node_p->
Prev;
void Sort3(int &r, int &c, int &f)