8#ifndef model_SimplexParent_H_
9#define model_SimplexParent_H_
18 template<
short int dim,
short int order>
30 const Eigen::Matrix<double,dim+1,SimplexTraits<dim,order>::nVertices>
b2p;
45 return b2p.template block<dim,SimplexTraits<dim,order>::nVertices>(0,0);
57 temp.col(
v).template segment<dim>(0)=
mesh->template simplexFactory<0>().getRef(vID).P0;
65 return (
b2p*bary).template segment<dim>(0);
69 Eigen::Matrix<double,dim,1>
center()
const
105 if(this->
operator[](
k)->xID==xID)
111 assert(n!=
nFaces &&
"CHILD NOT FOUND");
112 return this->operator[](n);
const BaseArrayType & children() const
SimplexTraits< dim, order >::SimplexIDType SimplexIDType
const ChildSimplexType & child(const int &n) const
const std::shared_ptr< ChildSimplexType > & child(const ChildIDType &xID) const
static constexpr int nFaces
SimplexTraits< dim, order-1 >::SimplexIDType ChildIDType
ChildSimplexType & child(const int &n)
Eigen::Matrix< double, dim, SimplexTraits< dim, order >::nVertices > vertexPositionMatrix() const
Eigen::Matrix< double, dim+1, SimplexTraits< dim, order >::nVertices > get_b2p(SimplicialMesh< dim > *const mesh, const SimplexIDType &xID) const
const Eigen::Matrix< double, dim+1, SimplexTraits< dim, order >::nVertices > b2p
The barycentric-coordinate to position transformation matrix.
Simplex< dim, order-1 > ChildSimplexType
SimplexTraits< dim, order >::BaseArrayType BaseArrayType
SimplexParent(SimplicialMesh< dim > *const mesh, const SimplexIDType &xID)
Eigen::Matrix< double, dim, 1 > bary2pos(const Eigen::Matrix< double, SimplexTraits< dim, order >::nVertices, 1 > &bary) const
Eigen::Matrix< double, dim, 1 > center() const
BaseArrayType & children()
std::array< std::shared_ptr< Simplex< dim, order-1 > >, nFaces > BaseArrayType
static constexpr int nFaces
static constexpr int nVertices
SimplexID< nVertices > SimplexIDType