21 #ifndef BASE_SPACE_MEMBER_H 22 #define BASE_SPACE_MEMBER_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef TOTAL_POSET_MEMBER_H 29 #include "SheafSystem/total_poset_member.h" 32 #ifndef ARRAY_POSET_DOF_MAP_H 33 #include "SheafSystem/array_poset_dof_map.h" 36 #ifndef FIBER_BUNDLES_NAMESPACE_H 37 #include "SheafSystem/fiber_bundles_namespace.h" 40 #ifndef NAMESPACE_RELATIVE_MEMBER_INDEX_H 41 #include "SheafSystem/namespace_relative_member_index.h" 52 class base_space_poset;
54 using namespace sheaf;
147 static const poset_path& standard_schema_path();
152 virtual const poset_path& schema_path()
const;
162 static const std::string& prototypes_poset_name();
168 template <
typename F>
170 static bool standard_host_is_available(namespace_type& xns,
const std::string& xhost_path,
bool xauto_access);
176 static host_type& new_host(namespace_type& xns,
188 static host_type& standard_host(namespace_type& xns,
225 bool xnew_jem =
false,
226 bool xauto_access =
true);
242 bool xcopy_dof_map =
false,
243 bool xauto_access =
true);
254 const std::string& xprototype_name,
264 const std::string& xtype_name,
266 const std::string& xlocal_cell_name,
277 const tern& xnew_jem,
342 static bool prototype_exists(
const std::string& xname,
bool xauto_access);
347 row_dof_tuple_type* row_dof_tuple(
bool xrequire_write_access =
false);
361 const std::string& xprototype_name,
362 bool xauto_access =
true);
393 const char* type_name()
const;
398 int refinement_depth()
const;
403 void put_refinement_depth(
int xdepth);
413 const char* local_cell_type_name()
const;
537 virtual bool dof_map_is_ancestor_of(
const poset_dof_map* xdof_map)
const;
702 virtual bool invariant()
const;
707 virtual bool is_ancestor_of(
const any* other)
const;
733 #endif // BASE_SPACE_MEMBER_H base_space_member * 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...
Index for identifying a poset member relative to a given name space.
base_space_poset host_type
The type of host poset for this type of member.
virtual total_poset_member * clone() const
Make a new handle, no state instance of current.
base_space_member * 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...
size_type size
The number of local cells.
total_poset_member * p_meet(abstract_poset_member *other)
poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greates...
The default name space; a poset which contains other posets as members.
int local_cell_type_id
The local cell type id.
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
const char * local_cell_type_name
The local cell type name.
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...
total_poset_member * greatest_jem() const
The largest member which is join-equivalent to this.
base_space_member_row_dof_tuple_type row_dof_tuple_type
The type of rowe dof tuple for this.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
base_space_member * least_jem() const
The smallest member which is join-equivalent to this.
The general, abstract map from dof ids to dof values.
int db
The base space dimension.
A client handle for a member of a base space poset.
base_space_member * l_not(bool xnew_jem=true) const
lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complem...
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...
size_type k_size
The upper bound on the z direction index for structured blocks.
total_poset_member * least_jem() const
The smallest member which is join-equivalent to this.
fiber_bundles_namespace namespace_type
The type of namespace for this type of member.
size_type i_size
The upper bound on the x direction index for structured blocks.
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.
base_space_member * p_meet(abstract_poset_member *other)
poset meet of this with other, auto-, pre-, and self-allocated versions the poset meet is the greates...
size_type j_size
The upper bound on the y direction index for structured blocks.
base_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...
const char * type_name
The cell type name.
base_space_member * l_meet(abstract_poset_member *other, bool xnew_jem=true)
lattice meet of this with other, auto-, pre-, and self-allocated versions the lattice meet is the gre...
total_poset_member * 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...
total_poset_member * l_meet(abstract_poset_member *other, bool xnew_jem=true)
lattice meet of this with other, auto-, pre-, and self-allocated versions the lattice meet is the gre...
int refinement_depth
The refinement depth.
int_type pod_index_type
The plain old data index type.
Namespace for the sheaves component of the sheaf system.
int type_id
The cell type id.
total_poset_member * 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...
base_space_member * greatest_jem() const
The largest member which is join-equivalent to this.
An abstract client handle for a member of a poset.
The type of row dof tuple for base_space_member.
An array representation of abstract class poset_dof_map.
Namespace for the fiber_bundles component of the sheaf system.
total_poset_member * l_not(bool xnew_jem=true) const
lattice pseudo-complement of this, auto-, pre- and self allocated versions The lattice pseudo-complem...
A client handle for an unrestricted member of a poset. A total_poset_member is guaranteed not to be r...