21 #ifndef SEC_REP_SPACE_MEMBER_H 22 #define SEC_REP_SPACE_MEMBER_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef POSET_MEMBER_H 29 #include "SheafSystem/poset_member.h" 32 #ifndef FIBER_BUNDLE_H 33 #include "SheafSystem/fiber_bundle.h" 36 #ifndef SECTION_DOF_MAP_H 37 #include "SheafSystem/section_dof_map.h" 40 #ifndef SECTION_SPACE_SCHEMA_MEMBER_H 41 #include "SheafSystem/section_space_schema_member.h" 44 #ifndef TOTAL_POSET_MEMBER_H 45 #include "SheafSystem/total_poset_member.h" 50 class scattered_insertion_index_space_handle;
51 class index_space_handle;
52 class index_space_iterator;
59 using namespace sheaf;
61 class binary_section_space_schema_member;
62 class binary_section_space_schema_poset;
91 virtual const std::string& class_name()
const;
96 static const std::string& static_class_name();
106 static std::string standard_schema_poset_name(
const std::string& xschema_member_name);
112 static std::string standard_fiber_space_name(
const poset_path& xschema_path);
118 static std::string standard_section_space_name(
const std::string& xfiber_space_name,
119 const std::string& xbase_space_name);
133 bool xnew_jem =
false);
171 bool xauto_access =
true);
180 int xbase_version = CURRENT_HOST_VERSION,
181 bool xauto_access =
true);
198 const tern& xnew_jem,
228 bool xauto_access =
true);
266 int xbase_version = CURRENT_HOST_VERSION,
267 bool xauto_access =
true);
276 int xbase_version = CURRENT_HOST_VERSION,
277 bool xauto_access =
true);
305 bool is_multisection(
bool xauto_access)
const;
310 bool has_branch_id_space(
bool xauto_access)
const;
426 virtual int db()
const;
440 int discretization_ct()
const;
447 int discretization_ct(
bool xaxto_access)
const;
453 int evaluation_ct()
const;
473 const poset& fiber()
const;
502 bool base_is_restricted()
const;
507 bool fiber_schema_is_restricted()
const;
545 bool xauto_access)
const;
574 void get_fiber(
const scoped_index& xdisc_id,
void* xfiber,
size_type xfiber_size,
bool xauto_access)
const;
584 void put_fiber(
const scoped_index& xdisc_id,
const void* xfiber,
size_type xfiber_size,
bool xauto_access);
596 void force_fiber(
const scoped_index& xdisc_id,
const void* xfiber,
size_type xfiber_size,
bool xauto_access);
609 bool xauto_access)
const;
620 const void* xcomponent,
641 size_t dof_tuple_size();
656 virtual const section_dof_map& dof_map(
bool xrequire_write_access =
false)
const;
662 virtual bool dof_map_is_ancestor_of(
const poset_dof_map* xdof_map)
const;
705 virtual bool is_ancestor_of(
const any* other)
const;
715 bool invariant()
const;
726 #endif // ifndef SEC_REP_SPACE_MEMBER_H A client handle for a subposet.
sec_rep_space_member * 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...
A client handle for a poset member which has been prepared for use as a schema for a section space...
virtual void new_jim_state(poset_dof_map *xdof_map=0, bool xcopy_dof_map=false, bool xauto_access=true)
Creates a new jim (join-irreducible member) state in host() and attaches this to it. If xdof_map == 0 a new dof map is created. If xdof_map != 0 and xcopy_dof_map == false, xdof_map is used as the dof map. If xdof_map != 0 and xcopy_dof_map is true, a copy of xdof_map is used.
The abstract map from section dof ids to section dof values of heterogeneous type.
An abstract iterator over the ids of an id space.
The default name space; a poset which contains other posets as members.
A client handle for a general, abstract partially order set.
A three state "bool". Does not provide the operations of ternary logic and is intended for use mostly...
virtual schema_poset_member & schema()
The restricted schema for this poset member (mutable version).
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
A member of a sec_rep_space; a section.
virtual poset_member * clone() const
Make a new handle, no state instance of current.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
A schema poset for a section space. A binary Cartesian product subspace of the binary tensor product ...
The general, abstract map from dof ids to dof values.
Abstract base class with useful features for all objects.
A client handle for a restrictable member of a poset. A poset_member is a poset_member which can ...
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.
void put_dof(pod_index_type xdof_id, const primitive_value &xdof)
Sets the dof referred to by xdof_id to xdof.
void get_dof(pod_index_type xdof_id, void *xdof, size_type xdof_size) const
Copies the dof referred to by xdof_id into xdof.
binary_section_space_schema_poset schema_host_type
The host type of the schema.
binary_section_space_schema_member schema_type
The schema type.
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.
A client handle for a poset member which has been prepared for use as a schema for a section space...
virtual void restrict_to(const abstract_poset_member *xschema)
Restricts this handle to the down set of xschema.
An abstract client handle for a member of a poset.
Namespace for the fiber_bundles component of the sheaf system.
A client handle for a poset member which has been prepared for use as a schema.
virtual void new_jrm_state(bool xauto_access=true)
Creates a new jrm (join-reducible member) state in host() and attaches this to it.
A handle for a poset whose members are numerical representations of sections of a fiber bundle...