SheafSystem  0.0.0.0
fiber_bundle::eval_iterator Class Reference

An iterator over the members of the evaluation subposet contained in the downset of the base space of a section_space_schema_member. Extracts the connectivity (that is, the discretization members in the downset) of each evaluation member. More...

#include <eval_iterator.h>

Inheritance diagram for fiber_bundle::eval_iterator:
sheaf::depth_first_iterator sheaf::any

Public Member Functions

 eval_iterator ()
 Default constructor; creates an unattached iterator. More...
 
 eval_iterator (const eval_iterator &xother)
 Copy constructor. More...
 
 ~eval_iterator ()
 Destructor. More...
 
virtual bool is_ancestor_of (const any *xother) const
 True if other conforms to this. More...
 
virtual eval_iteratorclone () const
 Make a new instance of the same type as this. More...
 
bool invariant () const
 The class invariant. More...
 
 eval_iterator (const section_space_schema_member &xschema_anchor, bool xvisit_once=true)
 Creates an iterator anchored at xschema_anchor.base_space() with visit_once() == xvisit_once. More...
 
virtual bool is_initialized () const
 True if this has been initialized for iteration with respect to a specific anchor. More...
 
virtual void force_is_done ()
 Force the iterator to be done. More...
 
void next ()
 Makes this the next member of the subset. More...
 
void next (bool xtruncate)
 Makes this the next member of the subset. If xtruncate, new this is not less than old this, i.e. the depth-first descent is truncated and the cover of this is not visited. More...
 
section_space_schema_memberschema_anchor ()
 The schema member whose base space is being iterated over; the top member of the domain of iteration (mutable version). More...
 
const section_space_schema_memberschema_anchor () const
 The schema member whose base space is being iterated over; the top member of the domain of iteration (const version). More...
 
void put_schema_anchor (const section_space_schema_member &xschema_anchor)
 Set schema_anchor() to the same state as xschema_anchor. More...
 
void put_schema_anchor (pod_index_type xschema_anchor_index)
 Set schema_anchor() to the member identified by xschema_anchor_index. More...
 
void put_schema_anchor (const scoped_index &xschema_anchor_index)
 Set schema_anchor() to the member identified by xschema_anchor_index. More...
 
base_space_posetbase_space ()
 The host of the anchor (mutable version). More...
 
const base_space_posetbase_space () const
 The host of the anchor (const version). More...
 
int db () const
 The dimension of the current evaluation member. More...
 
pod_index_type type_id () const
 The type id of the current evaluation member. More...
 
scoped_index client_id () const
 The client id of the current evaluation member. More...
 
section_evaluatorevaluator ()
 The section evaluator associated with the current evaluation member (mutable version). More...
 
const section_evaluatorevaluator () const
 The section evaluator associated with the current evaluation member (const version). More...
 
block< scoped_index > & discretization_members ()
 The discretization members in the downset of the current evaluation member (mutable version). More...
 
const block< scoped_index > & discretization_members () const
 The discretization members in the downset of the current evaluation member (const version). More...
 
scoped_index discretization_client_id (size_type xi)
 The client id of the xi-th discretization member in the downset of the current evaluation member. More...
 
void gather_dofs (const sec_vd &xsec, block< sec_vd::dof_type > &xdofs)
 Gathers the dofs for the current evalaution member from section xsec and appends them to the back of xdofs. More...
 
void scatter_dofs (sec_vd &xsec, const block< sec_vd::dof_type > &xdofs, size_type xindex)
 Scatters the dofs for the current evalaution member from the location xindex and following of xdofs into section xsec. More...
 
- Public Member Functions inherited from sheaf::depth_first_iterator
depth_first_iteratoroperator= (const depth_first_iterator &xother)
 Assignment operator. More...
 
virtual ~depth_first_iterator ()
 Destructor. More...
 
bool invariant () const
 The class invariant. More...
 
order_type order () const
 The order of the iteration. Determines which actions are exported to the client. More...
 
virtual abstract_poset_memberanchor ()
 The poset member whose downset is being iterated over; the top member of the domain of iteration (mutable version). More...
 
virtual const abstract_poset_memberanchor () const
 The poset member whose downset is being iterated over; the top member of the domain of iteration (const version). More...
 
virtual bool anchor_is_ancestor_of (const abstract_poset_member &xmbr) const
 True if xmbr conforms to the type of anchor of this. More...
 
