340
341 int nb_nodes = 0;
342 int nb_edges = 0;
343 switch (ref_ents_ptr->getEntType()) {
344 case MBTRI:
345 nb_nodes = nb_edges = 3;
346 break;
347 case MBQUAD:
348 nb_nodes = nb_edges = 4;
349 break;
350 default:
352 }
353 int side_number, sense, offset;
355 int num_nodes;
358 rval = moab.get_connectivity(tri, conn, num_nodes,
true);
360 for (int nn = 0; nn < nb_nodes; nn++) {
362 .insert(
363 boost::shared_ptr<SideNumber>(new SideNumber(conn[nn], nn, 0, 0)));
364 }
365 for (int ee = 0; ee < nb_edges; ee++) {
367 rval = moab.side_element(tri, 1, ee, edge);
369 rval = moab.side_number(tri, edge, side_number, sense, offset);
372 .insert(boost::shared_ptr<SideNumber>(
373 new SideNumber(edge, ee, sense, offset)));
374 }
376 .insert(boost::shared_ptr<SideNumber>(new SideNumber(tri, 0, 0, 0)));
377}
#define MOAB_THROW(err)
Check error code of MoAB function and throw MoFEM exception.
#define THROW_MESSAGE(msg)
Throw MoFEM exception.
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.
static MoFEMErrorCodeGeneric< moab::ErrorCode > rval
RefElement(const boost::shared_ptr< RefEntity > &ref_ents_ptr)
boost::shared_ptr< RefEntity > & getRefEntityPtr() const
Get pointer to RefEntity.
SideNumber_multiIndex side_number_table
EntityHandle getEnt() const