SheafSystem  0.0.0.0
fields::barycentric_refiner_family Class Reference

A family of field refiners that introduce a new vertex in in the barycenter of each cell (zone, face, edge, vertex) in the down set of a zone. More...

#include <barycentric_refiner_family.h>

Inheritance diagram for fields::barycentric_refiner_family:
fields::field_refiner_family sheaf::any

BARYCENTRIC_REFINER_FAMILY FACET

 barycentric_refiner_family (const base_space_poset &xbase_space, const field_refinement_policy &xpolicy)
 Creates an instance containing members for refining base space xbase_space and using policy xpolicy. More...
 
 barycentric_refiner_family (const barycentric_refiner_family &xother)
 Copy constructor. More...
 
virtual ~barycentric_refiner_family ()
 Destructor. More...
 
virtual const std::string & class_name () const
 The name of this family. More...
 
static const std::string & static_class_name ()
 The name of this class of families. More...
 

FIELD_REFINER_FAMILY FACET

virtual void initialize (const base_space_poset &xbase_space, const field_refinement_policy &xpolicy)
 Initializes this to contain members for base space xbase_space and using policy xpolicy. More...
 

ANY FACET

virtual barycentric_refiner_familyclone () const
 Virtual constructor; makes a new instance of the same type as this. 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...
 

Additional Inherited Members

- Public Member Functions inherited from fields::field_refiner_family
 field_refiner_family (const field_refiner_family &xother)
 Copy constructor. More...
 
virtual ~field_refiner_family ()
 Destructor. More...
 
local_field_refinermember (pod_index_type xtype_id) const
 The evaluator associated with cell type xtype_id. Note that the result may be void. More...
 
size_type size () const
 The number of members of this family. More...
 
field_refinement_policypolicy () const
 The refinement policy for this family. More...
 
bool is_initialized () const
 True if this has been populated with members. 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 inherited from fields::field_refiner_family
static field_refiner_familynew_family (const std::string &xname)
 Creates an instance of the refiner family associated with name xname. More...
 
static factory< field_refiner_family > & family_factory ()
 A factory for making field_refiner_family objects. More...
 
- Protected Member Functions inherited from fields::field_refiner_family
 field_refiner_family ()
 Default constructor. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Protected Attributes inherited from fields::field_refiner_family
block< local_field_refiner * > _members
 The members of the family. More...
 
field_refinement_policy_policy
 The refinement policy for this family. More...
 
index_space_handle_cell_type_id_space
 The id space for base space cell type ids. More...
 
bool _is_initialized
 True if this has been populated with members. More...
 

Detailed Description

A family of field refiners that introduce a new vertex in in the barycenter of each cell (zone, face, edge, vertex) in the down set of a zone.

Definition at line 40 of file barycentric_refiner_family.h.

Constructor & Destructor Documentation

◆ barycentric_refiner_family() [1/2]

fields::barycentric_refiner_family::barycentric_refiner_family ( const base_space_poset xbase_space,
const field_refinement_policy xpolicy 
)

Creates an instance containing members for refining base space xbase_space and using policy xpolicy.

Precondition
  • xbase_space.state_is_read_accessible()
Postcondition
  • postcondition_of(initialize(xbase_space, xpolicy))

Definition at line 46 of file barycentric_refiner_family.cc.

References sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ barycentric_refiner_family() [2/2]

fields::barycentric_refiner_family::barycentric_refiner_family ( const barycentric_refiner_family xother)

Copy constructor.

Postcondition

Definition at line 68 of file barycentric_refiner_family.cc.

References invariant(), and ~barycentric_refiner_family().

◆ ~barycentric_refiner_family()

fields::barycentric_refiner_family::~barycentric_refiner_family ( )
virtual

Destructor.

Definition at line 88 of file barycentric_refiner_family.cc.

References class_name().

Referenced by barycentric_refiner_family().

Member Function Documentation

◆ class_name()

const std::string & fields::barycentric_refiner_family::class_name ( ) const
virtual

The name of this family.

Postcondition
  • !result.empty()

Implements fields::field_refiner_family.

Definition at line 106 of file barycentric_refiner_family.cc.

References static_class_name().

Referenced by ~barycentric_refiner_family().

◆ clone()

fields::barycentric_refiner_family * fields::barycentric_refiner_family::clone ( ) const
virtual

Virtual constructor; makes a new instance of the same type as this.

Postcondition
  • result != 0
  • is_same_type(result)

Reimplemented from fields::field_refiner_family.

Definition at line 292 of file barycentric_refiner_family.cc.

References invariant(), and sheaf::any::is_same_type().

Referenced by initialize().

◆ initialize()

void fields::barycentric_refiner_family::initialize ( const base_space_poset xbase_space,
const field_refinement_policy xpolicy 
)
virtual

Initializes this to contain members for base space xbase_space and using policy xpolicy.

Precondition
  • !is_initialized()
  • xbase_space.state_is_read_accessible()
Todo:
uncomment the following lines as the refiners they refer to become available.
Postcondition

Implements fields::field_refiner_family.

Definition at line 201 of file barycentric_refiner_family.cc.

References fields::field_refiner_family::_members, clone(), fields::field_refiner_family::initialize(), invariant(), fields::field_refiner_family::is_initialized(), fields::field_refiner_family::member(), fields::field_refiner_family::policy(), fiber_bundle::base_space_poset::prototype_type_id(), fields::field_refiner_family::size(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

Referenced by static_class_name().

◆ invariant()

◆ is_ancestor_of()

bool fields::barycentric_refiner_family::is_ancestor_of ( const any xother) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • xother != 0

Reimplemented from fields::field_refiner_family.

Definition at line 346 of file barycentric_refiner_family.cc.

Referenced by invariant().

◆ static_class_name()

const std::string & fields::barycentric_refiner_family::static_class_name ( )
static

The name of this class of families.

Postcondition
  • !result.empty()
  • result == "barycentric_refiner_family"

Definition at line 125 of file barycentric_refiner_family.cc.

References fields::field_refiner_family::family_factory(), initialize(), and invariant().

Referenced by class_name().


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