SheafSystem  0.0.0.0
fields::body_builder Class Reference

A simple body builder; creates base space members equivalent to subsets defined by a field classification criterion. More...

#include <body_builder.h>

Inheritance diagram for fields::body_builder:
sheaf::any

BODY_BUILDER FACET

typedef chart_point_coord_type coord_type
 The type of local coordinate; the scalar type for the local coordinate vector space. More...
 
typedef sec_vd_value_type value_type
 The type of component in the value; the scalar type in the fiber space. More...
 
typedef sec_vd_dof_type dof_type
 The type of degree of freedom. More...
 
 body_builder ()
 Default constructor. More...
 
virtual ~body_builder ()
 Destructor. More...
 
block< scoped_index > * build (field_vd &xfield, value_type xlower, value_type xupper)
 Builds the bodies defined by threshholds xlower and xupper in field xfield; auto_allocated. More...
 
void build_pa (field_vd &xfield, value_type xlower, value_type xupper, block< scoped_index > &xresult)
 Builds the bodies defined by threshholds xlower and xupper in field xfield; pre_allocated. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *xother) const
 Conformance test; true if other conforms to this. More...
 
virtual body_builderclone () const
 Virtual constructor, makes a new instance of the same type as this. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- 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 inherited from sheaf::any
 any ()
 default constructor More...
 

Detailed Description

A simple body builder; creates base space members equivalent to subsets defined by a field classification criterion.

Definition at line 58 of file body_builder.h.

Member Typedef Documentation

◆ coord_type

The type of local coordinate; the scalar type for the local coordinate vector space.

Definition at line 72 of file body_builder.h.

◆ dof_type

The type of degree of freedom.

Definition at line 83 of file body_builder.h.

◆ value_type

The type of component in the value; the scalar type in the fiber space.

Definition at line 78 of file body_builder.h.

Constructor & Destructor Documentation

◆ body_builder()

fields::body_builder::body_builder ( )

Default constructor.

Postcondition

Definition at line 44 of file body_builder.cc.

References ~body_builder().

◆ ~body_builder()

fields::body_builder::~body_builder ( )
virtual

Destructor.

Postcondition

Definition at line 65 of file body_builder.cc.

References build().

Referenced by body_builder().

Member Function Documentation

◆ build()

sheaf::block< sheaf::scoped_index > * fields::body_builder::build ( field_vd xfield,
value_type  xlower,
value_type  xupper 
)

Builds the bodies defined by threshholds xlower and xupper in field xfield; auto_allocated.

Precondition
  • xfield.state_is_read_accessible()
  • xfield.base_space().state_is_read_write_accessible()
  • xfield.dp() == 1
  • xlower < xupper
Postcondition
  • result != 0

Definition at line 86 of file body_builder.cc.

References fields::field_vd::base_space(), build_pa(), fields::field_vd::dp(), fields::field_vd::state_is_read_accessible(), and sheaf::read_write_monitor_handle::state_is_read_write_accessible().

Referenced by fields::body_factory::new_3d_uniform_bodies(), and ~body_builder().

◆ build_pa()

void fields::body_builder::build_pa ( field_vd xfield,
value_type  xlower,
value_type  xupper,
block< scoped_index > &  xresult 
)

Builds the bodies defined by threshholds xlower and xupper in field xfield; pre_allocated.

Precondition
  • xfield.state_is_read_accessible()
  • xfield.base_space().state_is_read_write_accessible()
  • xfield.dp() == 1
  • xlower < xupper
Todo:
Remove cast when base_space_member returns a base_space_poset.

Definition at line 113 of file body_builder.cc.

References sheaf::auto_block< T, S >::base(), sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), fields::field_vd::base_space(), sheaf::subposet::contains_member(), sheaf::auto_block< T, S >::ct(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), fiber_bundle::section_evaluator::dof_ct(), fields::field_vd::dp(), fiber_bundle::section_eval_iterator::gather_dofs(), sheaf::poset_state_handle::get_cover_id_space_iterator(), fiber_bundle::base_space_member::host(), sheaf::index_space_iterator::hub_pod(), sheaf::subposet::insert_member(), is_ancestor_of(), sheaf::index_space_iterator::is_done(), sheaf::LOWER, fiber_bundle::section_evaluator::max(), sheaf::poset_state_handle::member_hub_id_space(), sheaf::poset_state_handle::member_id(), sheaf::poset_state_handle::member_index_ub(), fiber_bundle::section_evaluator::min(), sheaf::index_space_iterator::next(), fields::field_vd::property(), sheaf::auto_block< T, S >::push_back(), sheaf::poset_state_handle::release_cover_id_space_iterator(), sheaf::subposet::remove_member(), fiber_bundle::sec_rep_space_member::schema(), sheaf::auto_block< T, S >::set_ct(), sheaf::read_write_monitor_handle::state_is_read_accessible(), fields::field_vd::state_is_read_accessible(), sheaf::read_write_monitor_handle::state_is_read_write_accessible(), and sheaf::UPPER.

Referenced by build().

◆ clone()

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

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

Postcondition
  • result != 0
  • is_same_type(result)

Reimplemented from sheaf::any.

Definition at line 368 of file body_builder.cc.

References invariant().

Referenced by is_ancestor_of().

◆ invariant()

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

Class invariant.

Invariant

Reimplemented from sheaf::any.

Definition at line 391 of file body_builder.cc.

Referenced by clone().

◆ is_ancestor_of()

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

Conformance test; true if other conforms to this.

Precondition
  • xother != 0

Reimplemented from sheaf::any.

Definition at line 348 of file body_builder.cc.

References clone().

Referenced by build_pa().


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