SheafSystem  0.0.0.0
tool::visualization_iterator Class Referenceabstract

Abstract iterator over the schema of both the coordinates and property sections of a visualization. More...

#include <visualization_iterator.h>

Inheritance diagram for tool::visualization_iterator:
sheaf::filtered_depth_first_iterator sheaf::depth_first_iterator sheaf::any tool::visualization_iterator_1_1 tool::visualization_iterator_1_3 tool::visualization_iterator_4_2 tool::visualization_iterator_4_3

Classes

struct  depth_flags_type
 Relative depth flags type. More...
 

Public Member Functions

virtual bool is_ancestor_of (const any *xother) const
 True if other conforms to this. More...
 
virtual visualization_iteratorclone () const =0
 Make a new instance of the same type as this. More...
 
bool invariant () const
 The class invariant. More...
 
virtual void force_is_done ()
 Force the iterator to be done. More...
 
virtual void put_anchor (const section_space_schema_member &xcoords_schema, const section_space_schema_member &xprop_schema)
 Reinitializes anchor() to iterate over xcoord_schema and xprop_schema. More...
 
virtual void put_anchor (const section_space_schema_member &xcoords_schema)
 Reinitializes anchor() to iterate over xcoord_schema and xprop_schema. More...
 
virtual void reset (bool xreset_markers=true)
 Restarts the iteration over the down set of anchor(). More...
 
 ~visualization_iterator ()
 Destructor. More...
 
const section_space_schema_membercoordinates_schema () const
 The coordinates field schema member which is being iterated over. More...
 
bool has_property () const
 True if this visualization has a property section. More...
 
const section_space_schema_memberproperty_schema () const
 The property field schema member which is being iterated over. More...
 
bool use_point_top_ids () const
 If true use top ids to label points; otherwise, use discretization ids. More...
 
void put_use_point_top_ids (bool xvalue)
 Sets use_point_top_ids() to xvalue. More...
 
bool use_cell_top_ids () const
 If true use top ids to label cells; otherwise, use evaluation ids. More...
 
void put_use_cell_top_ids (bool xvalue)
 Sets use_cell_top_ids() to xvalue. More...
 
virtual void set_vtk_data (const sec_vd &xcoords, const sec_vd &xprop, vtkDoubleArray *xvtk_pt_coords, vtkDoubleArray *xvtk_prop, int xprop_tensor_rank, block< int > &xvtk_cell_types, block< vtkIdType > &xvtk_cell_connectivity, block< int > &xvtk_cell_type_map, vtkIdTypeArray *xvtk_pt_label_ids, vtkIdTypeArray *xvtk_cell_label_ids)
 Transfers coordinate and property data to vtk data structures. More...
 
virtual void set_vtk_data (const sec_vd &xcoords, vtkDoubleArray *xvtk_pt_coords, block< int > &xvtk_cell_types, block< vtkIdType > &xvtk_cell_connectivity, block< int > &xvtk_cell_type_map, vtkIdTypeArray *xvtk_pt_label_ids, vtkIdTypeArray *xvtk_cell_label_ids)
 Transfers coordinate data to vtk data structures. More...
 
virtual void set_vtk_data (const sec_vd &xprop, vtkDoubleArray *xvtk_prop, int xprop_tensor_rank)
 Transfers property data to vtk data structures. More...
 
- Public Member Functions inherited from sheaf::filtered_depth_first_iterator
 filtered_depth_first_iterator ()
 Default constructor; creates an unattached iterator, with and all-pass filter. More...
 
 filtered_depth_first_iterator (const filtered_depth_first_iterator &xother)
 Copy constructor. More...
 
filtered_depth_first_iteratoroperator= (const filtered_depth_first_iterator &xother)
 Assignment operator. More...
 
 ~filtered_depth_first_iterator ()
 Destructor. More...
 
 filtered_depth_first_iterator (const abstract_poset_member &xanchor, bool xdown, bool xstrict, order_type xorder)
 Creates an iterator anchored at xanchor, with no filter. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More...
 
 filtered_depth_first_iterator (const abstract_poset_member &xanchor, const subposet &xfilter, bool xdown, bool xstrict, order_type xorder)
 Creates an iterator anchored at xanchor, filtered by xfilter. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More...
 
 filtered_depth_first_iterator (const abstract_poset_member &xanchor, pod_index_type xfilter_index, bool xdown, bool xstrict, order_type xorder)
 Creates an iterator anchored at xanchor, filtered by xfilter_index. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More...
 
 filtered_depth_first_iterator (const abstract_poset_member &xanchor, const scoped_index &xfilter_index, bool xdown, bool xstrict, order_type xorder)
 Creates an iterator anchored at xanchor, filtered by xfilter_index. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More...
 
 filtered_depth_first_iterator (const abstract_poset_member &xanchor, const std::string &xfilter_name, bool xdown, bool xstrict, order_type xorder)
 Creates an iterator anchored at xanchor, filtered by xfilter_name. If xdown, iterate in the down direction, otherwise iterate up. If xstrict, iterate over strict up/down set only. More...
 
