4 #ifndef DUNE_GRID_UTILITY_VERTEXORDERFACTORY_HH 5 #define DUNE_GRID_UTILITY_VERTEXORDERFACTORY_HH 12 #include <dune/geometry/referenceelements.hh> 13 #include <dune/geometry/generalvertexorder.hh> 29 template<
class IdSet,
class Index = std::
size_t>
35 template<std::
size_t dim>
38 typedef GeneralVertexOrder<dim, Index>
type;
60 template<
typename Element>
64 std::size_t size =
referenceElement(e.geometry()).size(Element::mydimension);
66 std::vector<typename IdSet::IdType> ids(size);
67 for(std::size_t i = 0; i < size; ++i)
68 ids[i] = idset.
subId(e, i, Element::mydimension);
69 return GeneralVertexOrder<Element::mydimension, Index>
70 (e.type(), ids.begin(), ids.end());
76 #endif // DUNE_GRID_UTILITY_VERTEXORDERFACTORY_HH type of vertex order object may depend on the dimension of the element
Definition: vertexorderfactory.hh:36
IdType subId(const typename std::remove_const< GridImp >::type::Traits::template Codim< 0 >::Entity &e, int i, unsigned int codim) const
Get id of subentity i of co-dimension codim of a co-dimension 0 entity.
Definition: indexidset.hh:468
Id Set Interface.
Definition: common/grid.hh:347
Factory for GeneralVertexOrder objects using an IdSet.
Definition: vertexorderfactory.hh:30
GeneralVertexOrder< dim, Index > type
type of vertex order object
Definition: vertexorderfactory.hh:38
VertexOrder< Element::mydimension >::type make(const Element &e) const
construct a vertex ordering object
Definition: vertexorderfactory.hh:62
ALBERTA EL Element
Definition: misc.hh:52
auto referenceElement(const Geometry< mydim, cdim, GridImp, GeometryImp > &geo) -> decltype(referenceElement(geo, geo.impl()))
Definition: common/geometry.hh:411
Include standard header files.
Definition: agrid.hh:58
VertexOrderByIdFactory(const IdSet &idset_)
construct a factory object
Definition: vertexorderfactory.hh:51