SheafSystem
0.0.0.0
|
Abstract emulator for a interval of implicit base space members. More...
#include <base_space_crg_interval.h>
Friends | |
SHEAF_DLL_SPEC size_t | deep_size (const base_space_crg_interval &m) |
BASE_SPACE_CRG_INTERVAL FACET | |
base_space_crg_interval () | |
Default Constructor. More... | |
virtual | ~base_space_crg_interval () |
Destructor. More... | |
virtual pod_index_type | cells_begin () const =0 |
The beginning of the local cells interval. More... | |
void | cells_begin (scoped_index &result) const |
The beginning of the local cells interval. More... | |
virtual pod_index_type | cells_end () const =0 |
The end of the local cells interval. More... | |
void | cells_end (scoped_index &result) const |
The end of the local cells interval. More... | |
virtual int | db (pod_index_type xmbr_id) const =0 |
The dimension of the member with id xmbr_id. Does not require access to dof tuple. More... | |
int | db (const scoped_index &xmbr_id) const |
The dimension of the member with id xmbr_id. Does not require access to dof tuple. More... | |
virtual pod_index_type | d_cells_space_id (int xd) const =0 |
The id space index for the cells of dimension xd. Returns invalid_pod_index() if there is no id space for dimension xd. More... | |
BLOCK VERTICES FACET | |
bool | _block_vertices_initialized |
True if the block vertices id space has been initialized. More... | |
pod_index_type | _block_vertices_space_id |
The id space index of the block vertices id space. More... | |
bool | block_vertices_initialized () const |
True if the block vertices id space has been initialized. More... | |
pod_index_type | block_vertices_space_id () const |
The id space index of the block vertices id space. More... | |
std::string | block_vertices_name () const |
The name of the block vertices id space. More... | |
DOF TUPLE FACET | |
virtual pod_index_type | block_dof_tuple_id () const =0 |
Dof tuple id for the block itself. More... | |
FACTORY FACET | |
virtual bool | is_initialized () const |
True if fully initialized. More... | |
void | initialize (const namespace_poset &xnamespace) |
Sets is_initialized() == true; dummy routine provided to satisfy factory template. More... | |
virtual const std::string & | class_name () const |
The name of this class; provided to satisfy factory template. More... | |
ANY FACET | |
virtual bool | is_ancestor_of (const any *other) const |
Conformance test; true if other conforms to this. More... | |
virtual base_space_crg_interval * | clone () const =0 |
Virtual constructor, makes a new instance of the same type as this. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
Additional Inherited Members | |
Public Member Functions inherited from sheaf::implicit_crg_interval | |
virtual bool | is_jim (pod_index_type xmbr_index) const =0 |
True if and only if the member with index xmbr_index is join-irreducible. More... | |
bool | is_jim (const scoped_index &xmbr_index) const |
True if and only if the member with index xmbr_index is join-irreducible. More... | |
virtual pod_index_type | dof_tuple_id (pod_index_type xmbr_index) const =0 |
The dof tuple id of the member with index xmbr_index. More... | |
pod_index_type | dof_tuple_id (const scoped_index &xmbr_index) const |
The dof tuple id of the member with index xmbr_index. More... | |
block< pod_index_type > & | dof_tuple_ids () |
The ids of the dof tuples associated with this interval. More... | |
const block< pod_index_type > & | dof_tuple_ids () const |
The ids of the dof tuples associated with this interval; const version. More... | |
bool | dof_tuple_ids_initialized () const |
True if dof tuple ids have been initialized. More... | |
void | initialize_dof_tuple_ids (const block< pod_index_type > &xdof_tuple_ids) |
Allocates and initializes dof_tuple_ids() with xdof_tuple_ids. More... | |
size_type | private_data_size () const |
The size of the private data. More... | |
void | get_private_data (block< pod_index_type > &xdata) const |
Initializes this using private data xdata. More... | |
void | put_private_data (const block< pod_index_type > &xdata) |
Initializes this using private data xdata. More... | |
bool | private_data_initialized () const |
True if private data has been initialized. More... | |
virtual void | finalize (poset_state_handle &xhost) |
Finialize the initialization of this crg interval in the host xhost. More... | |
implicit_crg_interval () | |
Default Constructor; constructs an uninitialized interval. More... | |
virtual | ~implicit_crg_interval () |
Destructor. More... | |
pod_index_type | implicit_begin () const |
The beginning of the implicit member interval (begin(), end()), excludes interval member; synonym for begin() + 1. More... | |
void | implicit_begin (scoped_index &result) const |
The beginning of the implicit member interval (begin(), end()), excludes interval member; synonym for begin() + 1. More... | |
pod_index_type | interval_member () const |
The index of the interval member itself; synonym for begin(). More... | |
void | interval_member (scoped_index &result) const |
The index of the interval member itself; synonym for begin(). More... | |
bool | is_interval_member (pod_index_type xindex) const |
True if xindex is the interval member. More... | |
bool | is_interval_member (const scoped_index &xindex) const |
True if xindex is the interval member. More... | |
void | clean_cover (bool xlower, pod_index_type xmbr_index) |
Removes members of the cover that are no longer members of the crg. More... | |
void | initialize (const namespace_poset &xnamespace) |
Sets is_initialized() == true; dummy routine provided to satisfy factory template. More... | |
Public Member Functions inherited from sheaf::crg_interval | |
bool | cover_is_explicit (bool xlower, pod_index_type xmbr_index) const |
True if and only if the lower (xlower true) or upper (xlower false) cover with index xmbr_index is explicit. More... | |
pod_index_type | force_explicit_cover (bool xlower, pod_index_type xmbr_index, bool xinitialize=true) |
The explicit lower (xlower true) or upper (xlower false) cover id space of the member with index xmbr_index; creates an explict cover id space if the cover id space is not already explicit and, if xinitialize, initializes it with the contents of the implicit cover id space, if any. Returns the space id of the explicit cover. More... | |
const index_space_family & | id_spaces () const |
The id space family for this interval. More... | |
const hub_index_space_handle & | hub_id_space () const |
The hub id space of this interval. More... | |
void | initialize_id_spaces (index_space_family &xid_spaces) |
Set the index space family to xid_spaces. More... | |
bool | id_spaces_initialized () const |
True if the index space family has been initialized. More... | |
const primary_index_space_handle & | local_id_space () const |
The local id space of this interval. More... | |
void | initialize_local_id_space (const index_space_handle &xlocal_id_space) |
Sets the local id space to xlocal_id_space and initializes local ids. More... | |
bool | local_id_space_initialized () const |
True if local id space has been initialized. More... | |
pod_index_type | cover_id_space_id (bool xlower, pod_index_type xmbr_index) const |
The id for the lower (xlower true) or upper (xlower false) cover id space with index xmbr_index. More... | |
bool | covers_initialized (bool xlower) const |
True if and only if the lower (xlower true) or upper (xlower false) covers has been initialized for this interval. More... | |
void | initialize_covers () |
Initialize the upper and lower covers for this interval. More... | |
crg_interval () | |
Default Constructor; constructs an uninitialized interval. More... | |
virtual | ~crg_interval () |
Destructor. More... | |
pod_index_type | begin () const |
The beginning of the member interval; this emulates members in the interval [begin(), end()), includes interval member. More... | |
void | begin (scoped_index &result) const |
The beginning of the member interval; this emulates members in the interval [begin(), end()), includes interval member. More... | |
pod_index_type | end () const |
The end of the member interval. More... | |
void | end (scoped_index &result) const |
The end of the member interval. More... | |
size_type | size () const |
The number of members in the member interval. More... | |
bool | contains_member (pod_index_type xindex) const |
True if and only if the index xindex is contained in this interval. More... | |
bool | contains_member (const scoped_index &xindex) const |
True if and only if the index xindex is contained in this interval. More... | |
void | initialize (const namespace_poset &xnamespace) |
Sets is_initialized() == true; dummy routine provided to satisfy factory template. More... | |
Public Member Functions inherited from sheaf::any | |
bool | is_same_type (const any *other) const |
True if other is the same type as this. More... | |
virtual | ~any () |
Destructor. More... | |
bool | invariant_check () const |
True if invariant checking is enabled. More... | |
void | enable_invariant_check () const |
Enable invariant checking. More... | |
void | disable_invariant_check () const |
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More... | |
int | disable_invariance_check_request_depth () const |
Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More... | |
Static Public Member Functions inherited from sheaf::crg_interval | |
static std::string | local_id_space_name (pod_index_type xindex) |
The reserved name for the local id space of the ramge member with index xindex. More... | |
static factory< crg_interval > & | interval_factory () |
A factory for making descendants of this class. More... | |
static crg_interval * | new_interval (const std::string &xname) |
Creates a default constructed instance of the the class with name xname. More... | |
Protected Types inherited from sheaf::crg_interval | |
typedef unordered::unordered_map< pod_index_type, pod_index_type > | explicit_cover_map_type |
The type of the explicit cover maps.. More... | |
Protected Member Functions inherited from sheaf::implicit_crg_interval | |
virtual size_type | implicit_private_data_size () const =0 |
The size of the private data. More... | |
virtual void | get_implicit_private_data (block< pod_index_type > &xdata) const =0 |
Initializes this using private data xdata. More... | |
virtual void | put_implicit_private_data (const block< pod_index_type > &xdata)=0 |
Initializes this using private data xdata. More... | |
Protected Member Functions inherited from sheaf::crg_interval | |
explicit_cover_map_type & | explicit_cover_map (bool xlower) |
The lower (xlower true) or upper (xlower false) map to explicit cover id spaces. More... | |
const explicit_cover_map_type & | explicit_cover_map (bool xlower) const |
The lower (xlower true) or upper (xlower false) map to explicit cover id spaces; const version. More... | |
virtual void | initialize_lower_covers ()=0 |
Initialize the lower covers for this interval. More... | |
virtual void | initialize_upper_covers ()=0 |
Initialize the upper cover for this interval. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Static Protected Member Functions inherited from sheaf::implicit_crg_interval | |
static std::string | implicit_cover_name (bool xlower, const scoped_index &xmbr_index) |
Creates a name for the implicit cover id space for member with index, xmbr_index. More... | |
static std::string | implicit_cover_name (bool xlower, pod_index_type xmbr_index) |
Creates a name for the implicit cover id space for member with index, xmbr_index. More... | |
Static Protected Member Functions inherited from sheaf::crg_interval | |
static std::string | explicit_cover_name (bool xlower, const scoped_index &xmbr_index) |
Creates a name for the explicit cover id space for member with index, xmbr_index. More... | |
static std::string | explicit_cover_name (bool xlower, pod_index_type xmbr_index) |
Creates a name for the explicit cover id space for member with index, xmbr_index. More... | |
Protected Attributes inherited from sheaf::implicit_crg_interval | |
block< pod_index_type > | _dof_tuple_ids |
The ids of the dof tuples associated with this interval. More... | |
bool | _dof_tuple_ids_initialized |
True if dof tuple ids have been initialized. More... | |
bool | _private_data_initialized |
True if private data has been initialized. More... | |
bool | _is_finalized |
True if the initialization of this crg interval has been finalized. More... | |
Protected Attributes inherited from sheaf::crg_interval | |
explicit_cover_map_type | _explicit_upper_cover_map |
The map from ids to explicit upper cover id spaces. More... | |
explicit_cover_map_type | _explicit_lower_cover_map |
The map from ids to explicit lower cover id spaces. More... | |
index_space_family * | _id_spaces |
The id space family of this interval. More... | |
bool | _id_spaces_initialized |
True if the id space family has been initialized. More... | |
primary_index_space_handle | _local_id_space |
The id space of this interval. More... | |
bool | _local_id_space_initialized |
True if local id space has been initialized. More... | |
pod_index_type | _lower_covers_begin |
The offset into the id space family for the interval of lower covers. More... | |
bool | _lower_covers_initialized |
True if and only if the lower cover is initialized. More... | |
pod_index_type | _upper_covers_begin |
The offset into the id space family for the interval of upper covers. More... | |
bool | _upper_covers_initialized |
True if and only if the upper cover is initialized. More... | |
Abstract emulator for a interval of implicit base space members.
Definition at line 52 of file base_space_crg_interval.h.
fiber_bundle::base_space_crg_interval::base_space_crg_interval | ( | ) |
Default Constructor.
Definition at line 41 of file base_space_crg_interval.cc.
References sheaf::invalid_pod_index(), invariant(), is_initialized(), and ~base_space_crg_interval().
|
virtual |
Destructor.
Definition at line 54 of file base_space_crg_interval.cc.
References _block_vertices_space_id, sheaf::crg_interval::_id_spaces, cells_begin(), sheaf::index_space_family::delete_space(), and sheaf::is_valid().
Referenced by base_space_crg_interval().
|
pure virtual |
Dof tuple id for the block itself.
Implemented in fiber_bundle::homogeneous_block_crg_interval.
bool fiber_bundle::base_space_crg_interval::block_vertices_initialized | ( | ) | const |
True if the block vertices id space has been initialized.
Definition at line 175 of file base_space_crg_interval.cc.
References _block_vertices_initialized, and block_vertices_space_id().
Referenced by block_vertices_space_id(), and d_cells_space_id().
|
protected |
The name of the block vertices id space.
Definition at line 217 of file base_space_crg_interval.cc.
References initialize(), sheaf::implicit_crg_interval::interval_member(), and sheaf::poset_path::make_reserved_name().
Referenced by block_vertices_space_id().
pod_index_type fiber_bundle::base_space_crg_interval::block_vertices_space_id | ( | ) | const |
The id space index of the block vertices id space.
Definition at line 194 of file base_space_crg_interval.cc.
References _block_vertices_space_id, block_vertices_initialized(), and block_vertices_name().
Referenced by block_vertices_initialized(), and fiber_bundle::base_space_poset::insert_interval_in_standard_subposets().
|
pure virtual |
The beginning of the local cells interval.
Implemented in fiber_bundle::homogeneous_block_crg_interval.
Referenced by cells_begin(), fiber_bundle::base_space_poset::insert_interval_in_standard_subposets(), and ~base_space_crg_interval().
void fiber_bundle::base_space_crg_interval::cells_begin | ( | scoped_index & | result | ) | const |
The beginning of the local cells interval.
Definition at line 74 of file base_space_crg_interval.cc.
References cells_begin(), cells_end(), sheaf::crg_interval::hub_id_space(), sheaf::scoped_index::is_hub_scope(), and sheaf::scoped_index::put().
|
pure virtual |
The end of the local cells interval.
Implemented in fiber_bundle::homogeneous_block_crg_interval.
Referenced by cells_begin(), cells_end(), and fiber_bundle::base_space_poset::insert_interval_in_standard_subposets().
void fiber_bundle::base_space_crg_interval::cells_end | ( | scoped_index & | result | ) | const |
The end of the local cells interval.
Definition at line 93 of file base_space_crg_interval.cc.
References cells_end(), db(), sheaf::crg_interval::hub_id_space(), sheaf::scoped_index::is_hub_scope(), and sheaf::scoped_index::put().
|
virtual |
The name of this class; provided to satisfy factory template.
Reimplemented from sheaf::implicit_crg_interval.
Reimplemented in fiber_bundle::zone_nodes_block_crg_interval, fiber_bundle::structured_block_3d_crg_interval, fiber_bundle::structured_block_2d_crg_interval, fiber_bundle::point_block_crg_interval, fiber_bundle::structured_block_1d_crg_interval, and fiber_bundle::homogeneous_block_crg_interval.
Definition at line 289 of file base_space_crg_interval.cc.
References is_ancestor_of().
Referenced by is_initialized().
|
pure virtual |
Virtual constructor, makes a new instance of the same type as this.
Implements sheaf::implicit_crg_interval.
Implemented in fiber_bundle::zone_nodes_block_crg_interval, fiber_bundle::structured_block_3d_crg_interval, fiber_bundle::structured_block_2d_crg_interval, fiber_bundle::point_block_crg_interval, fiber_bundle::structured_block_1d_crg_interval, and fiber_bundle::homogeneous_block_crg_interval.
|
pure virtual |
The id space index for the cells of dimension xd. Returns invalid_pod_index() if there is no id space for dimension xd.
Is Abstract.
Implemented in fiber_bundle::zone_nodes_block_crg_interval, fiber_bundle::structured_block_3d_crg_interval, fiber_bundle::structured_block_2d_crg_interval, fiber_bundle::structured_block_1d_crg_interval, and fiber_bundle::point_block_crg_interval.
Definition at line 146 of file base_space_crg_interval.cc.
References block_vertices_initialized().
Referenced by db(), and fiber_bundle::base_space_poset::insert_interval_in_standard_subposets().
|
pure virtual |
The dimension of the member with id xmbr_id. Does not require access to dof tuple.
Implemented in fiber_bundle::zone_nodes_block_crg_interval, fiber_bundle::structured_block_3d_crg_interval, fiber_bundle::structured_block_2d_crg_interval, fiber_bundle::structured_block_1d_crg_interval, and fiber_bundle::point_block_crg_interval.
Definition at line 112 of file base_space_crg_interval.cc.
References sheaf::crg_interval::contains_member().
Referenced by cells_end(), db(), and fiber_bundle::base_space_poset::insert_interval_in_standard_subposets().
int fiber_bundle::base_space_crg_interval::db | ( | const scoped_index & | xmbr_id | ) | const |
The dimension of the member with id xmbr_id. Does not require access to dof tuple.
Definition at line 133 of file base_space_crg_interval.cc.
References sheaf::crg_interval::contains_member(), d_cells_space_id(), db(), and sheaf::scoped_index::hub_pod().
void fiber_bundle::base_space_crg_interval::initialize | ( | const namespace_poset & | xnamespace | ) |
Sets is_initialized() == true; dummy routine provided to satisfy factory template.
Definition at line 257 of file base_space_crg_interval.cc.
References _block_vertices_initialized, sheaf::implicit_crg_interval::initialize(), and is_initialized().
Referenced by block_vertices_name(), and fiber_bundle::homogeneous_block_crg_interval::initialize().
|
virtual |
Class invariant.
Reimplemented from sheaf::implicit_crg_interval.
Reimplemented in fiber_bundle::zone_nodes_block_crg_interval, fiber_bundle::structured_block_3d_crg_interval, fiber_bundle::structured_block_2d_crg_interval, fiber_bundle::point_block_crg_interval, fiber_bundle::structured_block_1d_crg_interval, and fiber_bundle::homogeneous_block_crg_interval.
Definition at line 328 of file base_space_crg_interval.cc.
References sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::implicit_crg_interval::invariant(), and sheaf::any::invariant_check().
Referenced by base_space_crg_interval(), fiber_bundle::homogeneous_block_crg_interval::invariant(), and is_ancestor_of().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::implicit_crg_interval.
Reimplemented in fiber_bundle::zone_nodes_block_crg_interval, fiber_bundle::structured_block_3d_crg_interval, fiber_bundle::structured_block_2d_crg_interval, fiber_bundle::point_block_crg_interval, fiber_bundle::structured_block_1d_crg_interval, and fiber_bundle::homogeneous_block_crg_interval.
Definition at line 308 of file base_space_crg_interval.cc.
References invariant().
Referenced by class_name().
|
virtual |
True if fully initialized.
Reimplemented from sheaf::implicit_crg_interval.
Reimplemented in fiber_bundle::zone_nodes_block_crg_interval, and fiber_bundle::homogeneous_block_crg_interval.
Definition at line 278 of file base_space_crg_interval.cc.
References _block_vertices_initialized, class_name(), and sheaf::implicit_crg_interval::is_initialized().
Referenced by base_space_crg_interval(), initialize(), and fiber_bundle::homogeneous_block_crg_interval::is_initialized().
|
protected |
True if the block vertices id space has been initialized.
Definition at line 146 of file base_space_crg_interval.h.
Referenced by block_vertices_initialized(), initialize(), and is_initialized().
|
protected |
The id space index of the block vertices id space.
Definition at line 151 of file base_space_crg_interval.h.
Referenced by block_vertices_space_id(), and ~base_space_crg_interval().