21 #ifndef SECTION_SPACE_SCHEMA_POSET_H 22 #define SECTION_SPACE_SCHEMA_POSET_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/poset.h" 32 #ifndef ARRAY_POSET_DOF_MAP_H 33 #include "SheafSystem/array_poset_dof_map.h" 36 #ifndef BASE_SPACE_POSET_H 37 #include "SheafSystem/base_space_poset.h" 40 #ifndef NAMESPACE_RELATIVE_MEMBER_INDEX_H 41 #include "SheafSystem/namespace_relative_member_index.h" 44 #ifndef SECTION_SPACE_SCHEMA_TABLE_DOFS_TYPE_H 45 #include "SheafSystem/section_space_schema_table_dofs_type.h" 48 #ifndef SEC_REP_DESCRIPTOR_H 49 #include "SheafSystem/sec_rep_descriptor.h" 53 #include "SheafSystem/subposet.h" 58 class namespace_poset;
64 using namespace sheaf;
66 class section_space_schema_crg_range;
67 class section_space_schema_member;
72 class SHEAF_DLL_SPEC section_space_schema_poset :
public poset 75 friend class section_space_schema_member;
97 static const std::string& standard_schema_poset_name();
102 static const poset_path& standard_schema_path();
167 poset& fiber_space();
172 const poset& fiber_space()
const;
182 const subposet& discretization()
const;
197 string evaluator_family_name()
const;
245 bool contains_range_member(
const scoped_index& xbase_space_id,
247 bool xauto_access)
const;
255 bool xauto_access)
const = 0;
260 virtual void update_hub_id_space(
bool xauto_access) = 0;
279 void initialize_table_dof_subposet();
337 virtual const char* class_name()
const;
342 virtual void get_read_access()
const;
350 virtual void get_read_write_access(
bool xrelease_read_only_access =
false);
356 virtual void release_access(
bool xall =
false)
const;
366 virtual void initialize_handle_data_members(
const namespace_poset& xns);
372 virtual void attach_handle_data_members();
378 virtual void terminate_access();
451 virtual pod_index_type new_member_range(
const std::string& xrange_type,
483 const std::string& xfiber_schema_name)
const;
489 void member_id(
const std::string& xbase_space_name,
490 const std::string& xfiber_schema_name,
500 bool is_new_member_available()
const;
603 virtual bool is_ancestor_of(
const any* other)
const;
608 virtual bool invariant()
const;
630 #endif // SECTION_SPACE_SCHEMA_POSET_H A client handle for a subposet.
The default name space; a poset which contains other posets as members.
poset_type
Identifiers for poset types.
pod_index_type ordinal(pod_index_type xi, pod_index_type xj, size_type xj_ub)
2-tuple to ordinal conversion.
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".
section_space_schema_member member_type
The type of member associated with this space.
The general, abstract map from dof ids to dof values.
section_space_schema_table_dofs_type table_dofs_type
The table dofs type defined by the standard schema.
virtual pod_index_type new_member(bool xis_jim, pod_index_type xtuple_hub_id)
Create a disconnected member with is_jim == xis_jim and the dof tuple identified by hub id xtuple_hub...
Table dofs type for class section_space_schema_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...
A whitespace separated list of arguments. Insertion operaters are used to insert arguments into the l...
A client handle for a mutable partially ordered set.
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.
Iterates over the subset of Zn defined by the characteristic function host().
An abstract schema poset for a section space. A Cartesian product subspace of the tensor product of a...
int_type pod_index_type
The plain old data index type.
Namespace for the sheaves component of the sheaf system.
A client handle for a poset member which has been prepared for use as a schema for a section space...
void tuple(pod_index_type x, size_type xj_ub, pod_index_type &xi, pod_index_type &xj)
Ordinal to 2-tuple conversion.
Namespace for the fiber_bundles component of the sheaf system.
A description for a section representation scheme.
virtual const scoped_index & member_id(bool xauto_access) const
An id in the member hub id space; intended for copying to initialize ids to the member id space...