hexed 0.3.0
 
Loading...
Searching...
No Matches
hexed::Element_container Class Referenceabstract

#include <Element_container.hpp>

Inheritance diagram for hexed::Element_container:
hexed::Complete_element_container< hexed::Element > hexed::Complete_element_container< hexed::Deformed_element > hexed::Complete_element_container< element_t >

Public Member Functions

virtual int emplace (int ref_level, std::vector< int > position, Mat<> origin, int aniso_ref_level=0)=0
 
virtual Elementat (int ref_level, int serial_n)=0
 access an element by refinement level and serial number
 
virtual Sequence< Element & > & element_view ()=0
 
virtual std::vector< std::array< int, 2 > > elem_handles ()=0
 return the currently valid set of ref_level, serial_n combinations
 
virtual int purge (std::function< bool(Element &)> predicate=[](Element &elem){return elem.record !=0;})=0
 

Detailed Description

An abstract class representing a collection of Elements which supports basic construction and access facilities.

Member Function Documentation

◆ at()

virtual Element & hexed::Element_container::at ( int ref_level,
int serial_n )
pure virtual

◆ elem_handles()

virtual std::vector< std::array< int, 2 > > hexed::Element_container::elem_handles ( )
pure virtual

return the currently valid set of ref_level, serial_n combinations

deletes all elements where predicate evaluates to true and returns the number of elements deleted

Implemented in hexed::Complete_element_container< element_t >, hexed::Complete_element_container< hexed::Deformed_element >, and hexed::Complete_element_container< hexed::Element >.

◆ element_view()

◆ emplace()

virtual int hexed::Element_container::emplace ( int ref_level,
std::vector< int > position,
Mat<> origin,
int aniso_ref_level = 0 )
pure virtual

Construct an element, add it to the container, and return a permanent, arbitrary serial number which is unique among elements of the same refinement level.

Implemented in hexed::Complete_element_container< element_t >, hexed::Complete_element_container< hexed::Deformed_element >, and hexed::Complete_element_container< hexed::Element >.


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