SheafSystem
0.0.0.0
|
Node to zone adjacency relation for a block of zones of a given type. More...
#include <block_adjacency.h>
Public Types | |
typedef std::map< pod_index_type, singly_linked_list< pod_index_type > > | adj_type |
The type of the adjacency relation. More... | |
typedef adj_type::iterator | node_iterator_type |
Type of iterator for nodes. More... | |
typedef adj_type::const_iterator | const_node_iterator_type |
Type of const iterator for nodes. More... | |
typedef adj_type::mapped_type::iterator | zone_iterator_type |
Type of iterator for zones. More... | |
typedef adj_type::mapped_type::const_iterator | const_zone_iterator_type |
Type of const iterator for zones. More... | |
Public Types inherited from fiber_bundle::block_relation | |
enum | cell_type { POINT, LINE, QUAD, TRIANGLE, HEX, TETRA, CELL_TYPE_END } |
Cell types. More... | |
Public Member Functions | |
block_adjacency () | |
Default constructor. More... | |
block_adjacency (const block_adjacency &xother) | |
Copy constructor. More... | |
block_adjacency (const block_connectivity &xconn) | |
Creates an instance which is the transpose of connectivty xconn. More... | |
block_adjacency (size_type xzone_ct, size_type xnodes_per_zone, size_type xnode_ids_ct, const pod_index_type *xnode_ids, cell_type xelement_type=CELL_TYPE_END) | |
Creates an instance which is transpose of the connectivity in xnode_ids, wit element_type() == xelement_type. More... | |
virtual | ~block_adjacency () |
Destructor. More... | |
void | put_connectivity (const block_connectivity &xconn) |
Makes this the transpose of connectivity xconn. More... | |
void | put_connectivity (size_type xzone_ct, size_type xnodes_per_zone, size_type xnode_ids_ct, const pod_index_type *xnode_ids) |
Makes this the transpose of connectivity xconn. More... | |
block_adjacency & | operator= (const block_connectivity &xconn) |
Makes this the transpose of connectivity xconn; synonym for put_connectivity(xconn). More... | |
node_iterator_type | begin () |
Beginning of adjacency relation. More... | |
const_node_iterator_type | begin () const |
Beginning of adjacency relation; const version. More... | |
node_iterator_type | end () |
End of adjacency relation. More... | |
const_node_iterator_type | end () const |
End of adjacency relation; const version. More... | |
size_type | node_ct () const |
The number of distinct nodes. More... | |
size_type | zone_ct () const |
The number of distinct zones. More... | |
virtual cell_type | element_type () const |
The element type. More... | |
virtual bool | is_ancestor_of (const any *other) const |
Conformance test; true if other conforms to this. More... | |
virtual block_adjacency * | clone () const |
Virtual constructor, makes a new instance of the same type as this. More... | |
block_adjacency & | operator= (const block_adjacency &xother) |
Assignment operator. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
Public Member Functions inherited from fiber_bundle::block_relation | |
block_relation () | |
Default constructor. More... | |
virtual | ~block_relation () |
Destructor. More... | |
Public Member Functions inherited from sheaf::any | |
bool | is_same_type (const any *other) const |
True if other is the same type as this. More... | |
virtual | ~any () |
Destructor. More... | |
bool | invariant_check () const |
True if invariant checking is enabled. More... | |
void | enable_invariant_check () const |
Enable invariant checking. More... | |
void | disable_invariant_check () const |
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More... | |
int | disable_invariance_check_request_depth () const |
Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More... | |
Protected Attributes | |
adj_type | _adj |
Storage for the adjcency relation. More... | |
size_type | _node_ct |
The number of distinct nodes. More... | |
size_type | _zone_ct |
The number of distinct zones. More... | |
cell_type | _element_type |
The element type. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Node to zone adjacency relation for a block of zones of a given type.
Definition at line 48 of file block_adjacency.h.
typedef std::map< pod_index_type, singly_linked_list<pod_index_type> > fiber_bundle::block_adjacency::adj_type |
The type of the adjacency relation.
Definition at line 60 of file block_adjacency.h.
typedef adj_type::const_iterator fiber_bundle::block_adjacency::const_node_iterator_type |
Type of const iterator for nodes.
Definition at line 70 of file block_adjacency.h.
typedef adj_type::mapped_type::const_iterator fiber_bundle::block_adjacency::const_zone_iterator_type |
Type of const iterator for zones.
Definition at line 80 of file block_adjacency.h.
typedef adj_type::iterator fiber_bundle::block_adjacency::node_iterator_type |
Type of iterator for nodes.
Definition at line 65 of file block_adjacency.h.
typedef adj_type::mapped_type::iterator fiber_bundle::block_adjacency::zone_iterator_type |
Type of iterator for zones.
Definition at line 75 of file block_adjacency.h.
fiber_bundle::block_adjacency::block_adjacency | ( | ) |
Default constructor.
Definition at line 35 of file block_adjacency.cc.
Referenced by block_adjacency().
fiber_bundle::block_adjacency::block_adjacency | ( | const block_adjacency & | xother | ) |
Copy constructor.
Definition at line 60 of file block_adjacency.cc.
References _adj, _element_type, _node_ct, _zone_ct, and block_adjacency().
fiber_bundle::block_adjacency::block_adjacency | ( | const block_connectivity & | xconn | ) |
Creates an instance which is the transpose of connectivty xconn.
Definition at line 84 of file block_adjacency.cc.
References block_adjacency().
fiber_bundle::block_adjacency::block_adjacency | ( | size_type | xzone_ct, |
size_type | xnodes_per_zone, | ||
size_type | xnode_ids_ct, | ||
const pod_index_type * | xnode_ids, | ||
cell_type | xelement_type = CELL_TYPE_END |
||
) |
Creates an instance which is transpose of the connectivity in xnode_ids, wit element_type() == xelement_type.
Definition at line 104 of file block_adjacency.cc.
References ~block_adjacency().
|
virtual |
Destructor.
Definition at line 132 of file block_adjacency.cc.
References put_connectivity().
Referenced by block_adjacency().
fiber_bundle::block_adjacency::node_iterator_type fiber_bundle::block_adjacency::begin | ( | ) |
Beginning of adjacency relation.
Definition at line 253 of file block_adjacency.cc.
Referenced by fiber_bundle::zone_nodes_block_crg_interval::initialize_vertex_client_id_space(), fiber_bundle::operator<<(), operator=(), and fiber_bundle::zone_nodes_block_crg_interval::put_implicit_private_data().
fiber_bundle::block_adjacency::const_node_iterator_type fiber_bundle::block_adjacency::begin | ( | ) | const |
Beginning of adjacency relation; const version.
Definition at line 261 of file block_adjacency.cc.
References end().
|
virtual |
Virtual constructor, makes a new instance of the same type as this.
Implements fiber_bundle::block_relation.
Definition at line 340 of file block_adjacency.cc.
References operator=().
Referenced by is_ancestor_of().
|
virtual |
The element type.
Implements fiber_bundle::block_relation.
Definition at line 306 of file block_adjacency.cc.
References is_ancestor_of().
Referenced by zone_ct().
fiber_bundle::block_adjacency::node_iterator_type fiber_bundle::block_adjacency::end | ( | ) |
End of adjacency relation.
Definition at line 269 of file block_adjacency.cc.
Referenced by begin(), fiber_bundle::zone_nodes_block_crg_interval::initialize_vertex_client_id_space(), fiber_bundle::operator<<(), and fiber_bundle::zone_nodes_block_crg_interval::put_implicit_private_data().
fiber_bundle::block_adjacency::const_node_iterator_type fiber_bundle::block_adjacency::end | ( | ) | const |
End of adjacency relation; const version.
Definition at line 277 of file block_adjacency.cc.
References node_ct().
|
virtual |
Class invariant.
Reimplemented from fiber_bundle::block_relation.
Definition at line 386 of file block_adjacency.cc.
References fiber_bundle::operator<<().
Referenced by operator=().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from fiber_bundle::block_relation.
Definition at line 319 of file block_adjacency.cc.
References clone().
Referenced by element_type().
sheaf::size_type fiber_bundle::block_adjacency::node_ct | ( | ) | const |
The number of distinct nodes.
Definition at line 285 of file block_adjacency.cc.
References zone_ct().
Referenced by end(), fiber_bundle::zone_nodes_block_crg_interval::initialize_vertex_client_id_space(), and fiber_bundle::zone_nodes_block_crg_interval::put_implicit_private_data().
fiber_bundle::block_adjacency & fiber_bundle::block_adjacency::operator= | ( | const block_connectivity & | xconn | ) |
Makes this the transpose of connectivity xconn; synonym for put_connectivity(xconn).
Definition at line 233 of file block_adjacency.cc.
References begin().
Referenced by clone(), and put_connectivity().
fiber_bundle::block_adjacency & fiber_bundle::block_adjacency::operator= | ( | const block_adjacency & | xother | ) |
Assignment operator.
Not Implemented.
Definition at line 364 of file block_adjacency.cc.
References invariant().
void fiber_bundle::block_adjacency::put_connectivity | ( | const block_connectivity & | xconn | ) |
Makes this the transpose of connectivity xconn.
Definition at line 151 of file block_adjacency.cc.
References fiber_bundle::block_connectivity::element_ct(), fiber_bundle::block_relation::element_type(), fiber_bundle::block_connectivity::node_id_ct(), fiber_bundle::block_connectivity::node_ids(), and fiber_bundle::block_connectivity::nodes_per_element().
Referenced by ~block_adjacency().
void fiber_bundle::block_adjacency::put_connectivity | ( | size_type | xzone_ct, |
size_type | xnodes_per_zone, | ||
size_type | xnode_ids_ct, | ||
const pod_index_type * | xnode_ids | ||
) |
Makes this the transpose of connectivity xconn.
Definition at line 180 of file block_adjacency.cc.
References operator=().
sheaf::size_type fiber_bundle::block_adjacency::zone_ct | ( | ) | const |
The number of distinct zones.
Definition at line 293 of file block_adjacency.cc.
References element_type().
Referenced by fiber_bundle::zone_nodes_block_crg_interval::initialize_vertex_client_id_space(), and node_ct().
|
protected |
Storage for the adjcency relation.
Definition at line 170 of file block_adjacency.h.
Referenced by block_adjacency().
|
protected |
The element type.
Definition at line 201 of file block_adjacency.h.
Referenced by block_adjacency().
|
protected |
The number of distinct nodes.
Definition at line 175 of file block_adjacency.h.
Referenced by block_adjacency().
|
protected |
The number of distinct zones.
Definition at line 180 of file block_adjacency.h.
Referenced by block_adjacency().