Mesh Oriented datABase  (version 5.5.1)
An array-based unstructured mesh library
names-and-paths.h
Go to the documentation of this file.
1 /**
2  * MOAB, a Mesh-Oriented datABase, is a software component for creating,
3  * storing and accessing finite element mesh data.
4  *
5  * Copyright 2004 Sandia Corporation. Under the terms of Contract
6  * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government
7  * retains certain rights in this software.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  */
15 
16 #ifndef NAMES_AND_PATHS_H
17 #define NAMES_AND_PATHS_H
18 
19 /* Constants for misc paths and names inside the hdf file */
20 
21 /* The root group of the hdf file, containing all mesh data */
22 #define ROOT_GROUP "/tstt/"
23 
24 /* Object containing history (ExodusII-type QA records) */
25 #define HISTORY_NAME "history"
26 #define HISTORY_PATH ROOT_GROUP HISTORY_NAME
27 
28 /* Path to the group containing the tag meta-information and
29  * sparse tag data */
30 #define TAG_GROUP_NAME "tags"
31 #define TAG_GROUP ROOT_GROUP TAG_GROUP_NAME "/"
32 #define SPARSE_ENTITY_NAME "id_list"
33 #define SPARSE_VALUES_NAME "values"
34 #define TAG_TYPE_NAME "type"
35 #define TAG_VAR_INDICES "var_indices"
36 
37 /* Common names for data node/element/set groups */
38 #define DENSE_TAG_SUBGROUP TAG_GROUP_NAME "/"
39 #define ADJACENCY_NAME "adjacency"
40 #define CONNECTIVITY_NAME "connectivity"
41 #define POLY_INDEX_NAME "poly_indices"
42 #define TYPE_ENUM_PATH ROOT_GROUP "elemtypes"
43 
44 /* Node paths */
45 #define NODE_GROUP_NAME "nodes"
46 #define NODE_GROUP ROOT_GROUP NODE_GROUP_NAME "/"
47 #define NODE_COORD_NAME "coordinates"
48 #define NODE_COORD_PATH NODE_GROUP NODE_COORD_NAME
49 #define NODE_TAG_GROUP NODE_GROUP DENSE_TAG_SUBGROUP
50 #define NODE_ADJCY_PATH NODE_GROUP ADJACENCY_NAME
51 
52 /* MeshSet paths */
53 #define SET_GROUP_NAME "sets"
54 #define SET_GROUP ROOT_GROUP SET_GROUP_NAME "/"
55 #define SET_META_NAME "list"
56 #define SET_META_PATH SET_GROUP SET_META_NAME
57 #define SET_CHILD_NAME "children"
58 #define SET_CHILD_PATH SET_GROUP SET_CHILD_NAME
59 #define SET_PARENT_NAME "parents"
60 #define SET_PARENT_PATH SET_GROUP SET_PARENT_NAME
61 #define SET_DATA_NAME "contents"
62 #define SET_DATA_PATH SET_GROUP SET_DATA_NAME
63 #define SET_TAG_GROUP SET_GROUP DENSE_TAG_SUBGROUP
64 
65 /* Group for all element types. Subgroups for each type. */
66 #define ELEMENT_GROUP_NAME "elements"
67 #define ELEMENT_GROUP ROOT_GROUP ELEMENT_GROUP_NAME "/"
68 
69 /* Names for attributes placed on objects in the hdf file */
70 #define TAG_DEFAULT_ATTRIB "default"
71 #define TAG_GLOBAL_ATTRIB "global"
72 #define TAG_TYPE_ATTRIB "class"
73 #define TAG_HANDLE_TYPE_ATTRIB "is_handle"
74 #define TAG_VARLEN_ATTRIB "variable_length"
75 #define ELEM_TYPE_ATTRIB "element_type"
76 #define START_ID_ATTRIB "start_id"
77 #define MAX_ID_ATTRIB "max_id"
78 
79 #endif