Mesh Oriented datABase
(version 5.5.1)
An array-based unstructured mesh library
ExoIIInterface.hpp
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 MOAB_EXOII_INTERFACE_HPP
17
#define MOAB_EXOII_INTERFACE_HPP
18
19
#include "
moab/Types.hpp
"
20
#include "
moab/Compiler.hpp
"
21
22
namespace
moab
23
{
24
25
enum
ExoIIElementType
26
{
27
EXOII_SPHERE
= 0,
28
EXOII_SPRING
,
29
EXOII_BAR
,
30
EXOII_BAR2
,
31
EXOII_BAR3
,
32
EXOII_BEAM
,
33
EXOII_BEAM2
,
34
EXOII_BEAM3
,
35
EXOII_TRUSS
,
36
EXOII_TRUSS2
,
37
EXOII_TRUSS3
,
38
EXOII_TRI
,
39
EXOII_TRI3
,
40
EXO_SHELL3
,
41
EXOII_TRI6
,
42
EXOII_TRI7
,
43
EXOII_QUAD
,
44
EXOII_QUAD4
,
45
EXOII_QUAD5
,
46
EXOII_QUAD8
,
47
EXOII_QUAD9
,
48
EXOII_SHELL
,
49
EXOII_SHELL4
,
50
EXOII_SHELL5
,
51
EXOII_SHELL8
,
52
EXOII_SHELL9
,
53
EXOII_TETRA
,
54
EXOII_TETRA4
,
55
EXOII_TET4
,
56
EXOII_TETRA8
,
57
EXOII_TETRA10
,
58
EXOII_TETRA14
,
59
EXOII_PYRAMID
,
60
EXOII_PYRAMID5
,
61
EXOII_PYRAMID10
,
62
EXOII_PYRAMID13
,
63
EXOII_PYRAMID18
,
64
EXOII_WEDGE
,
65
EXOII_KNIFE
,
66
EXOII_HEX
,
67
EXOII_HEX8
,
68
EXOII_HEX9
,
69
EXOII_HEX20
,
70
EXOII_HEX27
,
71
EXOII_HEXSHELL
,
72
EXOII_POLYGON
,
73
EXOII_POLYHEDRON
,
74
EXOII_MAX_ELEM_TYPE
75
};
76
77
class
ExoIIInterface
78
{
79
public
:
80
enum
81
{
82
MAX_STR_LENGTH
= 33,
83
MAX_LINE_LENGTH
= 80
84
};
85
86
ExoIIInterface
() {}
87
virtual
~ExoIIInterface
() {}
88
89
//! given the element name, return the type
90
virtual
ExoIIElementType
element_name_to_type
(
const
char
* name ) = 0;
91
92
//! get the element type of the entity; this entity can either be a meshset,
93
//! in which case it will be assumed to be a material set meshset, or an
94
//! individual entity.
95
virtual
ExoIIElementType
get_element_type
(
EntityHandle
entity,
96
Tag
mid_nodes_tag,
97
Tag
geom_dimension_tag,
98
EntityType indiv_entity_type =
MBMAXTYPE
) = 0;
99
100
virtual
int
has_mid_nodes
(
ExoIIElementType
elem_type,
int
dimension ) = 0;
101
virtual
void
has_mid_nodes
(
ExoIIElementType
elem_type,
int
* array ) = 0;
102
103
virtual
const
char
*
element_type_name
(
ExoIIElementType
type ) = 0;
104
105
//! return the geometric dimension of the specified element type
106
virtual
int
geometric_dimension
(
const
ExoIIElementType
elem_type ) = 0;
107
};
108
109
}
// namespace moab
110
111
#endif
src
io
moab
ExoIIInterface.hpp
Generated on Sun Dec 22 2024 02:06:22 for Mesh Oriented datABase by
1.9.1.