11 static std::vector<IntPt *>
GQPyr(40,
nullptr);
15 if(
static_cast<int>(
GQPyr.size()) < order + 1)
16 GQPyr.resize(order + 1,
nullptr);
18 int nbPtUV = order / 2 + 1;
19 int nbPtW = order / 2 + 1;
20 int nbPtUV2 = nbPtUV * nbPtUV;
22 double *linPt, *linWt;
25 double *GJ20Pt, *GJ20Wt;
35 int iW = i / (nbPtUV2);
36 int iU = (i - iW * nbPtUV2) / nbPtUV;
37 int iV = (i - iW * nbPtUV2 - iU * nbPtUV);
39 double wt = linWt[iU] * linWt[iV] * GJ20Wt[iW];
41 double up = linPt[iU];
42 double vp = linPt[iV];
43 double wp = GJ20Pt[iW];
47 intpt[l].
pt[0] = 0.5 * (1 - wp) * up;
48 intpt[l].
pt[1] = 0.5 * (1 - wp) * vp;
49 intpt[l].
pt[2] = 0.5 * (1 + wp);
52 intpt[l++].
weight = wt * 4. / 3.;
61 int nbPtUV = order / 2 + 1;
62 int nbPtW = order / 2 + 1;
63 return nbPtUV * nbPtUV * nbPtW;