bool descending () const
 True if iterating over down set of anchor. More...
 
bool strict () const
 True if iterating over xstrict up/down set of anchor. More...
 
subposetfilter ()
 The subposet which is the filter; Defines what is passed, not what is blocked. More...
 
bool is_done () const
 True if iteration finished. More...
 
void next ()
 Makes this the next member of the subset. More...
 
void truncate ()
 Makes this the next member of the subset which is not less than old this, i.e. the depth-first descent is truncated and the cover of this is not visited. More...
 
virtual void reset (bool xreset_markers=true)
 Restarts the iteration over the down set of anchor(). More...
 
int ct (bool xreset=false)
 The number of members of the iteration set, from the current member to the end, inclusive. If xreset, reset before computing the count. More...
 
bool has_visited (pod_index_type xhub_id) const
 True if this has already visited member with hub id xhub_id. More...
 
bool has_visited (const scoped_index &xid) const
 True if this has already visited member with id xid. More...
 
bool has_visited (const abstract_poset_member *xmbr) const
 True if this has already visited member xmbr. More...
 
void put_has_visited (pod_index_type xhub_id, bool xvalue)
 Set the visited marker for hub id xhub_id to xvalue. Intended for use reseting iterator without having to reset entire collection of markers. More...
 
void put_has_visited (const scoped_index &xid, bool xvalue)
 Set the visisted marker for id xid to xvalue. Intended for use reseting iterator without having to reset entire collection of markers. More...
 
bool visit_once () const
 True if traversal should only visit a member once; that is, it should not revisit members it has already visited. More...
 
void put_visit_once (bool xvisit_once)
 Set visit_once() to xvisit_once. More...
 
bool is_maximal () const
 True if the current member has no greater member within the subposet visited by this iterator. More...
 
const scoped_indexgreater_index () const
 The index of the greater member of the current link. More...
 
const scoped_indexlesser_index () const
 The index of the lesser member of the current link. More...
 
action_type action () const
 The type of action the client should take when the iterator returns control to the client. More...
 
void erase_cover ()
 Schedules the lesser member entry in the cover of the greater member of the current link for deletion on the next call to next(). Warning: this function can change the state of the the cover relation graph in unpredictable ways. Use only if you know what you are doing. More...
 
const scoped_indexindex () const
 The index of the current member of the iteration. More...
 
size_t depth () const
 The length of the path from anchor() to the current member. 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...
 

Protected Member Functions

void initialize_schema_anchor (const section_space_schema_member &xanchor)
 Initializes the schema anchor. More...
 
- Protected Member Functions inherited from sheaf::depth_first_iterator
 depth_first_iterator ()
 Default constructor; creates an unattached iterator,. More...
 
 depth_first_iterator (const depth_first_iterator &xother)
 Copy constructor. More...
 
void first ()
 Moves this to the first member of the iteration. More...
 
void mark_visited (abstract_poset_member *xmbr)
 Mark xmbr as visited. Warning: this function can change the state of the iteration in unpredictable ways. Use only if you know what you are doing. More...
 
void mark_not_visited (abstract_poset_member *xmbr)
 Mark xmbr as not visited. Warning: this function can change the state of the iteration in unpredictable ways. Use only if you know what you are doing. More...
 
virtual void attach_item ()
 Attaches the item handle to the current index. Empty in this class; intended for redefinition in descendants. More...
 
virtual void detach_item ()
 Detaches the item handle to the current index. Empty in this class; intended for redefinition in descendants. More...
 
void initialize_order (order_type xorder)
 Initializes _order and _transition_fcn. More...
 
void initialize_traversal (const abstract_poset_member &xanchor)
 Initializes the anchor, has_visited markers and filter. More...
 
void initialize_traversal (pod_index_type xanchor_hub_id)
 Initializes the anchor, has_visited markers and filter. More...
 
void initialize_traversal (const scoped_index &xanchor_id)
 Initializes the anchor, has_visited markers and filter. More...
 
void initialize_anchor (const abstract_poset_member &xanchor)
 Initializes the anchor. More...
 
virtual void initialize_has_visited (const abstract_poset_member &xanchor)
 Initializes the has_visited markers. More...
 
zn_to_boolhas_visited () const
 The marker bit vector. /. More...
 
void put_has_visited (zn_to_bool *xhas_visited)
 Sets _has_visited to xhas_visited. /. More...
 
