MOAB: Mesh Oriented datABase
(version 5.5.0)
AssocPair.hpp
Go to the documentation of this file.
1
#ifndef ASSOCPAIR_HPP
2
#define ASSOCPAIR_HPP
3
4
#include "
iRel_Lasso.hpp
"
5
#include "
AssocPairSide.hpp
"
6
7
#include <sstream>
8
9
class
Lasso
;
10
11
class
AssocPair
12
{
13
public
:
14
friend
class
Lasso
;
15
16
AssocPair
(
iRel_Instance
instance
,
17
iBase_Instance
iface0,
18
iRel_RelationType
ent_or_set0,
19
iRel_IfaceType
type0,
20
iRel_RelationStatus
status0,
21
iBase_Instance
iface1,
22
iRel_RelationType
ent_or_set1,
23
iRel_IfaceType
type1,
24
iRel_RelationStatus
status1 );
25
26
~AssocPair
();
27
28
iBase_Instance
iface_instance
(
int
iface_no )
const
;
29
iRel_IfaceType
iface_type
(
int
iface_no )
const
;
30
iRel_RelationType
relation_type
(
int
iface_no )
const
;
31
iRel_RelationStatus
relation_status
(
int
iface_no )
const
;
32
33
int
change_type
(
int
iface_no,
iRel_RelationType
type );
34
int
change_status
(
int
iface_no,
iRel_RelationStatus
status );
35
36
bool
equivalent
(
iBase_Instance
iface1,
iBase_Instance
iface2,
bool
* order_switched = NULL );
37
bool
equivalent
(
iRel_IfaceType
type1,
iRel_IfaceType
type2,
bool
* order_switched = NULL );
38
39
bool
contains
(
iBase_Instance
iface
);
40
41
int
get_all_entities
(
int
iface_no,
42
int
dimension,
43
iBase_EntityHandle
**
entities
,
44
int
* entities_alloc,
45
int
* entities_size );
46
47
int
get_all_sets
(
int
iface_no,
iBase_EntitySetHandle
** sets,
int
* sets_alloc,
int
* sets_size );
48
49
int
get_entities
(
int
iface_no,
50
int
dimension,
51
iBase_EntitySetHandle
set_handle,
52
iBase_EntityHandle
**
entities
,
53
int
* entities_alloc,
54
int
* entities_size );
55
56
int
get_ents_dims
(
int
iface_no,
57
iBase_EntityHandle
*
entities
,
58
int
entities_size,
59
int
** ent_types,
60
int
* ent_types_alloc,
61
int
* ent_types_size );
62
63
int
set_relation
(
iBase_EntityHandle
ent1,
iBase_EntityHandle
ent2 );
64
int
set_relation
(
iBase_EntitySetHandle
set1,
iBase_EntityHandle
ent2 );
65
int
set_relation
(
iBase_EntityHandle
ent1,
iBase_EntitySetHandle
set2 );
66
int
set_relation
(
iBase_EntitySetHandle
set1,
iBase_EntitySetHandle
set2 );
67
68
int
get_relation
(
int
iface_no,
iBase_EntityHandle
*
entities
,
int
num_entities,
iBase_EntityHandle
* tag_values );
69
int
get_relation
(
int
iface_no,
iBase_EntitySetHandle
* sets,
int
num_sets,
iBase_EntityHandle
* tag_values );
70
int
get_relation
(
int
iface_no,
iBase_EntityHandle
*
entities
,
int
num_entities,
iBase_EntitySetHandle
* tag_values );
71
int
get_relation
(
int
iface_no,
iBase_EntitySetHandle
* sets,
int
num_sets,
iBase_EntitySetHandle
* tag_values );
72
int
get_relation
(
int
iface_no,
iBase_EntityHandle
*
entities
,
int
num_entities,
iBase_EntityIterator
* tag_values );
73
int
get_relation
(
int
iface_no,
iBase_EntitySetHandle
* sets,
int
num_sets,
iBase_EntityIterator
* tag_values );
74
75
int
rmv_relation
(
int
iface_no,
iBase_EntityHandle
*
entities
,
int
num_entities );
76
int
rmv_relation
(
int
iface_no,
iBase_EntitySetHandle
* sets,
int
num_sets );
77
78
int
get_gids
(
int
iface_no,
iBase_EntityHandle
*
entities
,
int
num_entities,
int
* tag_values );
79
int
get_gids
(
int
iface_no,
iBase_EntitySetHandle
* sets,
int
num_sets,
int
* tag_values );
80
81
int
get_dims
(
int
iface_no,
iBase_EntityHandle
*
entities
,
int
num_entities,
int
* tag_values );
82
int
get_dims
(
int
iface_no,
iBase_EntitySetHandle
* sets,
int
num_sets,
int
* tag_values );
83
84
private
:
85
AssocPair
();
86
87
int
populate_recursive
(
int
iface_no,
iBase_EntitySetHandle
set,
iBase_EntityHandle
related_ent );
88
int
populate_recursive
(
int
iface_no,
iBase_EntitySetHandle
set,
iBase_EntitySetHandle
related_set );
89
90
int
unpopulate_recursive
(
int
iface_no,
iBase_EntitySetHandle
set );
91
92
iRel_Instance
instance
;
93
AssocPairSide
*
relSides
[2];
94
iRel_RelationType
entOrSet
[2];
95
iRel_RelationStatus
relStatus
[2];
96
int
pairId
;
97
98
static
int
currId
;
99
};
100
101
inline
iBase_Instance
AssocPair::iface_instance
(
int
iface_no )
const
102
{
103
return
relSides
[iface_no]->
instance
();
104
}
105
106
inline
iRel_IfaceType
AssocPair::iface_type
(
int
iface_no )
const
107
{
108
return
relSides
[iface_no]->
type
();
109
}
110
111
inline
iRel_RelationType
AssocPair::relation_type
(
int
iface_no )
const
112
{
113
return
entOrSet
[iface_no];
114
}
115
116
inline
iRel_RelationStatus
AssocPair::relation_status
(
int
iface_no )
const
117
{
118
return
relStatus
[iface_no];
119
}
120
121
static
inline
AssocPair
*
assocpair_handle
(
iRel_PairHandle
pair )
122
{
123
return
reinterpret_cast<
AssocPair
*
>
( pair );
124
}
125
#define ASSOCPAIRI assocpair_handle( pair )
126
127
#endif
itaps
irel
AssocPair.hpp
Generated on Wed Oct 4 2023 14:20:26 for MOAB: Mesh Oriented datABase by
1.9.1