v0.10.0
Classes | Typedefs | Functions
Entities structures and multi-indices
Collaboration diagram for Entities structures and multi-indices:

Classes

struct  MoFEM::FieldEntity
 Struct keeps handle to entity in the field. More...
 
struct  MoFEM::interface_FieldEntity< T >
 Interface to FieldEntityinterface to FieldEntity. More...
 
struct  MoFEM::FieldEntity_change_order
 structure to change FieldEntity order More...
 
struct  MoFEM::FieldChangeCoordinateSystem
 Set field coordinate system. More...
 
struct  MoFEM::RefEntityTmp< 0 >
 Struct keeps handle to refined handle. More...
 
struct  MoFEM::interface_RefEntity< T >
 interface to RefEntity More...
 
struct  MoFEM::RefEntity_change_parent
 change parentUse this function with care. Some other multi-indices can deponent on this. More...
 
struct  MoFEM::RefEntity_change_left_shift
 ref mofem entity, left shift More...
 
struct  MoFEM::RefEntity_change_right_shift
 ref mofem entity, right shift More...
 

Typedefs

typedef multi_index_container< boost::shared_ptr< FieldEntity >, indexed_by< ordered_unique< tag< Unique_mi_tag >, member< FieldEntity, UId, &FieldEntity::localUId > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< FieldEntity::interface_type_RefEntity, EntityHandle, &FieldEntity::getEnt > > > > FieldEntity_multiIndex
 MultiIndex container keeps FieldEntity. More...
 
using MoFEM::FieldEntityByUId = FieldEntity_multiIndex::index< Unique_mi_tag >::type
 Entity index by field name. More...
 
typedef 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. More...
 
using MoFEM::RefEntity_multiIndex_view_by_hashed_parent_entity = multi_index_container< boost::shared_ptr< RefEntity >, indexed_by< hashed_non_unique< const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > >, hashed_unique< tag< Composite_EntType_and_ParentEntType_mi_tag >, composite_key< boost::shared_ptr< RefEntity >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getEnt >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > >> > >
 multi-index view of RefEntity by parent entity More...
 
using MoFEM::RefEntity_multiIndex = multi_index_container< boost::shared_ptr< RefEntity >, indexed_by< ordered_unique< tag< Ent_mi_tag >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getEnt > >, ordered_non_unique< tag< Ent_Ent_mi_tag >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > >, ordered_non_unique< tag< Composite_EntType_and_ParentEntType_mi_tag >, composite_key< RefEntity, const_mem_fun< RefEntity, EntityType, &RefEntity::getEntType >, const_mem_fun< RefEntity, EntityType, &RefEntity::getParentEntType > > >, ordered_non_unique< tag< Composite_ParentEnt_And_EntType_mi_tag >, composite_key< RefEntity, const_mem_fun< RefEntity, EntityType, &RefEntity::getEntType >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > >> > >
 

Functions

struct MoFEM::__attribute__ ((__packed__)) SideNumber
 keeps information about side number for the finite element More...
 

Detailed Description

Typedef Documentation

◆ FieldEntity_multiIndex

typedef multi_index_container< boost::shared_ptr<FieldEntity>, indexed_by< ordered_unique<tag<Unique_mi_tag>, member<FieldEntity, UId, &FieldEntity::localUId> >, ordered_non_unique<tag<Ent_mi_tag>, const_mem_fun<FieldEntity::interface_type_RefEntity, EntityHandle, &FieldEntity::getEnt> > > > FieldEntity_multiIndex

MultiIndex container keeps FieldEntity.

Definition at line 407 of file FieldEntsMultiIndices.hpp.

◆ FieldEntityByUId

using MoFEM::FieldEntityByUId = typedef FieldEntity_multiIndex::index<Unique_mi_tag>::type

Entity index by field name.

Definition at line 413 of file FieldEntsMultiIndices.hpp.

◆ RefEntity_multiIndex

type multiIndex container for RefEntity

Parameters
hashed_uniqueEnt_mi_tag
ordered_non_uniqueMeshset_mi_tag
ordered_non_uniqueEnt_Ent_mi_tag
ordered_non_uniqueComposite_EntType_And_ParentEntType_mi_tag
ordered_non_uniqueComposite_ParentEnt_And_EntType_mi_tag

Definition at line 762 of file RefEntsMultiIndices.hpp.

◆ RefEntity_multiIndex_view_by_hashed_parent_entity

using MoFEM::RefEntity_multiIndex_view_by_hashed_parent_entity = typedef multi_index_container< boost::shared_ptr<RefEntity>, indexed_by< hashed_non_unique< const_mem_fun<RefEntity, EntityHandle, &RefEntity::getParentEnt> >, hashed_unique<tag<Composite_EntType_and_ParentEntType_mi_tag>, composite_key<boost::shared_ptr<RefEntity>, const_mem_fun<RefEntity, EntityHandle, &RefEntity::getEnt>, const_mem_fun<RefEntity, EntityHandle, &RefEntity::getParentEnt> >> > >

multi-index view of RefEntity by parent entity

Definition at line 779 of file RefEntsMultiIndices.hpp.

◆ SideNumber_multiIndex

typedef 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.

Definition at line 92 of file RefEntsMultiIndices.hpp.

Function Documentation

◆ __attribute__()

struct MoFEM::__attribute__ ( (__packed__)  )

keeps information about side number for the finite element

Definition at line 70 of file RefEntsMultiIndices.hpp.

70  {
71  EntityHandle ent;
72  char side_number;
73  char sense;
74  char offset;
75  char brother_side_number;
76 
77  inline EntityType getEntType() const {
78  return static_cast<EntityType>((ent & MB_TYPE_MASK) >> MB_ID_WIDTH);
79  }
80 
81  inline int getEntDimension() const {
82  return moab::CN::Dimension(getEntType());
83  }
84 
85  inline const char *getEntTypeName() const {
86  return moab::CN::EntityTypeName(getEntType());
87  }
88 
89  SideNumber(EntityHandle ent, int side_number, int sense, int offset)
90  : ent(ent), side_number(side_number), sense(sense), offset(offset),
91  brother_side_number(-1) {}
92 };
#define MB_TYPE_MASK
Definition: definitions.h:297
#define MB_ID_WIDTH
Definition: definitions.h:296