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" 28 #ifndef POSET_STATE_HANDLE_H 29 #include "SheafSystem/poset_state_handle.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" 45 #include "SheafSystem/poset.h" 48 #ifndef SECTION_SPACE_SCHEMA_TABLE_DOFS_TYPE_H 49 #include "SheafSystem/section_space_schema_table_dofs_type.h" 52 #ifndef SEC_REP_DESCRIPTOR_H 53 #include "SheafSystem/sec_rep_descriptor.h" 57 #include "SheafSystem/subposet.h" 62 class ij_product_structure;
63 class namespace_poset;
64 class namespace_poset_member;
70 using namespace sheaf;
72 class fiber_bundles_namespace;
73 class section_space_schema_member;
111 static const poset_path& standard_schema_path();
149 void get_base_space_id_from_index(
const scoped_index& xmbr_id,
156 int base_space_stride()
const;
166 poset_path base_space_path(
bool xauto_access)
const;
192 void get_fiber_schema_id_from_index(
const scoped_index& xmbr_id,
199 int fiber_schema_stride()
const;
219 poset_path fiber_space_path(
bool xauto_access)
const;
224 poset& fiber_space();
229 const poset& fiber_space()
const;
239 const subposet& discretization()
const;
244 bool is_multivalued()
const;
254 const subposet& multivalued()
const;
269 std::string evaluator_family_name()
const;
288 void get_index_from_components(
const scoped_index& xbase_space_id,
295 void update_hub_id_space(
bool xauto_access);
380 virtual const char* class_name()
const;
385 virtual void get_read_access()
const;
393 virtual void get_read_write_access(
bool xrelease_read_only_access =
false);
399 virtual void release_access(
bool xall =
false)
const;
409 virtual void initialize_handle_data_members(
const namespace_poset& xns);
415 virtual void attach_handle_data_members();
421 virtual void terminate_access();
443 return reinterpret_cast<table_dofs_type*
>(table_dof_map().dof_tuple());
452 return reinterpret_cast<const table_dofs_type*
>(table_dof_map().dof_tuple());
472 virtual bool is_schematized(
bool xauto_access)
const;
478 virtual void schematize(
subposet* xtable_dof_subposet,
480 bool xall_members =
false);
519 virtual int member_ct()
const;
525 virtual int standard_member_ct()
const;
543 virtual bool contains_member(
pod_index_type xmbr_hub_id,
bool xauto_access =
true)
const;
549 virtual bool contains_member(
pod_index_type xmbr_hub_id,
int xversion,
bool xauto_access =
true)
const;
556 virtual bool is_jim(
pod_index_type xmbr_hub_id,
bool xin_current_version =
true)
const;
577 virtual void initialize_standard_members();
675 virtual int version_ct()
const;
680 virtual int version()
const;
727 const std::string& xid_space_name,
728 bool xauto_access)
const;
737 const std::string& xid_space_name,
738 bool xauto_access)
const;
763 virtual bool is_ancestor_of(
const any* other)
const;
768 virtual bool invariant()
const;
793 #endif // SECTION_SPACE_SCHEMA_POSET_H virtual void delete_link(pod_index_type xgreater, pod_index_type xlesser)
Delete the cover link between hub id xgreater and hub id xlesser.
A client handle for a subposet.
virtual void new_link(pod_index_type xgreater, pod_index_type xlesser)
Insert a cover link from greater to lesser (that is, hub id xgreater covers hub id xlesser)...
table_dofs_type * table_dof_tuple_ptr()
OBSOLETE: use table_dofs(). Pointer to the storage for the table dofs.
The default name space; a poset which contains other posets as members.
standard_member_index
Ids for standard poset members.
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
ij_product_structure * _product
The Cartisian product subspace structure.
poset_type
Identifiers for poset types.
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".
virtual bool is_atom(pod_index_type xmbr_hub_id) const
True if the member with hub id xmbr_hub_id covers the bottom.
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...
virtual pod_index_type version_jims_index(int xversion) const
The subposet hub id of the jims() subposet for version xversion.
Table dofs type for class section_space_schema_poset.
Abstract base class with useful features for all objects.
section_space_schema_poset()
Default constructor; disabled.
The lattice of closed cells of a cellular space; a lattice representation of a computational mesh...
virtual pod_index_type version_index(int xversion) const
The subposet hub id of the whole() subposet for version xversion.
virtual bool is_valid_int_id(pod_index_type xint_id, const std::string &xid_space_name, bool xauto_access) const
True if xint_id can be translated to an external id using the equivalence map with name xid_space_nam...
virtual pod_index_type get_ext_id(pod_index_type xint_id, const std::string &xid_space_name, bool xauto_access) const
Translates xint_id to an external id using the equivalence map with name xid_space_name.
virtual void delete_subposet(pod_index_type xsubposet_hub_id)
Deletes the subposet with hub id xsubposet_hub_id.
A client handle for a mutable partially ordered set.
virtual pod_index_type new_subposet(bool xinitialize=true)
Creates a new subposet. If xinitialize, make the subposet empty,.
An index within the external ("client") scope of a given id space.
subposet _evaluation
The evaluation subposet for section spaces on this schema.
virtual bool contains_member(pod_index_type xmbr_hub_id, bool xauto_access=true) const
True if some version of this poset contains poset member with hub id xmbr_hub_id. ...
Iterates over the subset of Zn defined by the characteristic function host().
section_space_schema_poset & operator=(const poset_state_handle &xother)
Assignment operator; disabled.
An abstract schema poset for a section space. A Cartesian product subspace of the tensor product of a...
virtual bool is_schematized(bool xauto_access) const
True if this poset has been prepared for use as a schema, that is, if the top member has been schemat...
fiber_bundles_namespace namespace_type
The type of namespace for this type of member.
int_type pod_index_type
The plain old data index type.
A 2D implementation of abstract_product_structure.
Namespace for the sheaves component of the sheaf system.
sec_rep_descriptor _rep
The representation for section spaces on this schema.
A client handle for a poset member which has been prepared for use as a schema for a section space...
virtual bool is_jim(pod_index_type xmbr_hub_id, bool xin_current_version=true) const
True if the member with hub id xmbr_hub_id is a jim in the current version (xin_current_version == tr...
virtual void delete_member(pod_index_type xmbr_hub_id)
Delete the member with hub id xmbr_hub_id. Warning: this routine does not delete links; it will leave...
subposet _discretization
The discretization subposet for section spaces on this schema.
poset * _fiber_space
The fiber space for section spaces on this schema.
const table_dofs_type * table_dof_tuple_ptr() const
OBSOLETE: use table_dofs(). Pointer to the storage for the table dofs.
Namespace for the fiber_bundles component of the sheaf system.
subposet _multivalued
The multivalued subposet for section spaces on this schema.
A description for a section representation scheme.
base_space_poset * _base_space
The base space for section spaces on this schema.