void fillNeededEntities(std::vector<NeededEntityType>& needed_entities)
 {
   needed_entities.resize(3);
   needed_entities[0].first = m_eMesh.edge_rank();  
   needed_entities[1].first = m_eMesh.face_rank();
   setToOne(needed_entities);
 }
 void fillNeededEntities(std::vector<NeededEntityType>& needed_entities)
 {
   needed_entities.resize(2);
   needed_entities[0].first = m_eMesh.edge_rank();    // edges have 2 nodes
   needed_entities[1].first = m_eMesh.element_rank(); 
   setToOne(needed_entities);
 }
 void fillNeededEntities(std::vector<NeededEntityType>& needed_entities)
 {
   needed_entities.resize(2);
   needed_entities[0].first = m_eMesh.edge_rank();    
   needed_entities[1].first = (m_eMesh.get_spatial_dim() == 2 ? m_eMesh.element_rank() : m_eMesh.face_rank());
   setToOne(needed_entities);
 }
 void fillNeededEntities(std::vector<NeededEntityType>& needed_entities)
 {
   //throw std::runtime_error("shouldn't call URP_Pyramid5_Pyramid5::fillNeededEntities()");
   needed_entities.resize(3);
   needed_entities[0].first = m_eMesh.edge_rank();  
   needed_entities[1].first = m_eMesh.face_rank();
   setToOne(needed_entities);
 }
      void fillNeededEntities(std::vector<NeededEntityType>& needed_entities)
      {
        if (m_eMesh.get_spatial_dim() == 2)
          {
            throw std::runtime_error("ERROR in shell quad class fillNeededEntities");
          }

        needed_entities.resize(1);
        needed_entities[0].first = m_eMesh.edge_rank();    
        //needed_entities[1].first = (m_eMesh.get_spatial_dim() == 2 ? m_eMesh.element_rank() : m_eMesh.face_rank());

        setToOne(needed_entities);
      }