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

Classes

struct  MoFEM::BasicEntity
 this struct keeps basic methods for moab entity More...
 
struct  MoFEM::RefEntity
 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...
 
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...
 

Typedefs

typedef multi_index_container< boost::shared_ptr< SideNumber >, indexed_by< hashed_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 > > >, ordered_non_unique< const_mem_fun< SideNumber, EntityType, &SideNumber::getEntType > > > > SideNumber_multiIndex
 SideNumber_multiIndex for SideNumber. More...
 
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::getRefEnt >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > > > > > MoFEM::RefEntity_multiIndex_view_by_hashed_parent_entity
 multi-index view of RefEntity by parent entity More...
 
typedef multi_index_container< boost::shared_ptr< FieldEntity >, indexed_by< ordered_unique< tag< Unique_mi_tag >, member< FieldEntity, UId, &FieldEntity::globalUid > >, ordered_non_unique< tag< FieldName_mi_tag >, const_mem_fun< FieldEntity::interface_type_Field, boost::string_ref, &FieldEntity::getNameRef > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< FieldEntity, EntityHandle, &FieldEntity::getEnt > >, ordered_non_unique< tag< Composite_Name_And_Ent_mi_tag >, composite_key< FieldEntity, const_mem_fun< FieldEntity::interface_type_Field, boost::string_ref, &FieldEntity::getNameRef >, const_mem_fun< FieldEntity, EntityHandle, &FieldEntity::getEnt > > > > > FieldEntity_multiIndex
 MultiIndex container keeps FieldEntity. More...
 
typedef FieldEntity_multiIndex::index< FieldName_mi_tag >::type MoFEM::FieldEntityByFieldName
 Entity index by field name. More...
 
typedef multi_index_container< boost::shared_ptr< RefEntity >, indexed_by< ordered_unique< tag< Ent_mi_tag >, member< RefEntity::BasicEntity, EntityHandle, &RefEntity::ent > >, ordered_non_unique< tag< Ent_Ent_mi_tag >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > >, ordered_non_unique< tag< EntType_mi_tag >, const_mem_fun< RefEntity::BasicEntity, EntityType, &RefEntity::getEntType > >, ordered_non_unique< tag< ParentEntType_mi_tag >, const_mem_fun< RefEntity, EntityType, &RefEntity::getParentEntType > >, ordered_non_unique< tag< Composite_EntType_and_ParentEntType_mi_tag >, composite_key< RefEntity, const_mem_fun< RefEntity::BasicEntity, 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::BasicEntity, EntityType, &RefEntity::getEntType >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > > > > > MoFEM::RefEntity_multiIndex
 

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::globalUid> >, ordered_non_unique< tag<FieldName_mi_tag>, const_mem_fun<FieldEntity::interface_type_Field, boost::string_ref, &FieldEntity::getNameRef> >, ordered_non_unique< tag<Ent_mi_tag>, const_mem_fun<FieldEntity, EntityHandle, &FieldEntity::getEnt> >, ordered_non_unique< tag<Composite_Name_And_Ent_mi_tag>, composite_key< FieldEntity, const_mem_fun<FieldEntity::interface_type_Field, boost::string_ref, &FieldEntity::getNameRef>, const_mem_fun<FieldEntity, EntityHandle, &FieldEntity::getEnt> > > > > FieldEntity_multiIndex

MultiIndex container keeps FieldEntity.

Definition at line 825 of file EntsMultiIndices.hpp.

◆ FieldEntityByFieldName

typedef FieldEntity_multiIndex::index<FieldName_mi_tag>::type MoFEM::FieldEntityByFieldName

Entity index by field name.

Definition at line 835 of file EntsMultiIndices.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_uniqueEntType_mi_tag
ordered_non_uniqueParentEntType_mi_tag
ordered_non_uniqueComposite_EntType_And_ParentEntType_mi_tag
ordered_non_uniqueComposite_ParentEnt_And_EntType_mi_tag

Definition at line 441 of file EntsMultiIndices.hpp.

◆ 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::getRefEnt>, const_mem_fun<RefEntity, EntityHandle, &RefEntity::getParentEnt> > > > > MoFEM::RefEntity_multiIndex_view_by_hashed_parent_entity

multi-index view of RefEntity by parent entity

Definition at line 460 of file EntsMultiIndices.hpp.

◆ SideNumber_multiIndex

typedef multi_index_container< boost::shared_ptr<SideNumber>, indexed_by< hashed_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> > >, ordered_non_unique< const_mem_fun<SideNumber, EntityType, &SideNumber::getEntType> > > > SideNumber_multiIndex

SideNumber_multiIndex for SideNumber.

Definition at line 43 of file EntsMultiIndices.hpp.

Function Documentation

◆ __attribute__()

struct MoFEM::__attribute__ ( (__packed__)  )

keeps information about side number for the finite element

Definition at line 30 of file EntsMultiIndices.hpp.

30  {
31  EntityHandle ent;
32  char side_number;
33  char sense;
34  char offset;
35  char brother_side_number;
36  inline EntityType getEntType() const {
37  return (EntityType)((ent & MB_TYPE_MASK) >> MB_ID_WIDTH);
38  }
39 
40  SideNumber(EntityHandle _ent, int _side_number, int _sense, int _offset)
41  : ent(_ent), side_number(_side_number), sense(_sense), offset(_offset),
42  brother_side_number(-1) {}
43 };
#define MB_TYPE_MASK
Definition: definitions.h:287
#define MB_ID_WIDTH
Definition: definitions.h:286