bool filter (pod_index_type xhub_id) const
 The value of the filter at hub id xhub_id. More...
 
bool filter (const scoped_index &xid) const
 The value of the filter at id xid. More...
 
void initialize_filter ()
 Initializes the filter subposet from the client filter. More...
 
void initialize_filter (const subposet &xfilter)
 Initializes the client filter to xfilter then initializes the filter from the client filter. More...
 
void initialize_filter (pod_index_type xfilter_hub_id)
 Initializes the client filter to the subposet with hub id xfilter_hub_id then initializes the filter from the client filter. More...
 
void initialize_filter (const scoped_index &xfilter_id)
 Initializes the client filter to the subposet with id xfilter_id then initializes the filter from the client filter. More...
 
void initialize_filter (const std::string &xfilter_name)
 Initializes the client filter to the subposet with name xfilter_name then initializes the filter from the client filter. More...
 
void release_cover_id_space_iterators ()
 Release the cover iterators back to the pool of iterators. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 

Additional Inherited Members

- Public Types inherited from sheaf::depth_first_iterator
enum  order_type {
  PREORDER, POSTORDER, LINKORDER, BIORDER,
  TRIORDER, NOT_AN_ORDER
}
 The types of order in which the iterator will visit the members of the poset. Determines which actions are exported to the client. More...
 
enum  action_type { PREVISIT_ACTION, LINK_ACTION, POSTVISIT_ACTION, NOT_AN_ACTION }
 The types of action a client should take when the iterator returns control to the client. More...
 
- Static Public Attributes inherited from sheaf::depth_first_iterator
static const char * NULL_FILTER = ""
 Placeholder for null filter. More...
 
- Protected Types inherited from sheaf::depth_first_iterator
enum  iterator_state {
  FIRST, INIT_COVER_ITERATOR, TEST_HAS_VISITED, INC_COVER_ITERATOR,
  ERASE_COVER_ITERATOR, DESCEND, TEST_PATH_TAIL, ASCEND,
  EXECUTE_PREVISIT_ACTION, EXECUTE_LINK_ACTION, EXECUTE_POSTVISIT_ACTION, FINISH,
  NOT_A_STATE
}
 The states for the finite state machine that controls iteration. More...
 
enum  iterator_token { PASS, FAIL }
 The input tokens for the finite state machine. More...
 
typedef const iterator_state(* transition_fcn_type)[FAIL+1]
 
- Protected Attributes inherited from sheaf::depth_first_iterator
abstract_poset_member_anchor
 The top member of the down set being iterated over. More...
 
action_type _action
 The type of action the client should take; the state of the iterator. More...
 
scoped_index _index
 The index of the lesser end of the current link; the current item in the iteration. More...
 
scoped_index _greater_index
 The index of the greater member of the current link. More...
 
scoped_index _lesser_index
 The index of the lesser member of the current link. More...
 
subposet _client_filter
 The filter specified by the client. More...
 
bool _new_filter
 True if this allocated a new filter;. More...
 
bool _descending
 True if iterating over the up/down set of anchor. More...
 
bool _strict
 True if iterating over the strict up/down set of anchor. More...
 
order_type _order
 The order of the iteration. More...
 
const iterator_state(* _transition_fcn )[FAIL+1]
 The current state transition function for the iterator finite state machine. Points to one of the predefined transition functions. More...
 
iterator_state _state
 The current state of iteration. More...
 
index_space_iterator_path_head_lc
 The lower cover iterator for the head of the path to the current member of the iteration. More...
 
index_space_iterator_path_head
 The head of the path to the current member of the iteration lesser_index() == this->index() == **_path_head == lesser member of current link. More...
 
std::stack< index_space_iterator * > _path_tail
 The tail of the path to the current member of the iteration greater_index() == **(_path_tail.top()) == greater member of current link. More...
 
std::stack< pod_index_type_filtered_path_tail
 The tail of the filtered path to the current member of the iteration. Contains only members which pass the filter; equivalent to the path in the subposet selected by the filter. More...
 
bool _visit_once
 True if traversal should only visit a member once; that is, it should not revisit members it has already visited. More...
 
- Static Protected Attributes inherited from sheaf::depth_first_iterator
static const char * iterator_state_names [NOT_A_STATE+1]
 The names of the iterator states, convenient for debugging. More...
 
