IOSS
2.0
Iodw_MetaData.h
Go to the documentation of this file.
1
// Copyright(C) 1999-2010
2
// Sandia Corporation. Under the terms of Contract
3
// DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
4
// certain rights in this software.
5
//
6
// Redistribution and use in source and binary forms, with or without
7
// modification, are permitted provided that the following conditions are
8
// met:
9
//
10
// * Redistributions of source code must retain the above copyright
11
// notice, this list of conditions and the following disclaimer.
12
//
13
// * Redistributions in binary form must reproduce the above
14
// copyright notice, this list of conditions and the following
15
// disclaimer in the documentation and/or other materials provided
16
// with the distribution.
17
// * Neither the name of Sandia Corporation nor the names of its
18
// contributors may be used to endorse or promote products derived
19
// from this software without specific prior written permission.
20
//
21
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
33
#ifndef Iodw_MetaData_h
34
#define Iodw_MetaData_h
35
36
#include <map>
37
#include <string>
38
#include <vector>
39
40
namespace
Iodw
{
41
42
namespace
meta {
43
44
struct
Property
45
{
46
};
47
48
struct
Field
49
{
50
};
51
52
struct
GroupingEntity
53
{
54
std::vector<Property>
properties
;
55
std::vector<Field>
fields
;
56
};
57
58
struct
EntityBlock
:
public
GroupingEntity
59
{
60
};
61
62
struct
EntitySet
:
public
GroupingEntity
63
{
64
};
65
66
struct
NodeBlock
:
public
EntityBlock
67
{
68
};
69
struct
SideBlock
:
public
EntityBlock
70
{
71
};
72
struct
ElementBlock
:
public
EntityBlock
73
{
74
};
75
struct
EdgeBlock
:
public
EntityBlock
76
{
77
};
78
struct
FaceBlock
:
public
EntityBlock
79
{
80
};
81
82
struct
NodeSet
:
public
EntitySet
83
{
84
};
85
struct
SideSet
:
public
EntitySet
86
{
87
};
88
struct
ElementSet
:
public
EntitySet
89
{
90
};
91
struct
EdgeSet
:
public
EntitySet
92
{
93
};
94
struct
FaceSet
:
public
EntitySet
95
{
96
};
97
98
struct
Region
99
{
100
using
Name
= std::string;
101
using
Key
= std::string;
102
using
NameKeyMap
= std::map<Name, Key>;
103
104
NameKeyMap
name_key_map
;
105
106
std::vector<ElementBlock>
element_blocks
;
107
std::vector<NodeBlock>
node_blocks
;
108
109
std::vector<ElementSet>
element_sets
;
110
std::vector<NodeSet>
node_sets
;
111
};
112
113
}
// namespace meta
114
115
}
// namespace Iodw
116
117
#endif // Iodw_MetaData_h
Iodw::meta::SideBlock
Definition:
Iodw_MetaData.h:69
Iodw::meta::GroupingEntity::properties
std::vector< Property > properties
Definition:
Iodw_MetaData.h:54
Iodw::meta::Region::Key
std::string Key
Definition:
Iodw_MetaData.h:101
Iodw::meta::FaceSet
Definition:
Iodw_MetaData.h:94
Iodw::meta::EntityBlock
Definition:
Iodw_MetaData.h:58
Iodw::meta::Field
Definition:
Iodw_MetaData.h:48
Iodw::meta::GroupingEntity::fields
std::vector< Field > fields
Definition:
Iodw_MetaData.h:55
Iodw::meta::Region::element_sets
std::vector< ElementSet > element_sets
Definition:
Iodw_MetaData.h:109
Iodw::meta::ElementSet
Definition:
Iodw_MetaData.h:88
Iodw::meta::EntitySet
Definition:
Iodw_MetaData.h:62
Iodw::meta::NodeSet
Definition:
Iodw_MetaData.h:82
Iodw::meta::Region::node_sets
std::vector< NodeSet > node_sets
Definition:
Iodw_MetaData.h:110
Iodw::meta::Region::node_blocks
std::vector< NodeBlock > node_blocks
Definition:
Iodw_MetaData.h:107
Iodw::meta::NodeBlock
Definition:
Iodw_MetaData.h:66
Iodw::meta::SideSet
Definition:
Iodw_MetaData.h:85
Iodw::meta::ElementBlock
Definition:
Iodw_MetaData.h:72
Iodw::meta::Property
Definition:
Iodw_MetaData.h:44
Iodw::meta::EdgeBlock
Definition:
Iodw_MetaData.h:75
Iodw::meta::Region::NameKeyMap
std::map< Name, Key > NameKeyMap
Definition:
Iodw_MetaData.h:102
Iodw::meta::EdgeSet
Definition:
Iodw_MetaData.h:91
Iodw::meta::Region::element_blocks
std::vector< ElementBlock > element_blocks
Definition:
Iodw_MetaData.h:106
Iodw::meta::GroupingEntity
Definition:
Iodw_MetaData.h:52
Iodw::meta::Region
Definition:
Iodw_MetaData.h:98
Iodw::meta::FaceBlock
Definition:
Iodw_MetaData.h:78
Iodw::meta::Region::name_key_map
NameKeyMap name_key_map
Definition:
Iodw_MetaData.h:104
Iodw
A namespace for the pamgen database format.
Definition:
Iodw_DatabaseIO.C:79
Iodw::meta::Region::Name
std::string Name
Definition:
Iodw_MetaData.h:100
src
data_warehouse
Iodw_MetaData.h
Generated by
1.8.16