MOAB: Mesh Oriented datABase  (version 5.3.1)
MBCNArrays.hpp
Go to the documentation of this file.
00001 /**
00002  * MOAB, a Mesh-Oriented datABase, is a software component for creating,
00003  * storing and accessing finite element mesh data.
00004  *
00005  * Copyright 2004 Sandia Corporation.  Under the terms of Contract
00006  * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government
00007  * retains certain rights in this software.
00008  *
00009  * This library is free software; you can redistribute it and/or
00010  * modify it under the terms of the GNU Lesser General Public
00011  * License as published by the Free Software Foundation; either
00012  * version 2.1 of the License, or (at your option) any later version.
00013  *
00014  */
00015 
00016 #ifndef MBCN_ARRAYS_HPP
00017 #define MBCN_ARRAYS_HPP
00018 
00019 namespace moab
00020 {
00021 
00022 const CN::ConnMap CN::mConnectivityMap[MBMAXTYPE][3] = {
00023     // vertex-edge
00024     { { 0,
00025         0,
00026         { 0 },
00027         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00028           MBMAXTYPE, MBMAXTYPE },
00029         { { 0 } } },
00030       // vertex-face
00031       { 0,
00032         0,
00033         { 0 },
00034         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00035           MBMAXTYPE, MBMAXTYPE },
00036         { { 0 } } },
00037       // vertex-region
00038       { 0,
00039         0,
00040         { 0 },
00041         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00042           MBMAXTYPE, MBMAXTYPE },
00043         { { 0 } } } },
00044 
00045     // edge-edge
00046     { { 1,
00047         1,
00048         { 2 },
00049         { MBEDGE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00050           MBMAXTYPE, MBMAXTYPE },
00051         { { 0, 1 } } },
00052       // edge-face
00053       { 1,
00054         0,
00055         { 0 },
00056         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00057           MBMAXTYPE, MBMAXTYPE },
00058         { { 0 } } },
00059       // edge-region
00060       { 1,
00061         0,
00062         { 0 },
00063         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00064           MBMAXTYPE, MBMAXTYPE },
00065         { { 0 } } } },
00066 
00067     // tri-edge
00068     { { 2,
00069         3,
00070         { 2, 2, 2 },
00071         { MBEDGE, MBEDGE, MBEDGE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00072           MBMAXTYPE, MBMAXTYPE },
00073         { { 0, 1 }, { 1, 2 }, { 2, 0 } } },
00074       // tri-face
00075       { 2,
00076         1,
00077         { 3 },
00078         { MBTRI, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00079           MBMAXTYPE, MBMAXTYPE },
00080         { { 0, 1, 2 } } },
00081       // tri-region
00082       { 2,
00083         0,
00084         { 0 },
00085         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00086           MBMAXTYPE, MBMAXTYPE },
00087         { { 0 } } } },
00088 
00089     // quad-edge
00090     { { 2,
00091         4,
00092         { 2, 2, 2, 2 },
00093         { MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00094           MBMAXTYPE },
00095         { { 0, 1 }, { 1, 2 }, { 2, 3 }, { 3, 0 } } },
00096       // quad-face
00097       { 2,
00098         1,
00099         { 4 },
00100         { MBQUAD, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00101           MBMAXTYPE, MBMAXTYPE },
00102         { { 0, 1, 2, 3 } } },
00103       // quad-region
00104       { 2,
00105         0,
00106         { 0 },
00107         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00108           MBMAXTYPE, MBMAXTYPE },
00109         { { 0 } } } },
00110 
00111     // polygon-edge
00112     { { 2,
00113         0,
00114         { 0 },
00115         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00116           MBMAXTYPE },
00117         { { 0 } } },
00118       // polygon-face
00119       { 2,
00120         1,
00121         { 0 },
00122         { MBPOLYGON, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00123           MBMAXTYPE, MBMAXTYPE },
00124         { { 0 } } },
00125       // polygon-region
00126       { 2,
00127         0,
00128         { 0 },
00129         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00130           MBMAXTYPE, MBMAXTYPE },
00131         { { 0 } } } },
00132 
00133     // tet-edge
00134     { { 3,
00135         6,
00136         { 2, 2, 2, 2, 2, 2 },
00137         { MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00138           MBMAXTYPE },
00139         { { 0, 1 }, { 1, 2 }, { 2, 0 }, { 0, 3 }, { 1, 3 }, { 2, 3 } } },
00140       // tet-face
00141       { 3,
00142         4,
00143         { 3, 3, 3, 3 },
00144         { MBTRI, MBTRI, MBTRI, MBTRI, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00145           MBMAXTYPE },
00146         { { 0, 1, 3 }, { 1, 2, 3 }, { 0, 3, 2 }, { 0, 2, 1 } } },
00147       // tet-tet
00148       { 3,
00149         1,
00150         { 4 },
00151         { MBTET, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00152           MBMAXTYPE, MBMAXTYPE },
00153         { { 0, 1, 2, 3 } } } },
00154 
00155     // pyramid-edge
00156     { { 3,
00157         8,
00158         { 2, 2, 2, 2, 2, 2, 2, 2 },
00159         { MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE },
00160         { { 0, 1 }, { 1, 2 }, { 2, 3 }, { 3, 0 }, { 0, 4 }, { 1, 4 }, { 2, 4 }, { 3, 4 } } },
00161       // pyramid-face
00162       { 3,
00163         5,
00164         { 3, 3, 3, 3, 4 },
00165         { MBTRI, MBTRI, MBTRI, MBTRI, MBQUAD, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00166           MBMAXTYPE },
00167         { { 0, 1, 4 }, { 1, 2, 4 }, { 2, 3, 4 }, { 3, 0, 4 }, { 0, 3, 2, 1 } } },
00168       // pyramid-pyramid
00169       { 3,
00170         1,
00171         { 5 },
00172         { MBPYRAMID, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00173           MBMAXTYPE, MBMAXTYPE },
00174         { { 0, 1, 2, 3, 4 } } } },
00175 
00176     // wedge-edge
00177     { { 3,
00178         9,
00179         { 2, 2, 2, 2, 2, 2, 2, 2, 2 },
00180         { MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE },
00181         { { 0, 1 }, { 1, 2 }, { 2, 0 }, { 0, 3 }, { 1, 4 }, { 2, 5 }, { 3, 4 }, { 4, 5 }, { 5, 3 } } },
00182       // wedge-face
00183       { 3,
00184         5,
00185         { 4, 4, 4, 3, 3 },
00186         { MBQUAD, MBQUAD, MBQUAD, MBTRI, MBTRI, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00187           MBMAXTYPE },
00188         { { 0, 1, 4, 3 }, { 1, 2, 5, 4 }, { 0, 3, 5, 2 }, { 0, 2, 1 }, { 3, 4, 5 } } },
00189       // wedge-wedge
00190       { 3,
00191         1,
00192         { 6 },
00193         { MBPRISM, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00194           MBMAXTYPE, MBMAXTYPE },
00195         { { 0, 1, 2, 3, 4, 5 } } } },
00196 
00197     // knife-edge
00198     { { 3,
00199         10,
00200         { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
00201         { MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBMAXTYPE, MBMAXTYPE },
00202         { { 0, 1 }, { 1, 2 }, { 2, 3 }, { 3, 0 }, { 0, 4 }, { 1, 5 }, { 2, 6 }, { 3, 5 }, { 4, 5 }, { 5, 6 } } },
00203       // knife-face
00204       { 3,
00205         5,
00206         { 4, 4, 4, 4, 4 },
00207         { MBQUAD, MBQUAD, MBQUAD, MBQUAD, MBQUAD, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00208           MBMAXTYPE },
00209         { { 0, 1, 5, 4 }, { 1, 2, 6, 5 }, { 2, 3, 5, 6 }, { 3, 0, 4, 5 }, { 0, 3, 2, 1 } } },
00210       // knife-knife
00211       { 3,
00212         1,
00213         { 7 },
00214         { MBKNIFE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00215           MBMAXTYPE, MBMAXTYPE },
00216         { { 0, 1, 2, 3, 4, 5, 6 } } } },
00217 
00218     // hex-edge
00219     { { 3,
00220         12,
00221         { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
00222         { MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE, MBEDGE },
00223         { { 0, 1 },
00224           { 1, 2 },
00225           { 2, 3 },
00226           { 3, 0 },
00227           { 0, 4 },
00228           { 1, 5 },
00229           { 2, 6 },
00230           { 3, 7 },
00231           { 4, 5 },
00232           { 5, 6 },
00233           { 6, 7 },
00234           { 7, 4 } } },
00235       // hex-face
00236       { 3,
00237         6,
00238         { 4, 4, 4, 4, 4, 4 },
00239         { MBQUAD, MBQUAD, MBQUAD, MBQUAD, MBQUAD, MBQUAD, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00240           MBMAXTYPE },
00241         { { 0, 1, 5, 4 }, { 1, 2, 6, 5 }, { 2, 3, 7, 6 }, { 3, 0, 4, 7 }, { 0, 3, 2, 1 }, { 4, 5, 6, 7 } } },
00242       // hex-hex
00243       { 3,
00244         1,
00245         { 8 },
00246         { MBHEX, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00247           MBMAXTYPE, MBMAXTYPE },
00248         { { 0, 1, 2, 3, 4, 5, 6, 7 } } } },
00249 
00250     // polyhedron-edge
00251     { { 3,
00252         0,
00253         { 0 },
00254         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00255           MBMAXTYPE, MBMAXTYPE },
00256         { { 0 } } },
00257       // polyhedron-face
00258       { 3,
00259         0,
00260         { 0 },
00261         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00262           MBMAXTYPE, MBMAXTYPE },
00263         { { 0 } } },
00264       // polyhedron-polyhedron
00265       { 3,
00266         1,
00267         { 0 },
00268         { MBPOLYHEDRON, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00269           MBMAXTYPE, MBMAXTYPE, MBMAXTYPE },
00270         { { 0 } } } },
00271 
00272     // meshset-edge
00273     { { 4,
00274         0,
00275         { 0 },
00276         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00277           MBMAXTYPE, MBMAXTYPE },
00278         { { 0 } } },  // not handled yet?
00279       // meshset-face
00280       { 4,
00281         0,
00282         { 0 },
00283         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00284           MBMAXTYPE, MBMAXTYPE },
00285         { { 0 } } },  // not handled yet?
00286       // meshset-region
00287       { 4,
00288         0,
00289         { 0 },
00290         { MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
00291           MBMAXTYPE, MBMAXTYPE },
00292         { { 0 } } } }  // not handled yet?
00293 
00294     // maxtype
00295 };
00296 
00297 const CN::UpConnMap CN::mUpConnMap[MBMAXTYPE][4][4] = {
00298     {
00299         // type MBVERTEX
00300         { { { 1 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 0
00301         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 1
00302         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 2
00303         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 3
00304     },
00305 
00306     {
00307         // type MBEDGE
00308         {
00309             // source dim 0
00310             {                      // target dim 0
00311               { 1, 1 },            // 1 connected vertices for all vertices
00312               { { 1 }, { 0 } } },  // end target dimension 0
00313             {                      // target dimension 1
00314               { 1, 1 },            // 1 connected edges for all vertices
00315               { { 0 }, { 0 } } },  // end target dimension 1
00316             {                      // target dimension 2
00317               { 0 },               // 0 connected faces for all vertices
00318               { { 0 } } },         // end target dimension 2
00319             {                      // target dimension 3
00320               { 0 },               // 0 connected elements for all vertices
00321               { { 0 } } }          // end target dimension 3
00322         },                         // end source dim 0
00323 
00324         {
00325             // source dim 1
00326             {                  // target dim 0
00327               { 2 },           // 2 vertices for all edges
00328               { { 0, 1 } } },  // end target dim 0
00329             {                  // target dim 1
00330               { 0 },           // 0 edges for all edges
00331               { { 0 } } },     // end target dim 1
00332             {                  // target dim 2
00333               { 0 },           // 2 faces for all edges
00334               { { 0 } } },     // end target dim 2
00335             {                  // target dimension 3
00336               { 0 },           // 0 connected elements for all vertices
00337               { { 0 } } }      // end target dimension 3
00338         },                     // end source dim 1
00339 
00340         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 2
00341         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 3
00342     },                                                                                               // end type MBEDGE
00343 
00344     {
00345         // type MBTRI
00346         {
00347             // source dim 0
00348             {                                      // target dim 0
00349               { 2, 2, 2 },                         // 2 connected vertices for all vertices
00350               { { 1, 2 }, { 0, 2 }, { 0, 1 } } },  // end target dimension 0
00351             {                                      // target dimension 1
00352               { 2, 2, 2 },                         // 2 connected edges for all vertices
00353               { { 0, 2 }, { 0, 1 }, { 1, 2 } } },  // end target dimension 1
00354             {                                      // target dimension 2
00355               { 1, 1, 1 },                         // 1 connected faces for all vertices
00356               { { 0 }, { 0 }, { 0 } } },           // end target dimension 2
00357             {                                      // target dimension 3
00358               { 0 },                               // 0 connected elements for all vertices
00359               { { 0 } } }                          // end target dimension 3
00360         },                                         // end source dim 0
00361 
00362         {
00363             // source dim 1
00364             {                                      // target dim 0
00365               { 2, 2, 2 },                         // 2 vertices for all edges
00366               { { 0, 1 }, { 1, 2 }, { 0, 2 } } },  // end target dim 0
00367             {                                      // target dim 1
00368               { 2, 2, 2 },                         // 2 edges for all edges
00369               { { 1, 2 }, { 0, 2 }, { 0, 1 } } },  // end target dim 1
00370             {                                      // target dim 2
00371               { 1, 1, 1 },                         // 1 faces for all edges
00372               { { 0 }, { 0 }, { 0 } } },           // end target dim 2
00373             {                                      // target dimension 3
00374               { 0 },                               // 0 connected elements for all vertices
00375               { { 0 } } }                          // end target dimension 3
00376         },                                         // end source dim 1
00377 
00378         {
00379             // source dim 2
00380             {                     // target dim 0
00381               { 3 },              // 3 vertices for all faces
00382               { { 0, 1, 2 } } },  // end target dim 0
00383             {                     // target dim 1
00384               { 3 },              // 3 edges for all faces
00385               { { 0, 1, 2 } } },  // end target dim 1
00386             {                     // target dim 2
00387               { 0 },              // 0 faces for all faces
00388               { { 0 } } },        // end target dim 2
00389             {                     // target dimension 3
00390               { 0 },              // 0 connected elements for all vertices
00391               { { 0 } } }         // end target dimension 3
00392         },                        // end source dim 2
00393 
00394         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } }  // source dim 3
00395     },                                                                        // end type MBTRI
00396 
00397     {
00398         // type MBQUAD
00399         {
00400             // source dim 0
00401             {                                                // target dim 0
00402               { 2, 2, 2, 2 },                                // 2 connected vertices for all vertices
00403               { { 1, 3 }, { 0, 2 }, { 2, 3 }, { 0, 2 } } },  // end target dimension 0
00404             {                                                // target dimension 1
00405               { 2, 2, 2, 2 },                                // 2 connected edges for all vertices
00406               { { 0, 3 }, { 0, 1 }, { 1, 2 }, { 2, 3 } } },  // end target dimension 1
00407             {                                                // target dimension 2
00408               { 1, 1, 1, 1 },                                // 1 connected faces for all vertices
00409               { { 0 }, { 0 }, { 0 }, { 0 } } },              // end target dimension 2
00410             {                                                // target dimension 3
00411               { 0 },                                         // 0 connected elements for all vertices
00412               { { 0 } } }                                    // end target dimension 3
00413         },                                                   // end source dim 0
00414 
00415         {
00416             // source dim 1
00417             {                                                // target dim 0
00418               { 2, 2, 2, 2 },                                // 2 vertices for all edges
00419               { { 0, 1 }, { 1, 2 }, { 2, 3 }, { 0, 3 } } },  // end target dim 0
00420             {                                                // target dim 1
00421               { 2, 2, 2, 2 },                                // 2 edges for all edges
00422               { { 1, 3 }, { 0, 2 }, { 1, 3 }, { 0, 2 } } },  // end target dim 1
00423             {                                                // target dim 2
00424               { 1, 1, 1, 1 },                                // 1 faces for all edges
00425               { { 0 }, { 0 }, { 0 }, { 0 } } },              // end target dim 2
00426             {                                                // target dimension 3
00427               { 0 },                                         // 0 connected elements for all vertices
00428               { { 0 } } }                                    // end target dimension 3
00429         },                                                   // end source dim 1
00430 
00431         {
00432             // source dim 2
00433             {                        // target dim 0
00434               { 4 },                 // 4 vertices for all faces
00435               { { 0, 1, 2, 3 } } },  // end target dim 0
00436             {                        // target dim 1
00437               { 4 },                 // 4 edges for all faces
00438               { { 0, 1, 2, 3 } } },  // end target dim 1
00439             {                        // target dim 2
00440               { 0 },                 // 4 faces for all faces
00441               { { 0 } } },           // end target dim 2
00442             {                        // target dimension 3
00443               { 0 },                 // 0 connected elements for all vertices
00444               { { 0 } } }            // end target dimension 3
00445         },                           // end source dim 2
00446 
00447         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } }  // source dim 3
00448     },                                                                        // end type MBQUAD
00449 
00450     {
00451         // type MBPOLYGON
00452         {   // source dim 0
00453           { // target dim 0
00454             { 0 },
00455             { { 0 } } },
00456           { // target dimension 1
00457             { 0 },
00458             { { 0 } } },
00459           { // target dimension 2
00460             { 0 },
00461             { { 0 } } },
00462           { // target dimension 3
00463             { 0 },
00464             { { 0 } } } },  // end source dim 0
00465 
00466         {   // source dim 1
00467           { // target dim 0
00468             { 0 },
00469             { { 0 } } },
00470           { // target dimension 1
00471             { 0 },
00472             { { 0 } } },
00473           { // target dimension 2
00474             { 0 },
00475             { { 0 } } },
00476           { // target dimension 3
00477             { 0 },
00478             { { 0 } } } },  // end source dim 1
00479 
00480         {   // source dim 2
00481           { // target dim 0
00482             { 0 },
00483             { { 0 } } },
00484           { // target dimension 1
00485             { 0 },
00486             { { 0 } } },
00487           { // target dimension 2
00488             { 0 },
00489             { { 0 } } },
00490           { // target dimension 3
00491             { 0 },
00492             { { 0 } } } },  // end source dim 2
00493 
00494         {   // source dim 3
00495           { // target dim 0
00496             { 0 },
00497             { { 0 } } },
00498           { // target dimension 1
00499             { 0 },
00500             { { 0 } } },
00501           { // target dimension 2
00502             { 0 },
00503             { { 0 } } },
00504           { // target dimension 3
00505             { 0 },
00506             { { 0 } } } }  // end source dim 3
00507     },                     // end type MBPOLYGON
00508 
00509     {
00510         // type MBTET
00511         {
00512             // source dim 0
00513             {                                                            // target dim 0
00514               { 3, 3, 3, 3 },                                            // 3 connected vertices for all vertices
00515               { { 1, 2, 3 }, { 0, 2, 3 }, { 0, 1, 3 }, { 0, 1, 2 } } },  // end target dimension 0
00516             {                                                            // target dimension 1
00517               { 3, 3, 3, 3 },                                            // 3 connected edges for all vertices
00518               { { 0, 2, 3 }, { 0, 1, 4 }, { 1, 2, 5 }, { 3, 4, 5 } } },  // end target dimension 1
00519             {                                                            // target dimension 2
00520               { 3, 3, 3, 3 },                                            // 3 connected faces for all vertices
00521               { { 0, 2, 3 }, { 0, 1, 3 }, { 1, 2, 3 }, { 0, 1, 2 } } },  // end target dimension 2
00522             {                                                            // target dimension 3
00523               { 1, 1, 1, 1 },                                            // 0 connected elements for all vertices
00524               { { 0 }, { 0 }, { 0 }, { 0 } } }                           // end target dimension 3
00525         },                                                               // end source dim 0
00526 
00527         {
00528             // source dim 1
00529             {                                                                    // target dim 0
00530               { 2, 2, 2, 2, 2, 2 },                                              // 2 vertices for all edges
00531               { { 0, 1 }, { 1, 2 }, { 0, 2 }, { 0, 3 }, { 1, 3 }, { 2, 3 } } },  // end target dim 0
00532             {                                                                    // target dim 1
00533               { 4, 4, 4, 4, 4, 4 },                                              // 4 edges for all edges
00534               { { 1, 2, 3, 4 },
00535                 { 0, 2, 4, 5 },
00536                 { 0, 1, 3, 5 },
00537                 { 0, 2, 4, 5 },
00538                 { 0, 1, 3, 5 },
00539                 { 1, 2, 3, 4 } } },                                              // end target dim 1
00540             {                                                                    // target dim 2
00541               { 2, 2, 2, 2, 2, 2 },                                              // 2 faces for all edges
00542               { { 0, 3 }, { 1, 3 }, { 2, 3 }, { 0, 2 }, { 0, 1 }, { 1, 2 } } },  // end target dim 2
00543             {                                                                    // target dimension 3
00544               { 1, 1, 1, 1, 1, 1 },                           // 0 connected elements for all vertices
00545               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target dimension 3
00546         },                                                    // end source dim 1
00547 
00548         {
00549             // source dim 2
00550             {                                                            // target dim 0
00551               { 3, 3, 3, 3 },                                            // 3 vertices for all faces
00552               { { 0, 1, 3 }, { 1, 2, 3 }, { 0, 3, 2 }, { 0, 2, 1 } } },  // end target dim 0
00553             {                                                            // target dim 1
00554               { 3, 3, 3, 3 },                                            // 3 edges for all faces
00555               { { 0, 4, 3 }, { 1, 5, 4 }, { 3, 5, 2 }, { 2, 1, 0 } } },  // end target dim 1
00556             {                                                            // target dim 2
00557               { 3, 3, 3, 3 },                                            // 3 faces for all faces
00558               { { 3, 1, 2 }, { 3, 2, 0 }, { 0, 1, 3 }, { 2, 1, 0 } } },  // end target dim 2
00559             {                                                            // target dimension 3
00560               { 1, 1, 1, 1 },                                            // 0 connected elements for all vertices
00561               { { 0 }, { 0 }, { 0 }, { 0 } } }                           // end target dimension 3
00562         },                                                               // end source dim 2
00563 
00564         {
00565             // source dim 3
00566             {                              // target dim 0
00567               { 4 },                       // 4 vertices for all elements
00568               { { 0, 1, 2, 3 } } },        // end target dim 0
00569             {                              // target dim 1
00570               { 6 },                       // 6 edges for all elements
00571               { { 0, 1, 2, 3, 4, 5 } } },  // end target dim 1
00572             {                              // target dim 2
00573               { 4 },                       // 4 faces for all elements
00574               { { 0, 1, 2, 3 } } },        // end target dim 2
00575             {                              // target dimension 3
00576               { 0 },                       // 0 connected elements for all vertices
00577               { { 0 } } }                  // end target dimension 3
00578         }                                  // end source dim 3
00579     },                                     // end type MBTET
00580 
00581     {
00582         // type MBPYRAMID
00583         {
00584             // source dim 0
00585             {                     // target dim 0
00586               { 3, 3, 3, 3, 4 },  // 3 connected vertices for most vertices
00587               { { 1, 3, 4 }, { 0, 2, 4 }, { 1, 3, 4 }, { 0, 2, 4 }, { 0, 1, 2, 3 } } },  // end target dimension 0
00588             {                                                                            // target dimension 1
00589               { 3, 3, 3, 3, 4 },  // 3 connected edges for most vertices
00590               { { 0, 3, 4 }, { 0, 1, 5 }, { 1, 2, 6 }, { 2, 3, 7 }, { 4, 5, 6, 7 } } },  // end target dimension 1
00591             {                                                                            // target dimension 2
00592               { 3, 3, 3, 3, 4 },  // 3 connected faces for most vertices
00593               { { 0, 3, 4 }, { 0, 1, 4 }, { 1, 2, 4 }, { 2, 3, 4 }, { 0, 1, 2, 3 } } },  // end target dimension 2
00594             {                                                                            // target dimension 3
00595               { 1, 1, 1, 1, 1 },                       // 0 connected elements for all vertices
00596               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target dimension 3
00597         },                                             // end source dim 0
00598 
00599         {
00600             // source dim 1
00601             {                              // target dim 0
00602               { 2, 2, 2, 2, 2, 2, 2, 2 },  // 2 vertices for all edges
00603               { { 0, 1 }, { 1, 2 }, { 2, 3 }, { 0, 3 }, { 0, 4 }, { 1, 4 }, { 2, 4 }, { 3, 4 } } },  // end target dim 0
00604             {                                                                                        // target dim 1
00605               { 4, 4, 4, 4, 5, 5, 5, 5 },  // 4 edges for some edges, 5 for others
00606               { { 1, 3, 4, 5 },
00607                 { 0, 2, 5, 6 },
00608                 { 1, 3, 6, 7 },
00609                 { 0, 2, 4, 7 },
00610                 { 0, 3, 5, 6, 7 },
00611                 { 0, 1, 4, 6, 7 },
00612                 { 1, 2, 4, 5, 7 },
00613                 { 2, 3, 4, 5, 6 } } },     // end target dim 1
00614             {                              // target dim 2
00615               { 2, 2, 2, 2, 2, 2, 2, 2 },  // 2 faces for all edges
00616               { { 0, 4 }, { 1, 4 }, { 2, 4 }, { 3, 4 }, { 0, 3 }, { 0, 1 }, { 1, 2 }, { 2, 3 } } },  // end target dim 2
00617             {                                                               // target dimension 3
00618               { 1, 1, 1, 1, 1, 1, 1, 1 },                                   // 0 connected elements for all vertices
00619               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target dimension
00620                                                                             // 3
00621         },                                                                  // end source dim 1
00622 
00623         {
00624             // source dim 2
00625             {                                                                            // target dim 0
00626               { 3, 3, 3, 3, 4 },                                                         // 3 vertices for most edges
00627               { { 0, 1, 4 }, { 1, 2, 4 }, { 2, 3, 4 }, { 0, 3, 4 }, { 0, 1, 2, 3 } } },  // end target dim 0
00628             {                                                                            // target dim 1
00629               { 3, 3, 3, 3, 4 },                                                         // 3 edges for most faces
00630               { { 0, 5, 4 }, { 1, 6, 5 }, { 6, 2, 7 }, { 3, 4, 7 }, { 0, 3, 2, 1 } } },  // end target dim 1
00631             {                                                                            // target dim 2
00632               { 3, 3, 3, 3, 4 },                                                         // 4 faces for most faces
00633               { { 4, 1, 3 }, { 4, 2, 0 }, { 4, 3, 1 }, { 4, 0, 2 }, { 0, 1, 2, 3 } } },  // end target dim 2
00634             {                                                                            // target dimension 3
00635               { 1, 1, 1, 1, 1 },                       // 0 connected elements for all vertices
00636               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target dimension 3
00637         },                                             // end source dim 2
00638 
00639         {
00640             // source dim 3
00641             {                                    // target dim 0
00642               { 5 },                             // 5 vertices for all elements
00643               { { 0, 1, 2, 3, 4 } } },           // end target dim 0
00644             {                                    // target dim 1
00645               { 8 },                             // 8 edges for all elements
00646               { { 0, 1, 2, 3, 4, 5, 6, 7 } } },  // end target dim 1
00647             {                                    // target dim 2
00648               { 5 },                             // 5 faces for all elements
00649               { { 0, 1, 2, 3, 4 } } },           // end target dim 2
00650             {                                    // target dimension 3
00651               { 0 },                             // 0 connected elements for all vertices
00652               { { 0 } } }                        // end target dimension 3
00653         }                                        // end source dim 3
00654     },                                           // end type MBPYRAMID
00655 
00656     {
00657         // type MBPRISM
00658         {
00659             // source dim 0
00660             {                        // target dim 0
00661               { 3, 3, 3, 3, 3, 3 },  // 3 connected vertices for all vertices
00662               { { 1, 2, 3 }, { 0, 2, 4 }, { 0, 1, 5 }, { 0, 4, 5 }, { 1, 3, 5 }, { 2, 3, 4 } } },  // end target
00663                                                                                                    // dimension 0
00664             {                                                                                      // target dimension 1
00665               { 3, 3, 3, 3, 3, 3 },  // 3 connected edges for all vertices
00666               { { 0, 2, 3 }, { 0, 1, 4 }, { 1, 2, 5 }, { 3, 6, 8 }, { 4, 6, 7 }, { 5, 7, 8 } } },  // end target
00667                                                                                                    // dimension 1
00668             {                                                                                      // target dimension 2
00669               { 3, 3, 3, 3, 3, 3 },  // 3 connected faces for all vertices
00670               { { 0, 2, 3 }, { 0, 1, 3 }, { 1, 2, 3 }, { 0, 2, 4 }, { 0, 1, 4 }, { 1, 2, 4 } } },  // end target
00671                                                                                                    // dimension 2
00672             {                                                                                      // target dimension 3
00673               { 1, 1, 1, 1, 1, 1 },                           // 0 connected elements for all vertices
00674               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target dimension 3
00675         },                                                    // end source dim 0
00676 
00677         {
00678             // source dim 1
00679             {                                 // target dim 0
00680               { 2, 2, 2, 2, 2, 2, 2, 2, 2 },  // 2 vertices for all edges
00681               { { 0, 1 }, { 1, 2 }, { 0, 2 }, { 0, 3 }, { 1, 4 }, { 2, 5 }, { 3, 4 }, { 4, 5 }, { 3, 5 } } },  // end
00682                                                                                                                // target
00683                                                                                                                // dim 0
00684             {                                 // target dim 1
00685               { 4, 4, 4, 4, 4, 4, 4, 4, 4 },  // 4 edges for all edges
00686               { { 1, 2, 3, 4 },
00687                 { 0, 2, 4, 5 },
00688                 { 0, 1, 3, 5 },
00689                 { 0, 2, 6, 8 },
00690                 { 0, 1, 6, 7 },
00691                 { 1, 2, 7, 8 },
00692                 { 3, 4, 7, 8 },
00693                 { 4, 5, 7, 8 },
00694                 { 3, 5, 6, 7 } } },           // end target dim 1
00695             {                                 // target dim 2
00696               { 2, 2, 2, 2, 2, 2, 2, 2, 2 },  // 2 faces for all edges
00697               { { 0, 3 }, { 1, 3 }, { 2, 3 }, { 0, 2 }, { 0, 1 }, { 1, 2 }, { 0, 4 }, { 1, 4 }, { 2, 4 } } },  // end
00698                                                                                                                // target
00699                                                                                                                // dim 2
00700             {                                 // target dimension 3
00701               { 1, 1, 1, 1, 1, 1, 1, 1, 1 },  // 0 connected elements for all vertices
00702               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target
00703                                                                                    // dimension 3
00704         },                                                                         // end source dim 1
00705 
00706         {
00707             // source dim 2
00708             {                     // target dim 0
00709               { 4, 4, 4, 3, 3 },  // 4 vertices for some faces, 3 for others
00710               { { 0, 1, 3, 4 }, { 1, 2, 4, 5 }, { 0, 2, 3, 5 }, { 0, 1, 2 }, { 3, 4, 5 } } },  // end target dim 0
00711             {                                                                                  // target dim 1
00712               { 4, 4, 4, 3, 3 },  // 4 edges for some faces, 3 for others
00713               { { 0, 4, 6, 3 }, { 1, 5, 7, 4 }, { 2, 3, 8, 5 }, { 0, 2, 1 }, { 6, 7, 8 } } },  // end target dim 1
00714             {                                                                                  // target dim 2
00715               { 4, 4, 4, 3, 3 },  // 4 faces for some faces, 3 for others
00716               { { 3, 1, 4, 2 }, { 3, 2, 4, 0 }, { 3, 0, 4, 1 }, { 0, 2, 1 }, { 0, 1, 2 } } },  // end target dim 2
00717             {                                                                                  // target dimension 3
00718               { 1, 1, 1, 1, 1 },                       // 0 connected elements for all vertices
00719               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target dimension 3
00720         },                                             // end source dim 2
00721 
00722         {
00723             // source dim 3
00724             {                                       // target dim 0
00725               { 6 },                                // 6 vertices for all elements
00726               { { 0, 1, 2, 3, 4, 5 } } },           // end target dim 0
00727             {                                       // target dim 1
00728               { 9 },                                // 9 edges for all elements
00729               { { 0, 1, 2, 3, 4, 5, 6, 7, 8 } } },  // end target dim 1
00730             {                                       // target dim 2
00731               { 5 },                                // 5 faces for all elements
00732               { { 0, 1, 2, 3, 4 } } },              // end target dim 2
00733             {                                       // target dimension 3
00734               { 0 },                                // 0 connected elements for all vertices
00735               { { 0 } } }                           // end target dimension 3
00736         }                                           // end source dim 3
00737     },                                              // end type MBPRISM
00738 
00739     {
00740         // type MBKNIFE
00741         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 0
00742         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 1
00743         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 2
00744         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } }   // source dim 3
00745     },                                                                         // end type MBKNIFE
00746 
00747     {
00748         // type MBHEX
00749         {
00750             // source dim 0
00751             {                              // target dim 0
00752               { 3, 3, 3, 3, 3, 3, 3, 3 },  // 3 connected vertices for all vertices
00753               { { 1, 3, 4 },
00754                 { 0, 2, 5 },
00755                 { 1, 3, 6 },
00756                 { 0, 2, 7 },
00757                 { 0, 5, 7 },
00758                 { 1, 4, 6 },
00759                 { 2, 5, 7 },
00760                 { 3, 4, 6 } } },           // end target dimension 0
00761             {                              // target dimension 1
00762               { 3, 3, 3, 3, 3, 3, 3, 3 },  // 3 connected edges for all vertices
00763               { { 0, 3, 4 },
00764                 { 0, 1, 5 },
00765                 { 1, 2, 6 },
00766                 { 2, 3, 7 },
00767                 { 4, 8, 11 },
00768                 { 5, 8, 9 },
00769                 { 6, 9, 10 },
00770                 { 7, 10, 11 } } },         // end target dimension 1
00771             {                              // target dimension 2
00772               { 3, 3, 3, 3, 3, 3, 3, 3 },  // 3 connected faces for all vertices
00773               { { 0, 3, 4 },
00774                 { 0, 1, 4 },
00775                 { 1, 2, 4 },
00776                 { 2, 3, 4 },
00777                 { 0, 3, 5 },
00778                 { 0, 1, 5 },
00779                 { 1, 2, 5 },
00780                 { 2, 3, 5 } } },                                            // end target dimension 2
00781             {                                                               // target dimension 3
00782               { 1, 1, 1, 1, 1, 1, 1, 1 },                                   // 0 connected elements for all vertices
00783               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target dimension
00784                                                                             // 3
00785         },                                                                  // end source dim 0
00786 
00787         {
00788             // source dim 1
00789             {                                          // target dim 0
00790               { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },  // 2 vertices for all edges
00791               { { 0, 1 },
00792                 { 1, 2 },
00793                 { 2, 3 },
00794                 { 0, 3 },
00795                 { 0, 4 },
00796                 { 1, 5 },
00797                 { 2, 6 },
00798                 { 3, 7 },
00799                 { 4, 5 },
00800                 { 5, 6 },
00801                 { 6, 7 },
00802                 { 4, 7 } } },                          // end target dim 0
00803             {                                          // target dim 1
00804               { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 },  // 4 edges for all edges
00805               { { 1, 3, 4, 5 },
00806                 { 0, 2, 5, 6 },
00807                 { 1, 3, 6, 7 },
00808                 { 0, 2, 4, 7 },
00809                 { 0, 3, 8, 11 },
00810                 { 0, 1, 8, 9 },
00811                 { 1, 2, 9, 10 },
00812                 { 2, 3, 10, 11 },
00813                 { 4, 5, 9, 11 },
00814                 { 5, 6, 8, 10 },
00815                 { 6, 7, 9, 11 },
00816                 { 4, 7, 8, 10 } } },                   // end target dim 1
00817             {                                          // target dim 2
00818               { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },  // 2 faces for all edges
00819               { { 0, 4 },
00820                 { 1, 4 },
00821                 { 2, 4 },
00822                 { 3, 4 },
00823                 { 0, 3 },
00824                 { 0, 1 },
00825                 { 1, 2 },
00826                 { 2, 3 },
00827                 { 0, 5 },
00828                 { 1, 5 },
00829                 { 2, 5 },
00830                 { 3, 5 } } },                          // end target dim 2
00831             {                                          // target dimension 3
00832               { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },  // 0 connected elements for all vertices
00833               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target
00834                                                                                                         // dimension 3
00835         },  // end source dim 1
00836 
00837         {
00838             // source dim 2
00839             {                        // target dim 0
00840               { 4, 4, 4, 4, 4, 4 },  // 4 vertices for all faces
00841               { { 0, 1, 4, 5 },
00842                 { 1, 2, 5, 6 },
00843                 { 2, 3, 6, 7 },
00844                 { 0, 3, 4, 7 },
00845                 { 0, 1, 2, 3 },
00846                 { 4, 5, 6, 7 } } },  // end target dim 0
00847             {                        // target dim 1
00848               { 4, 4, 4, 4, 4, 4 },  // 4 edges for all faces
00849               { { 0, 5, 8, 4 },
00850                 { 1, 6, 9, 5 },
00851                 { 2, 7, 10, 6 },
00852                 { 3, 4, 11, 7 },
00853                 { 0, 3, 2, 1 },
00854                 { 8, 9, 10, 11 } } },  // end target dim 1
00855             {                          // target dim 2
00856               { 4, 4, 4, 4, 4, 4 },    // 4 faces for all faces
00857               { { 4, 1, 5, 3 },
00858                 { 4, 2, 5, 0 },
00859                 { 4, 3, 5, 1 },
00860                 { 4, 0, 5, 2 },
00861                 { 0, 3, 2, 1 },
00862                 { 0, 1, 2, 3 } } },                           // end target dim 2
00863             {                                                 // target dimension 3
00864               { 1, 1, 1, 1, 1, 1 },                           // 0 connected elements for all vertices
00865               { { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 } } }  // end target dimension 3
00866         },                                                    // end source dim 2
00867 
00868         {
00869             // source dim 3
00870             {                                                  // target dim 0
00871               { 8 },                                           // 8 vertices for all elements
00872               { { 0, 1, 2, 3, 4, 5, 6, 7 } } },                // end target dim 0
00873             {                                                  // target dim 1
00874               { 12 },                                          // 12 edges for all elements
00875               { { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 } } },  // end target dim 1
00876             {                                                  // target dim 2
00877               { 6 },                                           // 6 faces for all elements
00878               { { 0, 1, 2, 3, 4, 5 } } },                      // end target dim 2
00879             {                                                  // target dimension 3
00880               { 0 },                                           // 0 connected elements for all vertices
00881               { { 0 } } }                                      // end target dimension 3
00882         }                                                      // end source dim 3
00883     },                                                         // end type MBHEX
00884 
00885     {
00886         // type MBPOLYHEDRON
00887         {   // source dim 0
00888           { // target dim 0
00889             { 0 },
00890             { { 0 } } },
00891           { // target dimension 1
00892             { 0 },
00893             { { 0 } } },
00894           { // target dimension 2
00895             { 0 },
00896             { { 0 } } },
00897           { // target dimension 3
00898             { 0 },
00899             { { 0 } } } },  // end source dim 0
00900 
00901         {   // source dim 1
00902           { // target dim 0
00903             { 0 },
00904             { { 0 } } },
00905           { // target dimension 1
00906             { 0 },
00907             { { 0 } } },
00908           { // target dimension 2
00909             { 0 },
00910             { { 0 } } },
00911           { // target dimension 3
00912             { 0 },
00913             { { 0 } } } },  // end source dim 1
00914 
00915         {   // source dim 2
00916           { // target dim 0
00917             { 0 },
00918             { { 0 } } },
00919           { // target dimension 1
00920             { 0 },
00921             { { 0 } } },
00922           { // target dimension 2
00923             { 0 },
00924             { { 0 } } },
00925           { // target dimension 3
00926             { 0 },
00927             { { 0 } } } },  // end source dim 2
00928 
00929         {   // source dim 3
00930           { // target dim 0
00931             { 0 },
00932             { { 0 } } },
00933           { // target dimension 1
00934             { 0 },
00935             { { 0 } } },
00936           { // target dimension 2
00937             { 0 },
00938             { { 0 } } },
00939           { // target dimension 3
00940             { 0 },
00941             { { 0 } } } }  // end source dim 3
00942     },                     // end type MBPOLYHEDRON
00943 
00944     {
00945         // type MBENTITYSET
00946         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 0
00947         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 1
00948         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } },  // source dim 2
00949         { { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } }, { { 0 }, { { 0 } } } }   // source dim 3
00950     }                                                                          // end type MBENTITYSET
00951 };
00952 const unsigned char E                                                         = CN::MID_EDGE_BIT;
00953 const unsigned char F                                                         = CN::MID_FACE_BIT;
00954 const unsigned char R                                                         = CN::MID_REGION_BIT;
00955 const unsigned char CN::midNodesPerType[MBMAXTYPE][MAX_NODES_PER_ELEMENT + 1] = {
00956     // vertex
00957     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00958     // edge
00959     { 0, 0, 0, E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00960     // tri
00961     { 0, 0, 0, 0, F, 0, E, E | F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00962     // quad
00963     { 0, 0, 0, 0, 0, F, 0, 0, E, E | F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00964     // polygon
00965     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00966     // tet 1, 2, 3, 4, 5, 6, 7, 8, 9,  10, 11, 12,13, 14,  15
00967     { 0, 0, 0, 0, 0, R, 0, 0, F, F | R, E, E | R, 0, 0, E | F, E | F | R, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00968     // pyramid   3, 4, 5, 6, 7, 8, 9,10, 11, 12,13, 14, 15,16,17, 18,  19
00969     { 0, 0, 0, 0, 0, 0, R, 0, 0, 0, F, F | R, 0, E, E | R, 0, 0, 0, E | F, E | F | R, 0, 0, 0, 0, 0, 0, 0, 0 },
00970     // prism  2, 3, 4, 5, 6, 7, 8, 9,10,11, 12, 13,14,15, 16, 17,18,19, 20,  21
00971     { 0, 0, 0, 0, 0, 0, 0, R, 0, 0, 0, F, F | R, 0, 0, E, E | R, 0, 0, 0, E | F, E | F | R, 0, 0, 0, 0, 0, 0 },
00972     // knife  2, 3, 4, 5, 6, 7, 8, 9,10,11, 12,13, 14,15,16,17, 18, 19,20,21, 22,  23
00973     { 0, 0, 0, 0, 0, 0, 0, 0, R, 0, 0, 0, F, F | R, 0, 0, 0, E, E | R, 0, 0, 0, E | F, E | F | R, 0, 0, 0, 0 },
00974     // hex 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15, 16,17,18,19,20, 21, 22,23,24,25, 26,  27
00975     { 0, 0, 0, 0, 0, 0, 0, 0, 0, R, 0, 0, 0, 0, F, F | R, 0, 0, 0, 0, E, E | R, 0, 0, 0, 0, E | F, E | F | R },
00976     // polyhedron
00977     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00978     // set
00979     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
00980 };
00981 
00982 }  // namespace moab
00983 
00984 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines