moab
|
00001 #ifndef EXODUS_ORDER_HPP 00002 #define EXODUS_ORDER_HPP 00003 00004 #include "patran_order.h" 00005 00006 #ifdef __cplusplus 00007 extern "C" { 00008 namespace moab { 00009 #endif 00010 00011 /* Cubit writes ExodusII files with tet mid-face nodes in this order */ 00012 static const int exodus_tet8_order[] = { 0, 1, 2, 3, 4, 5, 7, 6 }; 00013 static const int exodus_tet9_order[] = { 0, 1, 2, 3, 8, 4, 5, 7, 6 }; 00014 static const int exodus_tet14_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 12 }; 00015 static const int exodus_tet15_order[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 14, 10, 11, 13, 12 }; 00016 00017 static const int* exodus_tet_order[] = { 0, 0, 0, 0, 0, 0, 0, 0, 00018 exodus_tet8_order, 00019 exodus_tet9_order, 00020 0, 0, 0, 0, 00021 exodus_tet14_order, 00022 exodus_tet15_order, 00023 0, 0, 0, 0, 0, 0, 00024 0, 0, 0, 0, 0, 0 }; 00025 00026 static const int* const* exodus_hex_order = patran_hex_order; 00027 00028 static const int *const *const exodus_elem_order_map[] = { 00029 patran_null_order, /* MBVERTEX */ 00030 patran_null_order, /* MBEDGE */ 00031 patran_null_order, /* MBTRI */ 00032 patran_null_order, /* MBQUAD */ 00033 patran_null_order, /* MBPOLYGON */ 00034 exodus_tet_order, /* MBTET */ 00035 patran_null_order, /* MBPYRAMID */ 00036 patran_pri_order, /* MBPRISM */ 00037 patran_null_order, /* MBKNIFE */ 00038 exodus_hex_order, /* MBHEX */ 00039 patran_null_order, /* MBPOLYHEDRON */ 00040 patran_null_order 00041 }; 00042 00043 #ifdef __cplusplus 00044 } /* extern "C" */ 00045 } /* namespace moab */ 00046 #endif 00047 00048 #endif