9#ifndef INCG3178e8d1e7bf4366bcb00cdb4ebbf5fb
10#define INCG3178e8d1e7bf4366bcb00cdb4ebbf5fb
13#include "lf/base/base.h"
62 LF_VERIFY_MSG(lattice_const % 6 == 0,
63 "Lattice constant should be multiple of 6");
109 [[nodiscard]]
virtual std::vector<
110 Eigen::Matrix<int, Eigen::Dynamic, Eigen::Dynamic>>
134 const Eigen::Matrix<int, Eigen::Dynamic, Eigen::Dynamic>& polygon);
Represents a reference element with all its properties.
Abstract interface class for encoding topological local refinement
RefinementPattern & operator=(const RefinementPattern &)=default
virtual ~RefinementPattern()=default
lf::base::size_type LatticeConst() const
Provides information about lattice constant used.
virtual lf::base::size_type NumChildren(lf::base::dim_t codim) const =0
provide number of child entities of a given co-dimension to be created by refinement
lf::base::size_type lattice_const_
RefinementPattern(RefinementPattern &&)=default
RefinementPattern(const RefinementPattern &)=default
virtual std::vector< Eigen::Matrix< int, Eigen::Dynamic, Eigen::Dynamic > > ChildPolygons(lf::base::dim_t codim) const =0
provide lattice reference coordinates of vertices of child polygons
RefinementPattern(lf::base::RefEl ref_el)
Constructor setting reference element = topological type of entity.
lf::base::RefEl RefEl() const
Returns topological type of entity for which the current object is set up.
RefinementPattern & operator=(RefinementPattern &&)=default
RefinementPattern(lf::base::RefEl ref_el, lf::base::size_type lattice_const)
Constructor fixing reference element and refinement resolution.
unsigned int size_type
general type for variables related to size of arrays
unsigned int dim_t
type for dimensions and co-dimensions and numbers derived from them
Defines the Geometry interface and provides a number of classes that implement this interface + addit...
bool isParallelogram(const Eigen::Matrix< int, Eigen::Dynamic, Eigen::Dynamic > &polygon)
Test whether a lattice polygon describes a logical parallelogram.