static const iterator_state PREORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1]
 The predefined transition function for postorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More...
 
static const iterator_state POSTORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1]
 The predefined transition function for postorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More...
 
static const iterator_state LINKORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1]
 The predefined transition function for linkorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More...
 
static const iterator_state BIORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1]
 The predefined transition function for biorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More...
 
static const iterator_state TRIORDER_TRANSITION_FCN [NOT_A_STATE-1][FAIL+1]
 The predefined transition function for triorder iteration. Defines the next state for each combination of state and input token, except for state FINISH, which is always a terminal state. More...
 
static const transition_fcn_type STD_TRANSITION_FCNS [NOT_AN_ORDER+1]
 The set of predefined transition functions. More...
 

Detailed Description

An iterator over the members of the evaluation subposet contained in the downset of the base space of a section_space_schema_member. Extracts the connectivity (that is, the discretization members in the downset) of each evaluation member.

Definition at line 66 of file eval_iterator.h.

Constructor & Destructor Documentation

◆ eval_iterator() [1/3]

fiber_bundle::eval_iterator::eval_iterator ( )

Default constructor; creates an unattached iterator.

Postcondition
  • !is_initialized()

Definition at line 46 of file eval_iterator.cc.

References sheaf::depth_first_iterator::initialize_order(), invariant(), and is_initialized().

Referenced by clone(), and invariant().

◆ eval_iterator() [2/3]

fiber_bundle::eval_iterator::eval_iterator ( const eval_iterator xother)

Copy constructor.

Not Implemented.

Postcondition

Definition at line 72 of file eval_iterator.cc.

References invariant(), and ~eval_iterator().

◆ ~eval_iterator()

fiber_bundle::eval_iterator::~eval_iterator ( )

Destructor.

Definition at line 95 of file eval_iterator.cc.

References fiber_bundle::section_space_schema_member::detach_from_state(), and is_ancestor_of().

Referenced by eval_iterator().

◆ eval_iterator() [3/3]

fiber_bundle::eval_iterator::eval_iterator ( const section_space_schema_member xschema_anchor,
bool  xvisit_once = true 
)

Member Function Documentation

◆ base_space() [1/2]

fiber_bundle::base_space_poset & fiber_bundle::eval_iterator::base_space ( )

The host of the anchor (mutable version).

Precondition

Definition at line 687 of file eval_iterator.cc.

References is_initialized().

Referenced by invariant(), and put_schema_anchor().

◆ base_space() [2/2]

const fiber_bundle::base_space_poset & fiber_bundle::eval_iterator::base_space ( ) const

The host of the anchor (const version).

Precondition

Definition at line 706 of file eval_iterator.cc.

References db(), and is_initialized().

◆ client_id()

sheaf::scoped_index fiber_bundle::eval_iterator::client_id ( ) const

The client id of the current evaluation member.

Precondition
  • !is_done()

Definition at line 772 of file eval_iterator.cc.

References evaluator(), sheaf::depth_first_iterator::index(), and sheaf::depth_first_iterator::is_done().

Referenced by type_id().

◆ clone()

fiber_bundle::eval_iterator * fiber_bundle::eval_iterator::clone ( ) const
virtual

Make a new instance of the same type as this.

Postcondition
  • result != 0

Reimplemented from sheaf::depth_first_iterator.

Definition at line 133 of file eval_iterator.cc.

References eval_iterator(), invariant(), and is_initialized().

Referenced by is_ancestor_of().

◆ db()

int fiber_bundle::eval_iterator::db ( ) const

The dimension of the current evaluation member.

Precondition
  • !is_done()
Postcondition
  • result >= 0

Definition at line 725 of file eval_iterator.cc.

