11#ifndef geometryArrays_hh
12#define geometryArrays_hh
23 template<
class F,
class G>
30 *coord++ = (cell.*
fun)(*
pAcc++);
42 template<
class F,
class G>
51 for (
uint i = 0; i <
pX.size(); ++i) {
53 for (
uint j = 0; j <
pY.size(); ++j)
64 for (
uint i = 0; i <
pX.size(); ++i)
78 template<
class F,
class G>
90 for (
uint i = 0; i <
pX.size(); ++i) {
92 for (
uint j = 0; j <
pY.size(); ++j) {
94 for (
uint k = 0; k <
pZ.size(); ++k)
109 for (
uint i = 0; i <
pX.size(); ++i)
175 template<
int gdim,
int ldim>
284 inline bool alongEdge(
uint k,
uint dim) {
285 return (k == 0 && dim == 1) || (k == 3 && dim == 0)
286 || (k == 1 && dim == 0) || (k == 2 && dim == 1);
295 template<
int gdim,
int ldim>
ArrayCoord(const Edge1d &edge, const Array< Real > &p)
ArrayCoord(const Quad2d &quad, const Array< Real > &qX, const Array< Real > &qY, bool tensor=true)
ArrayCoord(const Edge2d &edge, const Array< Real > &p)
ArrayHessian(const EdgeNd &edge, const Array< Real > &p)
ArrayJacobian(const QuadNd &quad, const Array< Real > &qX, const Array< Real > &qY, bool tensor=true)
ArrayJacobian(const EdgeNd &edge, const Array< Real > &p)
ArrayJacobian(const QuadNd &quad, const Array< Real > &qX, const Array< Real > &qY, bool istensor=true)
ArrayJacobian(const QuadNd &quad, uint k, const Array< Real > &q)
ArrayJacobian(const Hexahedron3d &quad, const Array< Real > &qX, const Array< Real > &qY, const Array< Real > &qZ, bool istensor=true)
ArrayLocalCoord(const QuadNd &quad, uint k, uint dim, const Array< Real > &q)
uint size() const
Returns the requested size of the array.
void resize(const uint sz)
#define conceptsAssert(cond, exc)
void makeArray(const F &cell, const Array< Real > &p, G(F::*fun)(Real) const, Array< G > &array)
Set< F > makeSet(uint n, const F &first,...)