SheafSystem
0.0.0.0
|
A family of compatible section evaluators, one for each member of some family of cell types; a map from cell type to section evaluator. More...
#include <eval_family.h>
Public Member Functions | |
eval_family (const eval_family &xother) | |
Copy constructor. More... | |
virtual eval_family * | clone () const |
Virtual constructor; makes a new instance of the same type as this. More... | |
virtual | ~eval_family () |
Destructor. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
virtual bool | is_ancestor_of (const any *xother) const |
Conformance test; true if other conforms to this. More... | |
virtual const std::string & | class_name () const =0 |
The name of this family. More... | |
section_evaluator * | member (pod_index_type xtype_id) const |
The evaluator associated with cell type xtype_id. Note that the result may be void. More... | |
template<typename S > | |
S * | member (pod_index_type xtype_id) const |
The evaluator associated with cell type xtype_id. Note that the result may be void. More... | |
section_evaluator * | member (const poset_state_handle &xhost, pod_index_type xhub_id) |
The evaluator associated with the cell with hub id xhub_id in host xhost. Note that the result may be void. More... | |
section_evaluator * | member (const poset_state_handle &xhost, const scoped_index &xid) |
The evaluator associated with the cell with id xid in host xhost. Note that the result may be void. More... | |
template<typename S > | |
S * | member (const poset_state_handle &xhost, pod_index_type xhub_id) |
The evaluator associated with the cell with hub id xhub_id in host xhost. Note that the result may be void. More... | |
template<typename S > | |
S * | member (const poset_state_handle &xhost, const scoped_index &xd) |
The evaluator associated with the cell with id xid in host xhost. Note that the result may be void. More... | |
size_type | size () const |
The number of members of this family. More... | |
virtual void | initialize (const namespace_poset &xname_space)=0 |
Initializes this to contain members for name space xname_space. More... | |
bool | is_initialized () const |
True if this has been populated with members. More... | |
virtual bool | dofs_are_values () const =0 |
True if the dofs used by the members of this family are section values, that is, the evaluators are interpolation functions. More... | |
virtual bool | extrema_are_dofs () const =0 |
True if the extrema (minima or maxima) of the members of this family occur at the discretization points. More... | |
template<typename S > | |
S * | member (pod_index_type xtype_id) |
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 | |
static eval_family * | new_family (const std::string &xname) |
Creates an instance of the evaluator family associated with name xname. More... | |
static eval_family * | new_family (const std::string &xname, const namespace_poset &xname_space) |
Creates an instance of the evaluator family associated with name xname and initialized with name space, xname_space. More... | |
static void | insert_family_prototype (eval_family *xprototype) |
Inserts xprototype in family_factory(). More... | |
static factory< eval_family > & | family_factory () |
A factory for making eval_family objects. More... | |
Protected Types | |
typedef auto_block< section_evaluator *, zero_block_initialization_policy< section_evaluator * > > | members_type |
Type of storage for members. More... | |
Protected Member Functions | |
eval_family () | |
Default constructor. More... | |
void | initialize_members (size_type xmembers_ub) |
Initialize storage for the members. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes | |
members_type | _members |
The members of the family. More... | |
bool | _is_initialized |
True if this has been populated with members. More... | |
A family of compatible section evaluators, one for each member of some family of cell types; a map from cell type to section evaluator.
Definition at line 67 of file eval_family.h.
|
protected |
Type of storage for members.
Definition at line 216 of file eval_family.h.
fiber_bundle::eval_family::eval_family | ( | const eval_family & | xother | ) |
Copy constructor.
Definition at line 39 of file eval_family.cc.
References _is_initialized, _members, clone(), fiber_bundle::section_evaluator::clone(), and sheaf::auto_block< T, S >::ct().
|
virtual |
Destructor.
Definition at line 95 of file eval_family.cc.
References invariant().
Referenced by clone().
|
protected |
Default constructor.
Definition at line 429 of file eval_family.cc.
References initialize_members(), and invariant().
Referenced by fiber_bundle::uniform_eval_family::extrema_are_dofs(), fiber_bundle::constant_eval_family::extrema_are_dofs(), and is_initialized().
|
pure virtual |
The name of this family.
Is Abstract.
Implemented in fiber_bundle::constant_eval_family, fiber_bundle::dlinear_eval_family, and fiber_bundle::uniform_eval_family.
Definition at line 277 of file eval_family.cc.
References member().
Referenced by family_factory(), insert_family_prototype(), and new_family().
|
virtual |
Virtual constructor; makes a new instance of the same type as this.
Is Abstract.
Reimplemented from sheaf::any.
Reimplemented in fiber_bundle::constant_eval_family, fiber_bundle::dlinear_eval_family, and fiber_bundle::uniform_eval_family.
Definition at line 72 of file eval_family.cc.
References ~eval_family().
Referenced by eval_family().
|
pure virtual |
True if the dofs used by the members of this family are section values, that is, the evaluators are interpolation functions.
Implemented in fiber_bundle::constant_eval_family, fiber_bundle::dlinear_eval_family, and fiber_bundle::uniform_eval_family.
|
pure virtual |
True if the extrema (minima or maxima) of the members of this family occur at the discretization points.
Implemented in fiber_bundle::constant_eval_family, fiber_bundle::dlinear_eval_family, and fiber_bundle::uniform_eval_family.
Referenced by fiber_bundle::sec_vd_algebra::extrema().
|
static |
A factory for making eval_family objects.
Definition at line 256 of file eval_family.cc.
References class_name().
Referenced by insert_family_prototype().
|
pure virtual |
Initializes this to contain members for name space xname_space.
Implemented in fiber_bundle::constant_eval_family, fiber_bundle::dlinear_eval_family, and fiber_bundle::uniform_eval_family.
Definition at line 394 of file eval_family.cc.
References is_initialized(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
Referenced by fiber_bundle::dlinear_eval_family::initialize(), fiber_bundle::uniform_eval_family::initialize(), fiber_bundle::constant_eval_family::initialize(), and size().
|
protected |
Initialize storage for the members.
Definition at line 451 of file eval_family.cc.
References _members, sheaf::auto_block< T, S >::ct(), sheaf::factory< T >::insert_prototype(), sheaf::auto_block< T, S >::reserve(), sheaf::auto_block< T, S >::set_ct(), and sheaf::auto_block< T, S >::ub().
Referenced by eval_family(), fiber_bundle::uniform_eval_family::initialize(), fiber_bundle::dlinear_eval_family::initialize(), and fiber_bundle::constant_eval_family::initialize().
|
static |
Inserts xprototype in family_factory().
Definition at line 233 of file eval_family.cc.
References class_name(), and family_factory().
Referenced by new_family().
|
virtual |
Class invariant.
Reimplemented from sheaf::any.
Reimplemented in fiber_bundle::constant_eval_family, fiber_bundle::dlinear_eval_family, and fiber_bundle::uniform_eval_family.
Definition at line 122 of file eval_family.cc.
References is_ancestor_of().
Referenced by eval_family(), fiber_bundle::uniform_eval_family::invariant(), fiber_bundle::dlinear_eval_family::invariant(), fiber_bundle::constant_eval_family::invariant(), and ~eval_family().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::any.
Reimplemented in fiber_bundle::constant_eval_family, fiber_bundle::dlinear_eval_family, and fiber_bundle::uniform_eval_family.
Definition at line 155 of file eval_family.cc.
References new_family().
Referenced by invariant().
bool fiber_bundle::eval_family::is_initialized | ( | ) | const |
True if this has been populated with members.
Definition at line 418 of file eval_family.cc.
References eval_family().
Referenced by fiber_bundle::dlinear_eval_family::initialize(), fiber_bundle::uniform_eval_family::initialize(), fiber_bundle::constant_eval_family::initialize(), initialize(), and new_family().
fiber_bundle::section_evaluator * fiber_bundle::eval_family::member | ( | pod_index_type | xtype_id | ) | const |
The evaluator associated with cell type xtype_id. Note that the result may be void.
Definition at line 301 of file eval_family.cc.
Referenced by class_name(), fields::field_eval_iterator::coordinate_evaluator(), fiber_bundle::eval_iterator::evaluator(), member(), fields::field_eval_iterator::property_evaluator(), and fiber_bundle::sec_vd::value_at_point_ua().
S* fiber_bundle::eval_family::member | ( | pod_index_type | xtype_id | ) | const |
The evaluator associated with cell type xtype_id. Note that the result may be void.
fiber_bundle::section_evaluator * fiber_bundle::eval_family::member | ( | const poset_state_handle & | xhost, |
pod_index_type | xhub_id | ||
) |
The evaluator associated with the cell with hub id xhub_id in host xhost. Note that the result may be void.
Definition at line 324 of file eval_family.cc.
References sheaf::schema_poset_member::conforms_to(), sheaf::poset_state_handle::contains_member(), sheaf::poset_state_handle::is_jim(), member(), sheaf::poset_state_handle::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
fiber_bundle::section_evaluator * fiber_bundle::eval_family::member | ( | const poset_state_handle & | xhost, |
const scoped_index & | xid | ||
) |
The evaluator associated with the cell with id xid in host xhost. Note that the result may be void.
Definition at line 354 of file eval_family.cc.
References sheaf::schema_poset_member::conforms_to(), sheaf::poset_state_handle::contains_member(), sheaf::scoped_index::hub_pod(), sheaf::poset_state_handle::is_jim(), sheaf::poset_state_handle::schema(), size(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
S * fiber_bundle::eval_family::member | ( | const poset_state_handle & | xhost, |
pod_index_type | xhub_id | ||
) |
The evaluator associated with the cell with hub id xhub_id in host xhost. Note that the result may be void.
Definition at line 47 of file eval_family.impl.h.
References member().
S * fiber_bundle::eval_family::member | ( | const poset_state_handle & | xhost, |
const scoped_index & | xd | ||
) |
The evaluator associated with the cell with id xid in host xhost. Note that the result may be void.
Definition at line 67 of file eval_family.impl.h.
References sheaf::scoped_index::hub_pod(), and member().
|
static |
Creates an instance of the evaluator family associated with name xname.
Definition at line 181 of file eval_family.cc.
References class_name(), and is_initialized().
Referenced by fiber_bundle::sec_rep_descriptor::attach_handle_data_members(), fields::field_eval_iterator::initialize_coordinate_schema(), fields::field_eval_iterator::initialize_property_schema(), fiber_bundle::eval_iterator::initialize_schema_anchor(), and is_ancestor_of().
|
static |
Creates an instance of the evaluator family associated with name xname and initialized with name space, xname_space.
Definition at line 207 of file eval_family.cc.
References insert_family_prototype(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
sheaf::size_type fiber_bundle::eval_family::size | ( | ) | const |
The number of members of this family.
Definition at line 373 of file eval_family.cc.
References initialize().
Referenced by member().
|
protected |
True if this has been populated with members.
Definition at line 226 of file eval_family.h.
Referenced by eval_family().
|
protected |
The members of the family.
Definition at line 221 of file eval_family.h.
Referenced by eval_family(), fiber_bundle::uniform_eval_family::initialize(), fiber_bundle::dlinear_eval_family::initialize(), fiber_bundle::constant_eval_family::initialize(), and initialize_members().