References fiber_bundle::base_space_poset::db(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::is_done(), and type_id().

Referenced by base_space().

◆ discretization_client_id()

sheaf::scoped_index fiber_bundle::eval_iterator::discretization_client_id ( size_type  xi)

The client id of the xi-th discretization member in the downset of the current evaluation member.

Precondition
  • !is_done()

Definition at line 875 of file eval_iterator.cc.

References sheaf::depth_first_iterator::ct(), discretization_members(), gather_dofs(), and sheaf::depth_first_iterator::is_done().

Referenced by discretization_members().

◆ discretization_members() [1/2]

sheaf::block< sheaf::scoped_index > & fiber_bundle::eval_iterator::discretization_members ( )

The discretization members in the downset of the current evaluation member (mutable version).

Precondition
  • !is_done()

Definition at line 839 of file eval_iterator.cc.

References sheaf::depth_first_iterator::is_done().

Referenced by tool::vtk_poly_data_builder::build_pa(), discretization_client_id(), evaluator(), gather_dofs(), scatter_dofs(), geometry::d_bin_point_locator< DC, DB >::update(), and geometry::cylindrical_point_locator::update().

◆ discretization_members() [2/2]

const sheaf::block< sheaf::scoped_index > & fiber_bundle::eval_iterator::discretization_members ( ) const

The discretization members in the downset of the current evaluation member (const version).

Precondition
  • !is_done()

Definition at line 857 of file eval_iterator.cc.

References discretization_client_id(), and sheaf::depth_first_iterator::is_done().

◆ evaluator() [1/2]

fiber_bundle::section_evaluator & fiber_bundle::eval_iterator::evaluator ( )

The section evaluator associated with the current evaluation member (mutable version).

Precondition
  • !is_done()

Definition at line 791 of file eval_iterator.cc.

References sheaf::depth_first_iterator::is_done(), is_initialized(), fiber_bundle::eval_family::member(), and type_id().

Referenced by fields::base_space_map::base_space_map(), client_id(), fields::section_pusher::section_pusher(), and geometry::d_bin_point_locator< DC, DB >::update().

◆ evaluator() [2/2]

const fiber_bundle::section_evaluator & fiber_bundle::eval_iterator::evaluator ( ) const

The section evaluator associated with the current evaluation member (const version).

Precondition
  • !is_done()

Definition at line 815 of file eval_iterator.cc.

References discretization_members(), sheaf::depth_first_iterator::is_done(), is_initialized(), fiber_bundle::eval_family::member(), and type_id().

◆ force_is_done()

◆ gather_dofs()

◆ initialize_schema_anchor()

◆ invariant()

bool fiber_bundle::eval_iterator::invariant ( ) const
virtual

◆ is_ancestor_of()

bool fiber_bundle::eval_iterator::is_ancestor_of ( const any xother) const
virtual

True if other conforms to this.

Reimplemented from sheaf::depth_first_iterator.

Definition at line 116 of file eval_iterator.cc.

References clone().

Referenced by ~eval_iterator().

◆ is_initialized()

bool fiber_bundle::eval_iterator::is_initialized ( ) const
virtual

True if this has been initialized for iteration with respect to a specific anchor.

Reimplemented from sheaf::depth_first_iterator.

Definition at line 233 of file eval_iterator.cc.

References force_is_done(), and sheaf::depth_first_iterator::is_initialized().

Referenced by base_space(), clone(), eval_iterator(), evaluator(), invariant(), put_schema_anchor(), and schema_anchor().

◆ next() [1/2]

void fiber_bundle::eval_iterator::next ( )
inline

Makes this the next member of the subset.

Definition at line 126 of file eval_iterator.h.

Referenced by force_is_done(), geometry::d_bin_point_locator< DC, DB >::update(), and geometry::cylindrical_point_locator::update().

◆ next() [2/2]

void fiber_bundle::eval_iterator::next ( bool  xtruncate)
virtual

◆ put_schema_anchor() [1/3]

void fiber_bundle::eval_iterator::put_schema_anchor ( const section_space_schema_member xschema_anchor)

Set schema_anchor() to the same state as xschema_anchor.

Precondition
  • xschema_anchor.state_is_read_accessible()
  • xschema_anchor.base_space().schema().conforms_to(base_space_member::standard_schema_path())
Postcondition
  • anchor().is_same_state(&(xschema_anchor.base_space()))
  • anchor().is_same_type(&(xschema_anchor.base_space()))
  • anchor().version() == xschema_anchor.base_space().version()

Definition at line 534 of file eval_iterator.cc.

References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), fiber_bundle::section_space_schema_member::base_space(), sheaf::schema_poset_member::conforms_to(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), force_is_done(), sheaf::depth_first_iterator::index(), initialize_schema_anchor(), sheaf::depth_first_iterator::initialize_traversal(), invariant(), sheaf::depth_first_iterator::is_done(), is_initialized(), sheaf::any::is_same_type(), sheaf::total_poset_member::schema(), schema_anchor(), fiber_bundle::base_space_member::standard_schema_path(), sheaf::read_write_monitor_handle::state_is_read_accessible(), sheaf::depth_first_iterator::strict(), and sheaf::poset_component::version().

