v0.16.3
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
MoFEM::RefElement_VERTEX Struct Reference

keeps data about abstract VERTEX finite element More...

#include "src/multi_indices/RefElementMultiIndices.hpp"

Inheritance diagram for MoFEM::RefElement_VERTEX:
[legend]
Collaboration diagram for MoFEM::RefElement_VERTEX:
[legend]

Public Member Functions

 RefElement_VERTEX (const boost::shared_ptr< RefEntity > &ref_ents_ptr)
 
virtual ~RefElement_VERTEX ()=default
 
const boost::shared_ptr< SideNumber > & getSideNumberPtr (const EntityHandle ent) const
 
- Public Member Functions inherited from MoFEM::RefElement
 RefElement (const boost::shared_ptr< RefEntity > &ref_ents_ptr)
 
virtual ~RefElement ()=default
 
virtual const BitRefEdges & getBitRefEdges () const
 
virtual int getBitRefEdgesUlong () const
 
SideNumber_multiIndex & getSideNumberTable () const
 
boost::shared_ptr< RefEntity > & getRefEntityPtr () const
 Get pointer to RefEntity.
 
- Public Member Functions inherited from MoFEM::interface_RefEntity< RefEntity >
 interface_RefEntity (const boost::shared_ptr< RefEntity > &sptr)
 
 interface_RefEntity (const interface_RefEntity< RefEntity > &interface)
 
virtual ~interface_RefEntity ()=default
 
int getSideNumber () const
 
boost::shared_ptr< SideNumber > getSideNumberPtr () const
 
const boost::shared_ptr< BasicEntityData > getBasicDataPtr () const
 
EntityHandle getEnt () const
 
EntityType getParentEntType () const
 
EntityHandle getParentEnt () const
 
BitRefLevel * getBitRefLevelPtr () const
 
const BitRefLevel & getBitRefLevel () const
 
unsigned long int getBitRefLevelULong () const
 
EntityType getEntType () const
 
int getEntDimension () const
 
const char * getEntTypeName () const
 
EntityID getEntId () const
 
EntityHandle getOwnerEnt () const
 
EntityHandle & getOwnerEnt ()
 
int getOwnerProc () const
 
int getPartProc () const
 
int * getPartProcPtr () const
 
unsigned char getPStatus () const
 
int * getSharingProcsPtr () const
 
EntityHandle * getSharingHandlersPtr () const
 
boost::shared_ptr< RefEntity > & getRefEntityPtr () const
 

Friends

std::ostream & operator<< (std::ostream &os, const RefElement_VERTEX &e)
 

Additional Inherited Members

- Public Types inherited from MoFEM::RefElement
using interface_type_RefEntity = interface_RefEntity< RefEntity >
 
- Public Attributes inherited from MoFEM::interface_RefEntity< RefEntity >
boost::shared_ptr< RefEntity > sPtr
 
- Protected Attributes inherited from MoFEM::RefElement
SideNumber_multiIndex sideNumberTable
 
- Static Protected Attributes inherited from MoFEM::RefElement
static BitRefEdges DummyBitRefEdges = BitRefEdges(0)
 
static const boost::shared_ptr< SideNumber > nullSideNumber
 

Detailed Description

keeps data about abstract VERTEX finite element

Definition at line 124 of file RefElementMultiIndices.hpp.

Constructor & Destructor Documentation

◆ RefElement_VERTEX()

MoFEM::RefElement_VERTEX::RefElement_VERTEX ( const boost::shared_ptr< RefEntity > &  ref_ents_ptr)

Definition at line 456 of file RefElementMultiIndices.cpp.

458 : RefElement(ref_ents_ptr) {
459 switch (ref_ents_ptr->getEntType()) {
460 case MBVERTEX:
461 break;
462 default:
463 THROW_MESSAGE("this works only for TRIs");
464 }
465}
#define THROW_MESSAGE(msg)
Throw MoFEM exception.
RefElement(const boost::shared_ptr< RefEntity > &ref_ents_ptr)

◆ ~RefElement_VERTEX()

virtual MoFEM::RefElement_VERTEX::~RefElement_VERTEX ( )
virtualdefault

Member Function Documentation

◆ getSideNumberPtr()

const boost::shared_ptr< SideNumber > & MoFEM::RefElement_VERTEX::getSideNumberPtr ( const EntityHandle  ent) const
virtual

Reimplemented from MoFEM::RefElement.

Definition at line 467 of file RefElementMultiIndices.cpp.

467 {
468 SideNumber_multiIndex::iterator miit = sideNumberTable.find(ent);
469 if (miit != sideNumberTable.end())
470 return *miit;
471 if (sPtr->ent == ent) {
472 miit =
474 .insert(boost::shared_ptr<SideNumber>(new SideNumber(ent, 0, 0, 0)))
475 .first;
476 return *miit;
477 }
478 if (type_from_handle(ent) == MBENTITYSET) {
479 miit =
481 .insert(boost::shared_ptr<SideNumber>(new SideNumber(ent, 0, 0, 0)))
482 .first;
483 return *miit;
484 }
485 THROW_MESSAGE("no side entity for vertex if its is not an vertex itself");
486 return nullSideNumber;
487}
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, signed char, &SideNumber::side_number > > > > > SideNumber_multiIndex
SideNumber_multiIndex for SideNumber.
auto type_from_handle(const EntityHandle h)
get type from entity handle
SideNumber_multiIndex sideNumberTable
static const boost::shared_ptr< SideNumber > nullSideNumber

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const RefElement_VERTEX &  e 
)
friend

Definition at line 488 of file RefElementMultiIndices.cpp.

488 {
489 os << *e.sPtr;
490 return os;
491}

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