virtual void put_anchor (const abstract_poset_member *xanchor)
 Set anchor() to xanchor. More...
 
virtual void put_anchor (pod_index_type xanchor_index)
 Set anchor() to member identified by xanchor_index. More...
 
void put_anchor (const scoped_index &xanchor_index)
 Set anchor() to member identified by xanchor_index. More...
 
void put_descending (bool xdescending)
 Set descending() to xdescending. More...
 
void put_strict (bool xstrict)
 Set strict() to xstrict. More...
 
void put_filter (const subposet &xfilter)
 Sets the subposet which is the filter. More...
 
void put_filter (const std::string &xfilter_name)
 Sets the subposet which is the filter. More...
 
void put_filter (pod_index_type xfilter_index)
 Sets the subposet which is the filter. More...
 
void put_filter (const scoped_index &xfilter_index)
 Sets the subposet which is the filter. 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...
 
order_type order () const
 The order of the iteration. Determines which actions are exported to the client. More...
 
virtual bool is_initialized () const
 True if this has been initialized for iteration with respect to a specific anchor. 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 next (bool xtruncate)
 Makes this the next member of the subset. If action() == PREVISIT_ACTION and 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. If action() != PREVISIT_ACTION, xtruncate is ignored. 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...
 

Static Public Member Functions

static visualization_iteratornew_visualization_iterator (const section_space_schema_member &xcoords_schema, const section_space_schema_member &xprop_schema, bool xinitialize=true)
 Creates an iterator appropriate for xcoords and xprop. More...
 
static visualization_iteratornew_visualization_iterator (const section_space_schema_member &xcoords_schema, bool xinitialize=true)
 Creates an iterator appropriate for xcoords alone. More...
 

Protected Types

enum  static_const_int { COORD_DOFS_UB = 3, PROP_DOFS_UB = 16 }
 Upper bound for _coord_dofs. 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 Member Functions

 visualization_iterator ()
 Default constructor. More...
 
 visualization_iterator (const visualization_iterator &xother)
 Copy constructor; disabled. More...
 
void initialize_iteration (const section_space_schema_member &xcoordinates_schema, const section_space_schema_member &xproperty_schema)
 Initializes this for iteration of type xorder over xcoordinates_schema and xproperty_schema. More...
 
void initialize_iteration (const section_space_schema_member &xcoordinates_schema)
 Initializes this for iteration of type xorder over xcoordinates_schema and xproperty_schema. More...
 
void initialize_buffers ()
 Initializes the coord dofs and prop dofs buffers. More...
 
void clear_down_set ()
 Unmarks the down set and clears the dow set buffer. More...
 
const abstract_poset_membermin (const abstract_poset_member &x1, const abstract_poset_member &x2) const
 x1 if x1 <= x2, otherwise x2. More...
 
void initialize_states (const section_space_schema_member &xcoordinates_schema, const section_space_schema_member &xproperty_schema)
 Initializes _coord_state, _prop_state, and _vis_state. More...
 
void initialize_states (const section_space_schema_member &xcoordinates_schema)
 Initializes _coord_state and _vis_state. More...
 
void put_prop_dofs (sec_vd_dof_type *xprop_dofs, size_type xprop_df, int xprop_tensor_rank, vtkDoubleArray *xvtk_prop, int xvtk_tuple_id)
 Converts xprop_dofs as needed depending on xprop_tenosr_rank and puts them into xvtk_prop_dofs at xvtk_tuple_id. 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...
 

Protected Attributes

bool _has_property
 True if this visualization has a property section. More...
 
bool _use_point_top_ids
 If true use top ids to label points; otherwise, use discretization ids. More...
 
bool _use_cell_top_ids
 If true use top ids to label cells; otherwise, use evaluation ids. More...
 
