SheafSystem
0.0.0.0
|
The general push-forward operator for base space members; moves a base space member from one base space to another using the map implied by the global coordinate fields on each base space. More...
#include <body_pusher.h>
BODY_PUSHER FACET | |
typedef sec_ed::coord_type | coord_type |
The type of local coordinate variables. More... | |
typedef sec_vd::dof_type | dof_type |
The type for section degrees of freedom. More... | |
typedef sec_vd::value_type | value_type |
The type for section values. More... | |
body_pusher (const geometry::sec_ed_invertible &xdomain_coord, const sec_ed &xrange_coord, bool xauto_access) | |
Creates the push-forward from the base space of xdomain_coord to the base space of xrange_coord induced by the composition xrange_coord with the inverse of xdomain_coord. More... | |
const base_space_poset & | domain () const |
The domain of the push-forward map. More... | |
const geometry::sec_ed_invertible & | domain_coord () const |
The coordinate field for the domain. More... | |
const base_space_poset & | range () const |
The range of the push-forward map. More... | |
const sec_ed & | range_coord () const |
The coordinate field for the range. More... | |
base_space_member * | push (const base_space_member &xinput, bool xcompute_upper_bound, bool xauto_access) |
Pushes member xinput from domain() to base_space_poset range(), auto-allocated. More... | |
void | push_pa (const base_space_member &xinput, base_space_member &result, bool xcompute_upper_bound, bool xauto_access) |
Pushes member xinput from base_space_poset domain() to base_space_poset range(), pre-allocated. More... | |
subposet * | push (const subposet &xinput, bool xcompute_upper_bound, bool xauto_access) |
Pushes all members of xinput from domain() to base_space_poset range(), auto-allocated. More... | |
void | push_pa (const subposet &xinput, subposet &result, bool xcompute_upper_bound, bool xauto_access) |
Pushes all members of xinput from base_space_poset domain() to base_space_poset range(), pre-allocated. More... | |
const bool & | push_name () const |
True if destination body should be named from the source body. More... | |
std::string & | name_prefix () |
Prefix for destination name. More... | |
std::string & | name_suffix () |
Suffix for destination name. More... | |
bool | same_fiber (const sec_ed &xcoord1, const sec_ed &xcoord2, bool xauto_access) const |
True if and only if xcoord1 and xcoord2 have the same fiber type and dimension. More... | |
body_pusher () | |
Default constructor; protected to prevent default construction. More... | |
ANY FACET | |
body_pusher (const body_pusher &xother) | |
Copy constructor. More... | |
virtual | ~body_pusher () |
Destructor. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
Additional Inherited Members | |
Public Member Functions inherited from sheaf::any | |
virtual bool | is_ancestor_of (const any *other) const |
True if other conforms to this. More... | |
bool | is_same_type (const any *other) const |
True if other is the same type as this. More... | |
virtual any * | clone () const |
Virtual constructor, makes a new instance of 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... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
The general push-forward operator for base space members; moves a base space member from one base space to another using the map implied by the global coordinate fields on each base space.
Definition at line 73 of file body_pusher.h.
typedef sec_ed::coord_type fields::body_pusher::coord_type |
The type of local coordinate variables.
Definition at line 86 of file body_pusher.h.
The type for section degrees of freedom.
Definition at line 91 of file body_pusher.h.
The type for section values.
Definition at line 96 of file body_pusher.h.
fields::body_pusher::body_pusher | ( | const geometry::sec_ed_invertible & | xdomain_coord, |
const sec_ed & | xrange_coord, | ||
bool | xauto_access | ||
) |
Creates the push-forward from the base space of xdomain_coord to the base space of xrange_coord induced by the composition xrange_coord with the inverse of xdomain_coord.
Definition at line 52 of file body_pusher.cc.
References sheaf::read_write_monitor_handle::access_request_depth(), sheaf::poset_state_handle::attach_to_state(), sheaf::abstract_poset_member::attach_to_state(), fiber_bundle::section_space_schema_poset::base_space(), fiber_bundle::section_space_schema_member::base_space(), geometry::sec_ed_invertible::clone(), sheaf::namespace_poset::contains_poset_member(), domain(), fiber_bundle::section_space_schema_poset::fiber_space(), fiber_bundle::section_space_schema_member::fiber_space(), sheaf::poset_component::get_read_access(), sheaf::poset_component::host(), fiber_bundle::section_space_schema_member::host(), sheaf::poset_component::index(), sheaf::poset_path::member_name(), sheaf::abstract_poset_member::name(), sheaf::poset_component::path(), sheaf::poset_state_handle::path(), sheaf::scoped_index::pod(), sheaf::poset_path::poset_name(), sheaf::poset_path::put_member_name(), sheaf::abstract_poset_member::put_name(), sheaf::poset_path::put_poset_name(), sheaf::poset_component::release_access(), fiber_bundle::section_space_schema_member::rep(), fiber_bundle::sec_rep_space_member::schema(), sheaf::poset_state_handle::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
|
protected |
Default constructor; protected to prevent default construction.
Not Implemented.
Definition at line 713 of file body_pusher.cc.
Referenced by same_fiber().
fields::body_pusher::body_pusher | ( | const body_pusher & | xother | ) |
Copy constructor.
Not Implemented.
Definition at line 735 of file body_pusher.cc.
References ~body_pusher().
|
virtual |
Destructor.
Definition at line 751 of file body_pusher.cc.
References invariant().
Referenced by body_pusher().
const fiber_bundle::base_space_poset & fields::body_pusher::domain | ( | ) | const |
The domain of the push-forward map.
Definition at line 166 of file body_pusher.cc.
References domain_coord().
Referenced by body_pusher().
const geometry::sec_ed_invertible & fields::body_pusher::domain_coord | ( | ) | const |
The coordinate field for the domain.
Definition at line 183 of file body_pusher.cc.
References range().
Referenced by domain().
|
virtual |
Class invariant.
Reimplemented from sheaf::any.
Definition at line 772 of file body_pusher.cc.
Referenced by ~body_pusher().
std::string & fields::body_pusher::name_prefix | ( | ) |
Prefix for destination name.
Definition at line 580 of file body_pusher.cc.
References name_suffix().
Referenced by push_name().
std::string & fields::body_pusher::name_suffix | ( | ) |
Suffix for destination name.
Definition at line 587 of file body_pusher.cc.
References same_fiber().
Referenced by name_prefix().
fiber_bundle::base_space_member * fields::body_pusher::push | ( | const base_space_member & | xinput, |
bool | xcompute_upper_bound, | ||
bool | xauto_access | ||
) |
Pushes member xinput from domain() to base_space_poset range(), auto-allocated.
Definition at line 236 of file body_pusher.cc.
References fiber_bundle::base_space_member::clone(), and push_pa().
Referenced by push_pa(), and range_coord().
sheaf::subposet * fields::body_pusher::push | ( | const subposet & | xinput, |
bool | xcompute_upper_bound, | ||
bool | xauto_access | ||
) |
Pushes all members of xinput from domain() to base_space_poset range(), auto-allocated.
Definition at line 453 of file body_pusher.cc.
References sheaf::poset_component::attach_to_state(), sheaf::subposet::clone(), sheaf::subposet::name(), and push_pa().
const bool & fields::body_pusher::push_name | ( | ) | const |
True if destination body should be named from the source body.
Definition at line 573 of file body_pusher.cc.
References name_prefix().
Referenced by push_pa().
void fields::body_pusher::push_pa | ( | const base_space_member & | xinput, |
base_space_member & | result, | ||
bool | xcompute_upper_bound, | ||
bool | xauto_access | ||
) |
Pushes member xinput from base_space_poset domain() to base_space_poset range(), pre-allocated.
Definition at line 265 of file body_pusher.cc.
References sheaf::auto_block< T, S >::base(), sheaf::auto_block< T, S >::ct(), sheaf::DOWN, fiber_bundle::base_space_member::host(), sheaf::poset_component::is_attached(), sheaf::poset_joiner::join(), sheaf::abstract_poset_member::name(), sheaf::NOT_STRICT, push(), sheaf::auto_block< T, S >::push_back(), sheaf::filtered_depth_first_itr< T >::put_anchor(), sheaf::abstract_poset_member::put_name(), and sheaf::UP.
Referenced by push().
void fields::body_pusher::push_pa | ( | const subposet & | xinput, |
subposet & | result, | ||
bool | xcompute_upper_bound, | ||
bool | xauto_access | ||
) |
Pushes all members of xinput from base_space_poset domain() to base_space_poset range(), pre-allocated.
Definition at line 513 of file body_pusher.cc.
References sheaf::index_iterator::index(), sheaf::subposet::indexed_member_iterator(), sheaf::subposet::insert_member(), sheaf::index_iterator::is_done(), sheaf::index_iterator::next(), and push_name().
const fiber_bundle::base_space_poset & fields::body_pusher::range | ( | ) | const |
The range of the push-forward map.
Definition at line 201 of file body_pusher.cc.
References range_coord().
Referenced by domain_coord().
const fiber_bundle::sec_ed & fields::body_pusher::range_coord | ( | ) | const |
The coordinate field for the range.
Definition at line 218 of file body_pusher.cc.
References push().
Referenced by range().
bool fields::body_pusher::same_fiber | ( | const sec_ed & | xcoord1, |
const sec_ed & | xcoord2, | ||
bool | xauto_access | ||
) | const |
True if and only if xcoord1 and xcoord2 have the same fiber type and dimension.
Definition at line 594 of file body_pusher.cc.
References body_pusher(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), fiber_bundle::section_space_schema_member::df(), fields::pullback_map_entry::disc_id, fiber_bundle::discretization_context::disc_id, fields::pullback_map_entry::domain_pt, fiber_bundle::section_space_schema_member::fiber_schema(), fields::property_disc_iterator::get_prop_disc_values(), sheaf::poset_component::get_read_access(), sheaf::depth_first_iterator::is_done(), sheaf::poset_component::is_same_state(), sheaf::depth_first_iterator::next(), fields::property_disc_iterator::property_discretization_members(), sheaf::poset_component::release_access(), fiber_bundle::sec_rep_space_member::schema(), sheaf::auto_block< T, un_block_initialization_policy< T > >::set_ct(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and fiber_bundle::discretization_context::values.
Referenced by name_suffix().