21 #ifndef HOMOGENEOUS_BLOCK_H 22 #define HOMOGENEOUS_BLOCK_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef BASE_SPACE_MEMBER_H 29 #include "SheafSystem/base_space_member.h" 34 class index_space_handle;
35 class index_space_iterator;
36 class hub_index_space_handle;
43 using namespace sheaf;
45 class homogeneous_block_crg_interval;
120 const char* local_cell_type_name()
const;
127 using base_space_member::new_row_dof_map;
136 const std::string& xprototype_name,
137 const std::string& xlocal_cell_name,
146 const std::string& xprototype_name,
147 const std::string& xlocal_cell_name,
163 virtual void attach_handle_data_members();
245 bool contains_zone_id_space(
bool xauto_access)
const;
284 bool contains_vertex_id_space(
bool xauto_access)
const;
323 bool contains_connectivity_id_space(
pod_index_type xzone_id,
bool xauto_access)
const;
329 bool contains_connectivity_id_space(
const scoped_index& xzone_id,
bool xauto_access)
const;
347 void release_connectivity_id_space(
index_space_handle& xid_space,
bool xauto_access)
const;
365 void release_connectivity_id_space_iterator(
index_space_iterator& xid_space,
bool xauto_access)
const;
384 bool contains_adjacency_id_space(
pod_index_type xvertex_id,
bool xauto_access)
const;
390 bool contains_adjacency_id_space(
const scoped_index& xvertex_id,
bool xauto_access)
const;
408 void release_adjacency_id_space(
index_space_handle& xid_space,
bool xauto_access)
const;
426 void release_adjacency_id_space_iterator(
index_space_iterator& xid_space,
bool xauto_access)
const;
482 return static_cast<homogeneous_block*
>(base_space_member::clone(xnew_state, xauto_access));
568 return static_cast<homogeneous_block*
>(base_space_member::l_join(other, xnew_jem));
578 return static_cast<homogeneous_block*
>(base_space_member::l_meet(other, xnew_jem));
608 virtual bool invariant()
const;
613 virtual bool is_ancestor_of(
const any* other)
const;
634 #endif // HOMOGENEOUS_BLOCK_H homogeneous_block * p_meet(abstract_poset_member *other)
poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greates...
homogeneous_block * l_join(abstract_poset_member *other, bool xnew_jem=true)
lattice join of this with other, auto-, pre-, and self-allocated versions the lattice join is the lea...
An abstract iterator over the ids of an id space.
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
homogeneous_block * least_jem() const
The smallest member which is join-equivalent to this.
homogeneous_block * greatest_jem() const
The largest member which is join-equivalent to this.
A client handle for a general, abstract partially order set.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
An implementation of class sum_index_space_handle that has a primary sum id space state...
A client handle for a member of a base space poset.
Abstract base class with useful features for all objects.
The lattice of closed cells of a cellular space; a lattice representation of a computational mesh...
homogeneous_block * l_not(bool xnew_jem=true) const
lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complem...
Struct representing the closed interval [_begin, _end].
Emulator for a interval of implicit base space members representing a homogeneous collection of cells...
A client handle for a mutable partially ordered set.
homogeneous_block_crg_interval * _interval
The implicit interval posetmember for this block.
An index within the external ("client") scope of a given id space.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
A client handle for a base space member which represents a homgeneous collection of local cells...
homogeneous_block * l_meet(abstract_poset_member *other, bool xnew_jem=true)
lattice meet of thisposet with other, auto-, pre-, and self-allocated versions the lattice meet is th...
homogeneous_block * p_join(abstract_poset_member *other) const
poset join of this with other, auto-, pre-, and self-allocated versions the poset join is the least u...
homogeneous_block * clone(bool xnew_state, bool xauto_access=true) const
Make a new handle instance of current. Attach the new instance to a new state if xnew_state is true...
int_type pod_index_type
The plain old data index type.
Namespace for the sheaves component of the sheaf system.
An abstract client handle for a member of a poset.
An array representation of abstract class poset_dof_map.
Namespace for the fiber_bundles component of the sheaf system.