section_iteration_state _coord_state
 Descriptor for coordinate section iteration. More...
 
section_iteration_state _prop_state
 Descriptor for property section iteration. More...
 
section_iteration_state _vis_state
 Descriptor for visualization section iteration. More...
 
depth_flags_type _at
 True if current iteration is a member of the subposet associated with the flag. More...
 
depth_flags_type _above
 True if current iteration is above the subposet associated with the flag. More...
 
sec_vd_dof_type _coord_dofs [COORD_DOFS_UB]
 A buffer for the coord dofs at a disc point. More...
 
sec_vd_dof_type _prop_dofs [PROP_DOFS_UB]
 Upper bound for _prop_dofs. More...
 
int _cell_seq_id
 The sequece id of the current vtk cell (i.e. element or zone). More...
 
int _pt_seq_id
 The sequece id of the current vtk point (i.e. vertex). More...
 
double _st2_e3 [3][3]
 Buffer for vtk rep of st2_e3 tensors. More...
 
double _st2_e2 [3][3]
 Buffer for vtk rep of st2_e2 tensors. More...
 
scoped_index _maximal_eval_id
 The index of the current maximal evaluation member. More...
 
- 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...
 

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...
 
- 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

Abstract iterator over the schema of both the coordinates and property sections of a visualization.

Definition at line 56 of file visualization_iterator.h.

Member Enumeration Documentation

◆ static_const_int

Upper bound for _coord_dofs.

Definition at line 302 of file visualization_iterator.h.

Constructor & Destructor Documentation

◆ ~visualization_iterator()

tool::visualization_iterator::~visualization_iterator ( )

Destructor.

Definition at line 514 of file visualization_iterator.cc.

References coordinates_schema().

Referenced by new_visualization_iterator().

◆ visualization_iterator() [1/2]

tool::visualization_iterator::visualization_iterator ( )
protected

Default constructor.

Definition at line 712 of file visualization_iterator.cc.

References initialize_iteration().

Referenced by set_vtk_data().

◆ visualization_iterator() [2/2]

tool::visualization_iterator::visualization_iterator ( const visualization_iterator xother)
inlineprotected

Copy constructor; disabled.

Definition at line 211 of file visualization_iterator.h.

Member Function Documentation

◆ clear_down_set()

void tool::visualization_iterator::clear_down_set ( )
protected

Unmarks the down set and clears the dow set buffer.

Definition at line 867 of file visualization_iterator.cc.

References min(), and sheaf::auto_block< T, S >::set_ct().

Referenced by initialize_buffers().

◆ clone()

tool::visualization_iterator * tool::visualization_iterator::clone ( ) const
pure virtual

Make a new instance of the same type as this.

Is Abstract.

Postcondition
  • result != 0

Reimplemented from sheaf::filtered_depth_first_iterator.

Implemented in tool::visualization_iterator_1_3, tool::visualization_iterator_4_3, tool::visualization_iterator_1_1, and tool::visualization_iterator_4_2.

Definition at line 76 of file visualization_iterator.cc.

References invariant().

Referenced by is_ancestor_of().

◆ coordinates_schema()

◆ force_is_done()

void tool::visualization_iterator::force_is_done ( )
virtual

Force the iterator to be done.

Hack:
we're using coord_state.down_set for unmarking. Better not clear it here.
Postcondition

Reimplemented from sheaf::depth_first_iterator.

Definition at line 149 of file visualization_iterator.cc.

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

Referenced by invariant().

◆ has_property()

◆ initialize_buffers()

void tool::visualization_iterator::initialize_buffers ( )
protected

Initializes the coord dofs and prop dofs buffers.

Definition at line 840 of file visualization_iterator.cc.

References clear_down_set().

Referenced by initialize_iteration().

◆ initialize_iteration() [1/2]

void tool::visualization_iterator::initialize_iteration ( const section_space_schema_member xcoordinates_schema,
const section_space_schema_member xproperty_schema 
)
protected

Initializes this for iteration of type xorder over xcoordinates_schema and xproperty_schema.

Precondition
  • xcoordinates_schema.state_is_read_accessible()
  • xcoordinates_schema.base_space().schema(). conforms_to(base_space_member::standard_schema_path())
  • xproperty_schema.state_is_read_accessible()
  • xproperty_schema.base_space().le(&xcoordinates_schema.base_space())
Postcondition
  • !strict()
  • -unexecutable( !is_done() implies this is first member )