Referenced by eval_iterator(), put_schema_anchor(), schema_anchor(), geometry::d_bin_point_locator< DC, DB >::update(), and geometry::cylindrical_point_locator::update().

◆ put_schema_anchor() [2/3]

void fiber_bundle::eval_iterator::put_schema_anchor ( pod_index_type  xschema_anchor_index)

Set schema_anchor() to the member identified by xschema_anchor_index.

Precondition
Postcondition
  • anchor().version() == old_anchor_version

Definition at line 586 of file eval_iterator.cc.

References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), fiber_bundle::section_space_schema_member::attach_to_state(), base_space(), fiber_bundle::section_space_schema_poset::base_space(), fiber_bundle::section_space_schema_member::base_space_id(), sheaf::depth_first_iterator::descending(), sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::depth_first_iterator::filter(), force_is_done(), fiber_bundle::section_space_schema_member::host(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::initialize_traversal(), invariant(), sheaf::depth_first_iterator::is_done(), is_initialized(), put_schema_anchor(), schema_anchor(), fiber_bundle::base_space_member::standard_schema_path(), and sheaf::depth_first_iterator::strict().

◆ put_schema_anchor() [3/3]

void fiber_bundle::eval_iterator::put_schema_anchor ( const scoped_index xschema_anchor_index)

Set schema_anchor() to the member identified by xschema_anchor_index.

Precondition
Postcondition
  • anchor().version() == old_anchor_version

Definition at line 647 of file eval_iterator.cc.

References sheaf::depth_first_iterator::_descending, sheaf::depth_first_iterator::_strict, sheaf::depth_first_iterator::anchor(), base_space(), sheaf::depth_first_iterator::descending(), sheaf::depth_first_iterator::filter(), sheaf::scoped_index::hub_pod(), sheaf::depth_first_iterator::index(), invariant(), sheaf::depth_first_iterator::is_done(), is_initialized(), put_schema_anchor(), schema_anchor(), fiber_bundle::base_space_member::standard_schema_path(), and sheaf::depth_first_iterator::strict().

◆ scatter_dofs()

void fiber_bundle::eval_iterator::scatter_dofs ( sec_vd xsec,
const block< sec_vd::dof_type > &  xdofs,
size_type  xindex 
)

Scatters the dofs for the current evalaution member from the location xindex and following of xdofs into section xsec.

Precondition
  • !is_done()
  • xsec.state_is_read_write_accessible()
  • xdofs.ub() >= xindex + xsec.schema().df()*discretization_members().ct()

Definition at line 938 of file eval_iterator.cc.

References sheaf::auto_block< T, S >::ct(), fiber_bundle::section_space_schema_member::df(), discretization_members(), initialize_schema_anchor(), sheaf::depth_first_iterator::is_done(), fiber_bundle::sec_vd::put_fiber(), fiber_bundle::sec_rep_space_member::schema(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and sheaf::auto_block< T, un_block_initialization_policy< T > >::ub().

Referenced by gather_dofs().

◆ schema_anchor() [1/2]

fiber_bundle::section_space_schema_member & fiber_bundle::eval_iterator::schema_anchor ( )

The schema member whose base space is being iterated over; the top member of the domain of iteration (mutable version).

Precondition

Definition at line 492 of file eval_iterator.cc.

References is_initialized().

Referenced by eval_iterator(), initialize_schema_anchor(), invariant(), next(), and put_schema_anchor().

◆ schema_anchor() [2/2]

const fiber_bundle::section_space_schema_member & fiber_bundle::eval_iterator::schema_anchor ( ) const

The schema member whose base space is being iterated over; the top member of the domain of iteration (const version).

Precondition

Definition at line 513 of file eval_iterator.cc.

References is_initialized(), and put_schema_anchor().

◆ type_id()

sheaf::pod_index_type fiber_bundle::eval_iterator::type_id ( ) const

The type id of the current evaluation member.

Precondition
  • !is_done()

Definition at line 749 of file eval_iterator.cc.

References client_id(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::is_done(), and fiber_bundle::base_space_poset::type_id().

Referenced by db(), and evaluator().


The documentation for this class was generated from the following files: