21 #ifndef BASE_SPACE_POSET_H 22 #define BASE_SPACE_POSET_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef REFINABLE_POSET_H 29 #include "SheafSystem/refinable_poset.h" 34 class namespace_poset;
40 using namespace sheaf;
42 class base_space_crg_interval;
43 class base_space_member_row_dof_tuple_type;
44 class base_space_poset;
58 size_t deep_size(
const base_space_poset& xp,
59 bool xinclude_shallow =
true,
60 size_t xresults[4] = 0);
112 static const poset_path& standard_schema_path();
147 static bool make_prototype();
164 bool contains_zone_id_space(
pod_index_type xmbr_id,
bool xauto_access)
const;
171 bool contains_zone_id_space(
const scoped_index& xmbr_id,
bool xauto_access)
const;
230 bool contains_vertex_id_space(
pod_index_type xmbr_id,
bool xauto_access)
const;
237 bool contains_vertex_id_space(
const scoped_index& xmbr_id,
bool xauto_access)
const;
295 bool contains_vertex_client_id_space(
pod_index_type xmbr_id,
bool xauto_access)
const;
302 bool contains_vertex_client_id_space(
const scoped_index& xmbr_id,
bool xauto_access)
const;
321 void release_vertex_client_id_space(
index_space_handle& xid_space,
bool xauto_access)
const;
340 void release_vertex_client_id_space_iterator(
index_space_iterator& xitr,
bool xauto_access)
const;
359 bool contains_connectivity_id_space(
pod_index_type xzone_id,
bool xauto_access)
const;
365 bool contains_connectivity_id_space(
const scoped_index& xzone_id,
bool xauto_access)
const;
383 void release_connectivity_id_space(
index_space_handle& xid_space,
bool xauto_access)
const;
401 void release_connectivity_id_space_iterator(
index_space_iterator& xid_space,
bool xauto_access)
const;
420 bool contains_adjacency_id_space(
pod_index_type xvertex_id,
bool xauto_access)
const;
426 bool contains_adjacency_id_space(
const scoped_index& xvertex_id,
bool xauto_access)
const;
444 void release_adjacency_id_space(
index_space_handle& xid_space,
bool xauto_access)
const;
462 void release_adjacency_id_space_iterator(
index_space_iterator& xid_space,
bool xauto_access)
const;
483 static const std::string& prototypes_poset_name();
488 pod_index_type prototype_type_id(
const std::string& xname,
bool xauto_access =
true)
const;
495 scoped_index prototype_dof_tuple_id(
const std::string& xname,
498 bool xauto_access)
const;
536 virtual const char* class_name()
const;
544 virtual void attach_handle_data_members();
565 pod_index_type new_member(
const std::string& xprototype_name,
bool xcopy_dof_map);
572 pod_index_type new_member(
const char* xprototype_name,
bool xcopy_dof_map);
578 pod_index_type new_member(
const std::string& xtype_name,
int xdb,
const std::string& xlocal_cell_name);
606 static std::string blocks_name();
616 const subposet& block_vertices()
const;
621 static std::string block_vertices_name();
651 const subposet& d_cells(
int xd)
const;
666 static std::string d_cells_name(
int xdb,
int xmax_db);
681 static std::string cells_name();
718 virtual void initialize_standard_subposets(
const std::string& xname);
740 void put_max_db(
int xmax_db);
745 void update_max_db(
int xmax_db);
750 const table_dof_tuple_type* table_dof_tuple()
const;
755 table_dof_tuple_type* table_dof_tuple();
798 std::string type_name(
const scoped_index& xmbr_id)
const;
808 int refinement_depth(
const scoped_index& xmbr_id)
const;
813 void put_refinement_depth(
pod_index_type xmbr_hub_id,
int xdepth);
818 void put_refinement_depth(
const scoped_index& xmbr_id,
int xdepth);
826 bool xrequire_write_access =
false)
const;
831 row_dof_tuple_type* member_dof_tuple(
const scoped_index& xmbr_id,
832 bool xrequire_write_access =
false)
const;
838 bool xrequire_write_access =
false)
const;
843 row_dof_tuple_type* row_dof_tuple(
const scoped_index& xtuple_id,
844 bool xrequire_write_access =
false)
const;
852 const scoped_index& new_row_dof_map(
const std::string& xprototype_name);
902 virtual bool is_ancestor_of(
const any* other)
const;
907 virtual bool invariant()
const;
939 #endif // BASE_SPACE_POSET_H OBSOLETE: use zone_nodes_block or point_block_*d. A builder object for constructing unstructured bloc...
subposet _cells
The subposet containing all the cells.
A client handle for a subposet.
base_space_member_row_dof_tuple_type row_dof_tuple_type
The type of row dof tuple for this.
An abstract iterator over the ids of an id space.
The default name space; a poset which contains other posets as members.
The type of table dof tuple for base_space_poset.
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
subposet _block_vertices
The subposet containing the vertices associated with blocks.
base_space_poset & operator=(const poset_state_handle &xother)
Assignment operator; disabled.
poset_type
Identifiers for poset types.
base_space_poset_table_dof_tuple_type table_dof_tuple_type
The type of table dof tuple for 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...
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...
virtual const scoped_index & new_row_dof_map()
Creates a new row dof map.
A client handle for a partially order set that can be refined, that is, a jim can be converted to a j...
An index within the external ("client") scope of a given id space.
SHEAF_DLL_SPEC size_t deep_size(const dof_descriptor_array &xp, bool xinclude_shallow=true)
The deep size of the referenced object of type dof_descriptor_array.
virtual pod_index_type new_member(bool xis_jim, pod_index_type xdof_tuple_id)
Create a disconnected member with is_jim == xis_jim and the dof tuple identified by xdof_tuple_id...
subposet _blocks
The subposet containing all the blocks.
SHEAF_DLL_SPEC size_t deep_size(const sec_vd &x0, bool xinclude_shallow=true)
The deep size of the referenced object of type sec_vd. if xinclude_shallow, add the sizeof x0 to the ...
block< scattered_insertion_index_space_handle * > _d_cells_id_spaces
The id spaces for the subposets containing the cells of dimension 0 <= d <= db(). ...
int max_db
The maximum dimension of the members of this base space.
block< subposet > _d_cells
The subposets containing the cells of dimension 0 <= d <= db().
int_type pod_index_type
The plain old data index type.
A handle for a scattered_insertion_index_space_state.
Namespace for the sheaves component of the sheaf system.
Abstract emulator for a interval of implicit base space members.
The type of row dof tuple for base_space_member.
An auto_block with a no-initialization initialization policy.
Namespace for the fiber_bundles component of the sheaf system.
void member_dof_tuple(pod_index_type xmbr_hub_id, void *xbuf, size_t xbuf_len, bool xauto_access) const
Copies the dof tuple of the member with hub id xmbr_hub_id into the buffer xbuf of length xbuf_len by...
base_space_poset(const base_space_poset &xother)
Copy constructor; disabled.