Definition at line 749 of file visualization_iterator.cc.

References fiber_bundle::section_space_schema_member::base_space(), sheaf::abstract_poset_member::le(), sheaf::total_poset_member::schema(), fiber_bundle::base_space_member::standard_schema_path(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::poset_component::version().

Referenced by visualization_iterator().

◆ initialize_iteration() [2/2]

void tool::visualization_iterator::initialize_iteration ( const section_space_schema_member xcoordinates_schema)
protected

Initializes this for iteration of type xorder over xcoordinates_schema and xproperty_schema.

Precondition
  • xcoordinates_schema.state_is_read_accessible()
  • xcoordinates_schema.base_space().schema(). conforms_to(base_space_member::standard_schema_path())
Error:
initalize_states is called again from put_anchor.
Postcondition
  • !has_property()
  • !strict()
  • -unexecutable( !is_done() implies this is first member )

Definition at line 792 of file visualization_iterator.cc.

References fiber_bundle::section_space_schema_member::base_space(), initialize_buffers(), sheaf::total_poset_member::schema(), fiber_bundle::base_space_member::standard_schema_path(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::poset_component::version().

◆ initialize_states() [1/2]

void tool::visualization_iterator::initialize_states ( const section_space_schema_member xcoordinates_schema,
const section_space_schema_member xproperty_schema 
)
protected

Initializes _coord_state, _prop_state, and _vis_state.

Hack:
Had to use the initialization method that takes a schema_poset_member instead of a base_space_poset to avoid the assumption that the evaluation subposet is the elements subposet. This needs explored before merging with the head.

Definition at line 911 of file visualization_iterator.cc.

◆ initialize_states() [2/2]

void tool::visualization_iterator::initialize_states ( const section_space_schema_member xcoordinates_schema)
protected

Initializes _coord_state and _vis_state.

Hack:
Had to use the initialization method that takes a schema_poset_member instead of a base_space_poset to avoid the assumption that the evaluation subposet is the elements subposet. This needs explored before merging with the head.

Definition at line 937 of file visualization_iterator.cc.

◆ invariant()

◆ is_ancestor_of()

bool tool::visualization_iterator::is_ancestor_of ( const any xother) const
virtual

◆ min()

const sheaf::abstract_poset_member & tool::visualization_iterator::min ( const abstract_poset_member x1,
const abstract_poset_member x2 
) const
protected

x1 if x1 <= x2, otherwise x2.

Precondition
  • x1.host()->is_same_state(x2.host())

Definition at line 891 of file visualization_iterator.cc.

Referenced by clear_down_set().

◆ new_visualization_iterator() [1/2]

tool::visualization_iterator * tool::visualization_iterator::new_visualization_iterator ( const section_space_schema_member xcoords_schema,
const section_space_schema_member xprop_schema,
bool  xinitialize = true 
)
static

Creates an iterator appropriate for xcoords and xprop.

Precondition
  • xcoords_schema.state_is_read_accessible()
  • xprop_schema.state_is_read_accessible()
Postcondition
  • result != 0

Definition at line 295 of file visualization_iterator.cc.

References coordinates_schema(), fiber_bundle::sec_rep_descriptor::eval_is_above_disc(), fiber_bundle::section_space_schema_member::evaluation(), fiber_bundle::section_space_schema_member::evaluator_family_name(), sheaf::poset_component::is_same_state(), sheaf::subposet::name(), sheaf::abstract_poset_member::name(), property_schema(), fiber_bundle::section_space_schema_member::rep(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by tool::vtk_unstructured_grid_builder::build_pa(), and reset().

◆ new_visualization_iterator() [2/2]

tool::visualization_iterator * tool::visualization_iterator::new_visualization_iterator ( const section_space_schema_member xcoords_schema,
bool  xinitialize = true 
)
static

Creates an iterator appropriate for xcoords alone.

Precondition
  • xcoords_schema.state_is_read_accessible()
Postcondition
  • result != 0

Definition at line 442 of file visualization_iterator.cc.

References coordinates_schema(), fiber_bundle::section_space_schema_member::evaluator_family_name(), sheaf::poset_component::is_same_state(), sheaf::abstract_poset_member::name(), fiber_bundle::section_space_schema_member::rep(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and ~visualization_iterator().

◆ property_schema()

◆ put_anchor() [1/2]

◆ put_anchor() [2/2]

void tool::visualization_iterator::put_anchor ( const section_space_schema_member xcoords_schema)
virtual

Reinitializes anchor() to iterate over xcoord_schema and xprop_schema.

Precondition
Postcondition

Definition at line 224 of file visualization_iterator.cc.

References fiber_bundle::section_space_schema_member::base_space(), fiber_bundle::section_space_schema_member::host(), sheaf::poset_component::index(), sheaf::poset_state_handle::is_same_state(), and reset().

◆ put_prop_dofs()

void tool::visualization_iterator::put_prop_dofs ( sec_vd_dof_type xprop_dofs,
size_type  xprop_df,
int  xprop_tensor_rank,
vtkDoubleArray *  xvtk_prop,
int  xvtk_tuple_id 
)
protected

Converts xprop_dofs as needed depending on xprop_tenosr_rank and puts them into xvtk_prop_dofs at xvtk_tuple_id.

Definition at line 961 of file visualization_iterator.cc.

◆ put_use_cell_top_ids()

void tool::visualization_iterator::put_use_cell_top_ids ( bool  xvalue)

Sets use_cell_top_ids() to xvalue.

Postcondition

Definition at line 604 of file visualization_iterator.cc.

References set_vtk_data().

Referenced by tool::vtk_unstructured_grid_builder::build_pa(), and use_cell_top_ids().

◆ put_use_point_top_ids()

void tool::visualization_iterator::put_use_point_top_ids ( bool  xvalue)

Sets use_point_top_ids() to xvalue.

Postcondition

Definition at line 586 of file visualization_iterator.cc.

References use_cell_top_ids().

Referenced by tool::vtk_unstructured_grid_builder::build_pa(), and use_point_top_ids().

◆ reset()

void tool::visualization_iterator::reset ( bool  xreset_markers = true)
virtual

◆ set_vtk_data() [1/3]

void tool::visualization_iterator::set_vtk_data ( const sec_vd xcoords,
const sec_vd xprop,
vtkDoubleArray *  xvtk_pt_coords,
vtkDoubleArray *  xvtk_prop,
int  xprop_tensor_rank,
block< int > &  xvtk_cell_types,
block< vtkIdType > &  xvtk_cell_connectivity,
block< int > &  xvtk_cell_type_map,
vtkIdTypeArray *  xvtk_pt_label_ids,
vtkIdTypeArray *  xvtk_cell_label_ids 
)
virtual

Transfers coordinate and property data to vtk data structures.

Precondition
  • xcoords.state_is_read_accessible()
  • xcoords.schema().is_same_state(&coordinates_schema())
  • xprop.state_is_read_accessible()
  • xprop.schema().is_same_state(&property_schema())
Hack:
required because discretization_context::values capacity is fixed at 3.
Precondition
  • xcoords.schema().df() <= 3
Is Abstract.

Reimplemented in tool::visualization_iterator_1_3, tool::visualization_iterator_4_3, tool::visualization_iterator_1_1, and tool::visualization_iterator_4_2.

Definition at line 615 of file visualization_iterator.cc.

References fiber_bundle::section_space_schema_member::df(), sheaf::poset_component::is_same_state(), fiber_bundle::sec_rep_space_member::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by tool::vtk_unstructured_grid_builder::build_pa(), put_use_cell_top_ids(), and set_vtk_data().

◆ set_vtk_data() [2/3]

void tool::visualization_iterator::set_vtk_data ( const sec_vd xcoords,
vtkDoubleArray *  xvtk_pt_coords,
block< int > &  xvtk_cell_types,
block< vtkIdType > &  xvtk_cell_connectivity,
block< int > &  xvtk_cell_type_map,
vtkIdTypeArray *  xvtk_pt_label_ids,
vtkIdTypeArray *  xvtk_cell_label_ids 
)
virtual

Transfers coordinate data to vtk data structures.

Precondition
  • xcoords.state_is_read_accessible()
  • xcoords.schema().is_same_state(&coordinates_schema())
Hack:
required because discretization_context::values capacity is fixed at 3.
Precondition
  • xcoords.schema().df() <= 3
Is Abstract.

Reimplemented in tool::visualization_iterator_1_3, tool::visualization_iterator_4_3, tool::visualization_iterator_1_1, and tool::visualization_iterator_4_2.

Definition at line 653 of file visualization_iterator.cc.

References fiber_bundle::section_space_schema_member::df(), sheaf::poset_component::is_same_state(), fiber_bundle::sec_rep_space_member::schema(), set_vtk_data(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ set_vtk_data() [3/3]

void tool::visualization_iterator::set_vtk_data ( const sec_vd xprop,
vtkDoubleArray *  xvtk_prop,
int  xprop_tensor_rank 
)
virtual

Transfers property data to vtk data structures.

Precondition
  • xprop.state_is_read_accessible()
  • xprop.schema().is_same_state(&property_schema())
Is Abstract.

Reimplemented in tool::visualization_iterator_1_3, tool::visualization_iterator_4_3, tool::visualization_iterator_1_1, and tool::visualization_iterator_4_2.

Definition at line 685 of file visualization_iterator.cc.

References sheaf::poset_component::is_same_state(), fiber_bundle::sec_rep_space_member::schema(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and visualization_iterator().

◆ use_cell_top_ids()

bool tool::visualization_iterator::use_cell_top_ids ( ) const

If true use top ids to label cells; otherwise, use evaluation ids.

Definition at line 597 of file visualization_iterator.cc.

References put_use_cell_top_ids().

Referenced by put_use_point_top_ids().

◆ use_point_top_ids()

bool tool::visualization_iterator::use_point_top_ids ( ) const

If true use top ids to label points; otherwise, use discretization ids.

Definition at line 579 of file visualization_iterator.cc.

References put_use_point_top_ids().

Referenced by property_schema().

Member Data Documentation

◆ _above

depth_flags_type tool::visualization_iterator::_above
protected

True if current iteration is above the subposet associated with the flag.

Definition at line 295 of file visualization_iterator.h.

◆ _at

depth_flags_type tool::visualization_iterator::_at
protected

True if current iteration is a member of the subposet associated with the flag.

Definition at line 289 of file visualization_iterator.h.

◆ _cell_seq_id

int tool::visualization_iterator::_cell_seq_id
protected

The sequece id of the current vtk cell (i.e. element or zone).

Definition at line 349 of file visualization_iterator.h.

◆ _coord_dofs

sec_vd_dof_type tool::visualization_iterator::_coord_dofs[COORD_DOFS_UB]
protected

A buffer for the coord dofs at a disc point.

Definition at line 307 of file visualization_iterator.h.

◆ _coord_state

section_iteration_state tool::visualization_iterator::_coord_state
protected

Descriptor for coordinate section iteration.

Definition at line 248 of file visualization_iterator.h.

◆ _has_property

bool tool::visualization_iterator::_has_property
protected

True if this visualization has a property section.

Definition at line 231 of file visualization_iterator.h.

◆ _maximal_eval_id

scoped_index tool::visualization_iterator::_maximal_eval_id
protected

The index of the current maximal evaluation member.

Definition at line 379 of file visualization_iterator.h.

◆ _prop_dofs

sec_vd_dof_type tool::visualization_iterator::_prop_dofs[PROP_DOFS_UB]
protected

Upper bound for _prop_dofs.

A buffer for the prop dofs at a disc point.

Definition at line 316 of file visualization_iterator.h.

◆ _prop_state

section_iteration_state tool::visualization_iterator::_prop_state
protected

Descriptor for property section iteration.

Definition at line 253 of file visualization_iterator.h.

◆ _pt_seq_id

int tool::visualization_iterator::_pt_seq_id
protected

The sequece id of the current vtk point (i.e. vertex).

Definition at line 354 of file visualization_iterator.h.

◆ _st2_e2

double tool::visualization_iterator::_st2_e2[3][3]
protected

Buffer for vtk rep of st2_e2 tensors.

Definition at line 374 of file visualization_iterator.h.

◆ _st2_e3

double tool::visualization_iterator::_st2_e3[3][3]
protected

Buffer for vtk rep of st2_e3 tensors.

Definition at line 369 of file visualization_iterator.h.

◆ _use_cell_top_ids

bool tool::visualization_iterator::_use_cell_top_ids
protected

If true use top ids to label cells; otherwise, use evaluation ids.

Definition at line 243 of file visualization_iterator.h.

◆ _use_point_top_ids

bool tool::visualization_iterator::_use_point_top_ids
protected

If true use top ids to label points; otherwise, use discretization ids.

Definition at line 237 of file visualization_iterator.h.

◆ _vis_state

section_iteration_state tool::visualization_iterator::_vis_state
protected

Descriptor for visualization section iteration.

Definition at line 258 of file visualization_iterator.h.


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