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 #include "Meshes/CartesianCentering.h"
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 CenteringEnum CCCEnums<1U,1U,0U>::allCell[1U*1U] =
00054 {CELL};
00055
00056 CenteringEnum CCCEnums<1U,1U,0U>::allVertex[1U*1U] =
00057 {VERTEX};
00058
00059 CenteringEnum CCCEnums<1U,1U,0U>::allFace[1U*1U] =
00060 {VERTEX};
00061 CenteringEnum CCCEnums<1U,1U,0U>::allEdge[1U*1U] =
00062 {CELL};
00063
00064 CenteringEnum CCCEnums<1U,1U,0U>::vectorFace[1U*1U] =
00065 {VERTEX};
00066 CenteringEnum CCCEnums<1U,1U,0U>::vectorEdge[1U*1U] =
00067 {CELL};
00068
00069
00070
00071
00072
00073
00074
00075
00076 CenteringEnum CCCEnums<2U,1U,0U>::allCell[2U*1U] =
00077 {CELL,
00078 CELL};
00079
00080 CenteringEnum CCCEnums<2U,1U,0U>::allVertex[2U*1U] =
00081 {VERTEX,
00082 VERTEX};
00083
00084 CenteringEnum CCCEnums<2U,1U,0U>::allFace[2U*1U] =
00085 {VERTEX,
00086 CELL};
00087 CenteringEnum CCCEnums<2U,1U,0U>::allEdge[2U*1U] =
00088 {CELL,
00089 VERTEX};
00090
00091 CenteringEnum CCCEnums<2U,1U,1U>::allFace[2U*1U] =
00092 {CELL,
00093 VERTEX};
00094 CenteringEnum CCCEnums<2U,1U,1U>::allEdge[2U*1U] =
00095 {VERTEX,
00096 CELL};
00097
00098
00099
00100 CenteringEnum CCCEnums<2U,2U,0U>::allCell[2U*2U] =
00101 {CELL, CELL,
00102 CELL, CELL};
00103
00104 CenteringEnum CCCEnums<2U,2U,0U>::allVertex[2U*2U] =
00105 {VERTEX, VERTEX,
00106 VERTEX, VERTEX};
00107
00108 CenteringEnum CCCEnums<2U,2U,0U>::vectorFace[2U*2U] =
00109 {VERTEX, CELL,
00110 CELL, VERTEX};
00111 CenteringEnum CCCEnums<2U,2U,0U>::vectorEdge[2U*2U] =
00112 {CELL, VERTEX,
00113 VERTEX, CELL};
00114
00115 CenteringEnum CCCEnums<2U,2U,0U>::allFace[2U*2U] =
00116 {VERTEX, VERTEX,
00117 CELL, CELL};
00118 CenteringEnum CCCEnums<2U,2U,0U>::allEdge[2U*2U] =
00119 {CELL, CELL,
00120 VERTEX, VERTEX};
00121
00122 CenteringEnum CCCEnums<2U,2U,1U>::allFace[2U*2U] =
00123 {CELL, CELL,
00124 VERTEX, VERTEX};
00125 CenteringEnum CCCEnums<2U,2U,1U>::allEdge[2U*2U] =
00126 {VERTEX, VERTEX,
00127 CELL, CELL};
00128
00129
00130
00131 CenteringEnum CCCEnums<2U,4U,0U>::allCell[2U*4U] =
00132 {CELL, CELL, CELL, CELL,
00133 CELL, CELL, CELL, CELL};
00134
00135 CenteringEnum CCCEnums<2U,4U,0U>::allVertex[2U*4U] =
00136 {VERTEX, VERTEX, VERTEX, VERTEX,
00137 VERTEX, VERTEX, VERTEX, VERTEX};
00138
00139 CenteringEnum CCCEnums<2U,4U,0U>::allFace[2U*4U] =
00140 {VERTEX, VERTEX, VERTEX, VERTEX,
00141 CELL, CELL, CELL, CELL};
00142 CenteringEnum CCCEnums<2U,4U,0U>::allEdge[2U*4U] =
00143 {CELL, CELL, CELL, CELL,
00144 VERTEX, VERTEX, VERTEX, VERTEX};
00145
00146 CenteringEnum CCCEnums<2U,4U,1U>::allFace[2U*4U] =
00147 {CELL, CELL, CELL, CELL,
00148 VERTEX, VERTEX, VERTEX, VERTEX};
00149 CenteringEnum CCCEnums<2U,4U,1U>::allEdge[2U*4U] =
00150 {VERTEX, VERTEX, VERTEX, VERTEX,
00151 CELL, CELL, CELL, CELL};
00152
00153
00154
00155 CenteringEnum CCCEnums<2U,3U,0U>::allCell[2U*3U] =
00156 {CELL, CELL, CELL,
00157 CELL, CELL, CELL};
00158
00159 CenteringEnum CCCEnums<2U,3U,0U>::allVertex[2U*3U] =
00160 {VERTEX, VERTEX, VERTEX,
00161 VERTEX, VERTEX, VERTEX};
00162
00163 CenteringEnum CCCEnums<2U,3U,0U>::allFace[2U*3U] =
00164 {VERTEX, VERTEX, VERTEX,
00165 CELL, CELL, CELL};
00166 CenteringEnum CCCEnums<2U,3U,0U>::allEdge[2U*3U] =
00167 {CELL, CELL, CELL,
00168 VERTEX, VERTEX, VERTEX};
00169
00170 CenteringEnum CCCEnums<2U,3U,1U>::allFace[2U*3U] =
00171 {CELL, CELL, CELL,
00172 VERTEX, VERTEX, VERTEX};
00173 CenteringEnum CCCEnums<2U,3U,1U>::allEdge[2U*3U] =
00174 {VERTEX, VERTEX, VERTEX,
00175 CELL, CELL, CELL};
00176
00177
00178
00179
00180
00181
00182
00183
00184 CenteringEnum CCCEnums<3U,1U,0U>::allCell[3U*1U] =
00185 {CELL,
00186 CELL,
00187 CELL};
00188
00189 CenteringEnum CCCEnums<3U,1U,0U>::allVertex[3U*1U] =
00190 {VERTEX,
00191 VERTEX,
00192 VERTEX};
00193
00194 CenteringEnum CCCEnums<3U,1U,0U>::allFace[3U*1U] =
00195 {VERTEX,
00196 CELL,
00197 CELL};
00198 CenteringEnum CCCEnums<3U,1U,0U>::allEdge[3U*1U] =
00199 {CELL,
00200 VERTEX,
00201 VERTEX};
00202
00203 CenteringEnum CCCEnums<3U,1U,1U>::allFace[3U*1U] =
00204 {CELL,
00205 VERTEX,
00206 CELL};
00207 CenteringEnum CCCEnums<3U,1U,1U>::allEdge[3U*1U] =
00208 {VERTEX,
00209 CELL,
00210 VERTEX};
00211
00212 CenteringEnum CCCEnums<3U,1U,2U>::allFace[3U*1U] =
00213 {CELL,
00214 CELL,
00215 VERTEX};
00216 CenteringEnum CCCEnums<3U,1U,2U>::allEdge[3U*1U] =
00217 {VERTEX,
00218 VERTEX,
00219 CELL};
00220
00221
00222
00223 CenteringEnum CCCEnums<3U,2U,0U>::allCell[3U*2U] =
00224 {CELL, CELL,
00225 CELL, CELL,
00226 CELL, CELL};
00227
00228 CenteringEnum CCCEnums<3U,2U,0U>::allVertex[3U*2U] =
00229 {VERTEX, VERTEX,
00230 VERTEX, VERTEX,
00231 VERTEX, VERTEX};
00232
00233 CenteringEnum CCCEnums<3U,2U,0U>::allFace[3U*2U] =
00234 {VERTEX, VERTEX,
00235 CELL, CELL,
00236 CELL, CELL};
00237 CenteringEnum CCCEnums<3U,2U,0U>::allEdge[3U*2U] =
00238 {CELL, CELL,
00239 VERTEX, VERTEX,
00240 VERTEX, VERTEX};
00241
00242 CenteringEnum CCCEnums<3U,2U,1U>::allFace[3U*2U] =
00243 {CELL, CELL,
00244 VERTEX, VERTEX,
00245 CELL, CELL};
00246 CenteringEnum CCCEnums<3U,2U,1U>::allEdge[3U*2U] =
00247 {VERTEX, VERTEX,
00248 CELL, CELL,
00249 VERTEX, VERTEX};
00250
00251 CenteringEnum CCCEnums<3U,2U,2U>::allFace[3U*2U] =
00252 {CELL, CELL,
00253 CELL, CELL,
00254 VERTEX, VERTEX};
00255 CenteringEnum CCCEnums<3U,2U,2U>::allEdge[3U*2U] =
00256 {VERTEX, VERTEX,
00257 VERTEX, VERTEX,
00258 CELL, CELL};
00259
00260
00261
00262 CenteringEnum CCCEnums<3U,3U,0U>::allCell[3U*3U] =
00263 {CELL, CELL, CELL,
00264 CELL, CELL, CELL,
00265 CELL, CELL, CELL};
00266
00267 CenteringEnum CCCEnums<3U,3U,0U>::allVertex[3U*3U] =
00268 {VERTEX, VERTEX, VERTEX,
00269 VERTEX, VERTEX, VERTEX,
00270 VERTEX, VERTEX, VERTEX};
00271
00272 CenteringEnum CCCEnums<3U,3U,0U>::vectorFace[3U*3U] =
00273 {VERTEX, CELL, CELL,
00274 CELL, VERTEX, CELL,
00275 CELL, CELL, VERTEX};
00276 CenteringEnum CCCEnums<3U,3U,0U>::vectorEdge[3U*3U] =
00277 {CELL, VERTEX, VERTEX,
00278 VERTEX, CELL, VERTEX,
00279 VERTEX, VERTEX, CELL};
00280
00281 CenteringEnum CCCEnums<3U,3U,0U>::allFace[3U*3U] =
00282 {VERTEX, VERTEX, VERTEX,
00283 CELL, CELL, CELL,
00284 CELL, CELL, CELL};
00285 CenteringEnum CCCEnums<3U,3U,0U>::allEdge[3U*3U] =
00286 {CELL, CELL, CELL,
00287 VERTEX, VERTEX, VERTEX,
00288 VERTEX, VERTEX, VERTEX};
00289
00290 CenteringEnum CCCEnums<3U,3U,1U>::allFace[3U*3U] =
00291 {CELL, CELL, CELL,
00292 VERTEX, VERTEX, VERTEX,
00293 CELL, CELL, CELL};
00294 CenteringEnum CCCEnums<3U,3U,1U>::allEdge[3U*3U] =
00295 {VERTEX, VERTEX, VERTEX,
00296 CELL, CELL, CELL,
00297 VERTEX, VERTEX, VERTEX};
00298
00299 CenteringEnum CCCEnums<3U,3U,2U>::allFace[3U*3U] =
00300 {CELL, CELL, CELL,
00301 CELL, CELL, CELL,
00302 VERTEX, VERTEX, VERTEX};
00303 CenteringEnum CCCEnums<3U,3U,2U>::allEdge[3U*3U] =
00304 {VERTEX, VERTEX, VERTEX,
00305 VERTEX, VERTEX, VERTEX,
00306 CELL, CELL, CELL};
00307
00308
00309
00310 CenteringEnum CCCEnums<3U,9U,0U>::allCell[3U*9U] =
00311 {CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL,
00312 CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL,
00313 CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL};
00314
00315 CenteringEnum CCCEnums<3U,9U,0U>::allVertex[3U*9U] =
00316 {VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00317 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00318 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX};
00319
00320 CenteringEnum CCCEnums<3U,9U,0U>::allFace[3U*9U] =
00321 {VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00322 CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL,
00323 CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL};
00324 CenteringEnum CCCEnums<3U,9U,0U>::allEdge[3U*9U] =
00325 {CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL,
00326 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00327 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX};
00328
00329 CenteringEnum CCCEnums<3U,9U,1U>::allFace[3U*9U] =
00330 {CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL,
00331 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00332 CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL};
00333 CenteringEnum CCCEnums<3U,9U,1U>::allEdge[3U*9U] =
00334 {VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00335 CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL,
00336 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX};
00337
00338 CenteringEnum CCCEnums<3U,9U,2U>::allFace[3U*9U] =
00339 {CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL,
00340 CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL,
00341 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX};
00342 CenteringEnum CCCEnums<3U,9U,2U>::allEdge[3U*9U] =
00343 {VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00344 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00345 CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL, CELL};
00346
00347
00348
00349 CenteringEnum CCCEnums<3U,6U,0U>::allCell[3U*6U] =
00350 {CELL, CELL, CELL, CELL, CELL, CELL,
00351 CELL, CELL, CELL, CELL, CELL, CELL,
00352 CELL, CELL, CELL, CELL, CELL, CELL};
00353
00354 CenteringEnum CCCEnums<3U,6U,0U>::allVertex[3U*6U] =
00355 {VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00356 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00357 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX};
00358
00359 CenteringEnum CCCEnums<3U,6U,0U>::allFace[3U*6U] =
00360 {VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00361 CELL, CELL, CELL, CELL, CELL, CELL,
00362 CELL, CELL, CELL, CELL, CELL, CELL};
00363 CenteringEnum CCCEnums<3U,6U,0U>::allEdge[3U*6U] =
00364 {CELL, CELL, CELL, CELL, CELL, CELL,
00365 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00366 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX};
00367
00368 CenteringEnum CCCEnums<3U,6U,1U>::allFace[3U*6U] =
00369 {CELL, CELL, CELL, CELL, CELL, CELL,
00370 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00371 CELL, CELL, CELL, CELL, CELL, CELL};
00372 CenteringEnum CCCEnums<3U,6U,1U>::allEdge[3U*6U] =
00373 {VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00374 CELL, CELL, CELL, CELL, CELL, CELL,
00375 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX};
00376
00377 CenteringEnum CCCEnums<3U,6U,2U>::allFace[3U*6U] =
00378 {CELL, CELL, CELL, CELL, CELL, CELL,
00379 CELL, CELL, CELL, CELL, CELL, CELL,
00380 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX};
00381 CenteringEnum CCCEnums<3U,6U,2U>::allEdge[3U*6U] =
00382 {VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00383 VERTEX, VERTEX, VERTEX, VERTEX, VERTEX, VERTEX,
00384 CELL, CELL, CELL, CELL, CELL, CELL};
00385
00386
00387
00388 template<> char*
00389 CartesianCentering<CCCEnums<2U,1U,0U>::allEdge,1U,1U>::
00390 CenteringName = "CartesianCentering: allEdge centering";
00391 template<> char*
00392 CartesianCentering<CCCEnums<2U,1U,1U>::allEdge,1U,1U>::
00393 CenteringName = "CartesianCentering: allEdge centering";
00394
00395 template<> char*
00396 CartesianCentering<CCCEnums<1U,1U,0U>::allCell,1U,0U>::
00397 CenteringName = "CartesianCentering: allCell(1U,1U,0U) centering";
00398 template<> char*
00399 CartesianCentering<CCCEnums<2U,2U,0U>::allCell,1U,0U>::
00400 CenteringName = "CartesianCentering: allCell(2U,1U,0U) centering";
00401 template<> char*
00402 CartesianCentering<CCCEnums<3U,3U,0U>::allCell,1U,0U>::
00403 CenteringName = "CartesianCentering: allCell(3U,1U,0U) centering";
00404
00405 template<> char*
00406 CartesianCentering<CCCEnums<2U,2U,0U>::allCell,2U,0U>::
00407 CenteringName = "CartesianCentering: allCell(2U,2U,0U) centering";
00408 template<> char*
00409 CartesianCentering<CCCEnums<3U,3U,0U>::allCell,3U,0U>::
00410 CenteringName = "CartesianCentering: allCell(3U,3U,0U) centering";
00411
00412 template<> char*
00413 CartesianCentering<CCCEnums<1U,1U,0U>::allVertex,1U,0U>::
00414 CenteringName = "CartesianCentering: allVertex(1U,1U,0U) centering";
00415 template<> char*
00416 CartesianCentering<CCCEnums<2U,2U,0U>::allVertex,1U,0U>::
00417 CenteringName = "CartesianCentering: allVertex(2U,1U,0U) centering";
00418 template<> char*
00419 CartesianCentering<CCCEnums<3U,3U,0U>::allVertex,1U,0U>::
00420 CenteringName = "CartesianCentering: allVertex(3U,1U,0U) centering";
00421
00422 template<> char*
00423 CartesianCentering<CCCEnums<2U,2U,0U>::allVertex,2U,0U>::
00424 CenteringName = "CartesianCentering: allVertex(2U,2U,0U) centering";
00425 template<> char*
00426 CartesianCentering<CCCEnums<3U,3U,0U>::allVertex,3U,0U>::
00427 CenteringName = "CartesianCentering: allVertex(3U,3U,0U) centering";
00428
00429 template<> char*
00430 CartesianCentering<CCCEnums<1U,1U,0U>::vectorFace,1U,0U>::
00431 CenteringName = "CartesianCentering: vectorFace(1U,1U,0U) centering";
00432 template<> char*
00433 CartesianCentering<CCCEnums<2U,2U,0U>::vectorFace,2U,0U>::
00434 CenteringName = "CartesianCentering: vectorFace(2U,2U,0U) centering";
00435 template<> char*
00436 CartesianCentering<CCCEnums<3U,3U,0U>::vectorFace,3U,0U>::
00437 CenteringName = "CartesianCentering: vectorFace(3U,3U,0U) centering";
00438
00439
00440
00441
00442
00443
00444