SheafSystem  0.0.0.0
fields::field_refiner Class Reference

Refines a given field and its base space using a given refinement policy and refiner family. More...

#include <field_refiner.h>

Inheritance diagram for fields::field_refiner:
sheaf::any

FIELD_REFINER FACET

 field_refiner (const poset &xbase_space, const std::string &xrefiner_family_name, const std::string &xrefinement_policy_name, bool xauto_access)
 Creates an instance for sections over base space xbase_space using the refiner family with name xrefiner_family_name and the policy with name xrefinement_policy_name. More...
 
field_refiner_familyrefiners ()
 The family of refiners for the range. More...
 
field_refinement_policypolicy () const
 The refinement policy of the refiners. More...
 
void refine (field_vd &xtarget, bool xauto_access)
 Refines field xtarget. More...
 
void refine (const sec_ed &xcoordinates, const sec_vd &xproperty, bool xauto_access)
 Refines field with coordinates xcoordinates and property xproperty. More...
 
 field_refiner ()
 Default constructor; disabled. More...
 

ANY FACET

 field_refiner (const field_refiner &xother)
 Copy constructor. More...
 
virtual ~field_refiner ()
 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 anyclone () 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...
 

Detailed Description

Refines a given field and its base space using a given refinement policy and refiner family.

Definition at line 61 of file field_refiner.h.

Constructor & Destructor Documentation

◆ field_refiner() [1/3]

fields::field_refiner::field_refiner ( const poset xbase_space,
const std::string &  xrefiner_family_name,
const std::string &  xrefinement_policy_name,
bool  xauto_access 
)

Creates an instance for sections over base space xbase_space using the refiner family with name xrefiner_family_name and the policy with name xrefinement_policy_name.

Precondition
  • xauto_access || xbase_space.state_is_read_accessible()
Todo:
Remove dynamic cast when base_space_member returns base_space_poset as its host.
Postcondition

Definition at line 137 of file field_refiner.cc.

References fields::field_refiner_family::family_factory(), sheaf::poset_state_handle::get_read_access(), fields::field_refiner_family::initialize(), invariant(), fields::field_refiner_family::new_family(), fields::field_refinement_policy::new_policy(), fields::field_refinement_policy::policy_factory(), refiners(), sheaf::poset_state_handle::release_access(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ field_refiner() [2/3]

fields::field_refiner::field_refiner ( )
protected

Default constructor; disabled.

Not Implemented.

Definition at line 56 of file field_refiner.cc.

Referenced by invariant().

◆ field_refiner() [3/3]

fields::field_refiner::field_refiner ( const field_refiner xother)

Copy constructor.

Not Implemented.

Postcondition

Definition at line 73 of file field_refiner.cc.

References invariant(), and ~field_refiner().

◆ ~field_refiner()

fields::field_refiner::~field_refiner ( )
virtual

Destructor.

Definition at line 89 of file field_refiner.cc.

References invariant().

Referenced by field_refiner().

Member Function Documentation

◆ invariant()

bool fields::field_refiner::invariant ( ) const
virtual

◆ policy()

fields::field_refinement_policy & fields::field_refiner::policy ( ) const

The refinement policy of the refiners.

Definition at line 193 of file field_refiner.cc.

References fields::field_refiner_family::policy(), and refine().

Referenced by refine(), and refiners().

◆ refine() [1/2]

void fields::field_refiner::refine ( field_vd xtarget,
bool  xauto_access 
)

Refines field xtarget.

Precondition
  • xauto_access || xtarget.base_space().state_is_read_write_accessible()
  • xauto_access || xtarget.state_is_read_write_accessible()
  • xtarget.same_evaluation()
Postcondition
  • xtarget.access_request_depth() == old_xtarget_access_request_depth

Definition at line 211 of file field_refiner.cc.

References fields::field_vd::access_request_depth(), fields::field_vd::base_space(), sheaf::poset::begin_jim_edit_mode(), fields::field_eval_iterator::coordinate_discretization_members(), fields::field_eval_iterator::coordinate_evaluator(), fields::field_vd::coordinates(), sheaf::poset::end_jim_edit_mode(), sheaf::schema_poset_member::force_cache_update(), fields::field_vd::get_read_write_access(), fiber_bundle::base_space_member::host(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::is_done(), fields::field_refiner_family::member(), fields::field_eval_iterator::next(), policy(), fields::local_field_refiner::policy(), fields::field_vd::property(), fields::field_eval_iterator::property_discretization_members(), fields::field_eval_iterator::property_evaluator(), fields::local_field_refiner::refine(), fields::field_eval_iterator::refinement_depth(), fields::field_refinement_policy::refinement_depth_ub(), fields::field_vd::release_access(), fields::field_eval_iterator::repeat(), fields::field_vd::same_evaluation(), fiber_bundle::sec_rep_space_member::schema(), fields::field_refinement_policy::should_refine(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), fields::field_vd::state_is_read_write_accessible(), and fields::field_eval_iterator::type_id().

Referenced by policy(), and refine().

◆ refine() [2/2]

void fields::field_refiner::refine ( const sec_ed xcoordinates,
const sec_vd xproperty,
bool  xauto_access 
)

Refines field with coordinates xcoordinates and property xproperty.

Precondition
  • precondition_of(refine(field_vd(xcoordinates, xproperty, xauto_access), xauto_access))
Postcondition
  • postcondition_of(refine(field_vd(xcoordinates, xproperty, xauto_access), xauto_access))

Definition at line 337 of file field_refiner.cc.

References refine().

◆ refiners()

fields::field_refiner_family & fields::field_refiner::refiners ( )

The family of refiners for the range.

Definition at line 186 of file field_refiner.cc.

References policy().

Referenced by field_refiner().


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