20 #ifndef __REF_ELEMENT_MULTIINDICES_HPP__
21 #define __REF_ELEMENT_MULTIINDICES_HPP__
36 RefElement(
const boost::shared_ptr<RefEntity> &ref_ents_ptr);
49 virtual const boost::shared_ptr<SideNumber> &
72 const boost::shared_ptr<SideNumber> &
84 const boost::shared_ptr<SideNumber> &
99 const boost::shared_ptr<SideNumber> &
115 const boost::shared_ptr<SideNumber> &
127 const boost::shared_ptr<SideNumber> &
139 const boost::shared_ptr<SideNumber> &
158 return this->
sPtr->getBitRefEdgesUlong();
162 return this->
sPtr->getSideNumberTable();
165 inline const boost::shared_ptr<SideNumber> &
167 return this->
sPtr->getSideNumberPtr(ent);
171 return this->
sPtr->getRefEntityPtr();
187 typedef multi_index_container<
188 boost::shared_ptr<RefElement>,
190 indexed_by<ordered_unique<
multi_index_container< boost::shared_ptr< SideNumber >, indexed_by< ordered_unique< member< SideNumber, EntityHandle, &SideNumber::ent > >, ordered_non_unique< composite_key< SideNumber, const_mem_fun< SideNumber, EntityType, &SideNumber::getEntType >, member< SideNumber, char, &SideNumber::side_number > > > > > SideNumber_multiIndex
SideNumber_multiIndex for SideNumber.
multi_index_container< boost::shared_ptr< RefElement >, indexed_by< ordered_unique< tag< Ent_mi_tag >, const_mem_fun< RefElement::interface_type_RefEntity, EntityHandle, &RefElement::getEnt > > > > RefElement_multiIndex
std::bitset< BITREFEDGES_SIZE > BitRefEdges
implementation of Data Operators for Forces and Sources
keeps data about abstract EDGE finite element
virtual ~RefElement_EDGE()=default
RefElement_EDGE(const boost::shared_ptr< RefEntity > &ref_ents_ptr)
friend std::ostream & operator<<(std::ostream &os, const RefElement_EDGE &e)
keeps data about abstract MESHSET finite element
virtual ~RefElement_MESHSET()=default
RefElement_MESHSET(const boost::shared_ptr< RefEntity > &ref_ents_ptr)
keeps data about abstract PRISM finite element
int getBitRefEdgesUlong() const
const BitRefEdges & getBitRefEdges() const
BitRefEdges * tag_BitRefEdges
RefElement_PRISM(const boost::shared_ptr< RefEntity > &ref_ents_ptr)
virtual ~RefElement_PRISM()=default
keeps data about abstract VERTEX finite element
virtual ~RefElement_VERTEX()=default
RefElement_VERTEX(const boost::shared_ptr< RefEntity > &ref_ents_ptr)
friend std::ostream & operator<<(std::ostream &os, const RefElement_VERTEX &e)
keeps data about abstract TRI finite element
RefElementFace(const boost::shared_ptr< RefEntity > &ref_ents_ptr)
virtual ~RefElementFace()=default
friend std::ostream & operator<<(std::ostream &os, const RefElementFace &e)
keeps data about abstract refined finite element
SideNumber_multiIndex & getSideNumberTable() const
virtual const boost::shared_ptr< SideNumber > & getSideNumberPtr(const EntityHandle ent) const
RefElement(const boost::shared_ptr< RefEntity > &ref_ents_ptr)
static BitRefEdges DummyBitRefEdges
boost::shared_ptr< RefEntity > & getRefEntityPtr() const
Get pointer to RefEntity.
friend std::ostream & operator<<(std::ostream &os, const RefElement &e)
SideNumber_multiIndex side_number_table
static const boost::shared_ptr< SideNumber > nullSideNumber
interface_RefEntity< RefEntity > interface_type_RefEntity
virtual const BitRefEdges & getBitRefEdges() const
virtual ~RefElement()=default
virtual int getBitRefEdgesUlong() const
keeps data about abstract TET finite element
RefElementVolume(const boost::shared_ptr< RefEntity > &ref_ents_ptr)
int getBitRefEdgesUlong() const
SideNumber_multiIndex & getSideNumberTable() const
BitRefEdges * tag_BitRefEdges
virtual ~RefElementVolume()=default
const BitRefEdges & getBitRefEdges() const
interface_RefElement(const boost::shared_ptr< T > &sptr)
interface_RefEntity< T > interface_type_RefEntity
int getBitRefEdgesUlong() const
boost::shared_ptr< RefEntity > & getRefEntityPtr() const
SideNumber_multiIndex & getSideNumberTable() const
const boost::shared_ptr< SideNumber > & getSideNumberPtr(const EntityHandle ent) const
interface_RefElement< T > interface_type_RefElement
boost::shared_ptr< T > & getRefElement() const
virtual ~interface_RefElement()=default
boost::shared_ptr< SideNumber > getSideNumberPtr() const
Get the Side number.
boost::shared_ptr< RefEntity > sPtr
EntityHandle getEnt() const
Get the entity handle.